การเก็บ log accounting บน PSU-12

จาก Wiki Opensource

วิธีการนี้เป็นแบบ manual ให้ใช้วิธีการติดตั้งอัตโนมัติจาก psu12-sritrang แทน ที่นี่ http://opensource.cc.psu.ac.th/PSU-Open-server

บันทึกนี้ปรับปรุงล่าสุดเมื่อ 29-02-2555

ดูแลโดย


  • ทดสอบกับวินโดวส์ XP และ 7
  • เป็นการเก็บเวลาที่ใช้งาน นับตั้งแต่ window logon จนกระทั่ง logoff
  • ส่งข้อมูลไปเก็บไว้บน PSU-12


  1. ไปทำงานบนวินโดวส์ ด้วยสิทธิ์ระดับ administrator
  2. ปรับแต่งวินโดวส์ดังนี้
    สั่ง RUN โปรแกรม control folders ได้หน้าต่าง Folder Options แถบ View ส่วนของ Advanced settings:
    ที่ช่อง Hidden files and folders ให้ติ๊กเลือกเป็น Show hidden files and foldes
    และอย่าติ๊กช่อง Hide extensions for known file types แล้วคลิก OK

    สั่ง RUN โปรแกรม gpedit.msc ได้หน้าต่าง Local Group Policy Editor
    ไปที่ User Configuration -> Windows Setting คลิกเลือก Script (Logon/Logoff)
    จะได้หัวข้อ Logon และ Logoff ออกมาเพิ่ม ไม่ต้องทำอะไรอีก ให้ Exit ออกจากโปรแกรมได้เลย

    บนวินโดวส์ 7 ต้องปิด User Account Control (UAC) ก่อน ทำดังนี้
    สั่ง RUN โปรแกรม UserAccountControlSettings ได้หน้าต่าง User Account Control Settings
    ให้เลื่อนลงไปเลือก Never notify แล้วกดปุ่ม OK
    ถ้ามีคำถามให้ restart windows ก็ทำตาม
  3. ต้องติดตั้งโปรแกรม curl ก่อน ให้ดาวน์โหลดจาก http://ftp.psu.ac.th/pub/curl/curl.exe
    มาติดตั้งเก็บไว้ที่ c:\curl.exe แล้วมาที่แฟ้มนี้ คลิกขวาเมาส์ เลือก Properties
    ได้หน้าต่าง curl.exe Properties ที่แถบ General ไปด้านล่างสุดที่ Secutiry: ให้คลิกปุ่ม Unblock แล้วคลิกปุ่ม OK
  4. ดาวน์โหลดแฟ้ม http://ftp.psu.ac.th/pub/psu-12/logticker.vbs
    มาเก็บไว้ที่ C:\WINDOWS\system32\GroupPolicy\User\Scripts\Logon\logticker.vbs
    ตรวจสอบว่าว่าแฟ้มที่ดาวน์โหลดมายังมีนามสกุลเป็น vbs เหมือนเดิม เพราะบางครั้งวินโดวส์เปลี่ยนเพิ่มเป็น vbs.txt
    แก้ไขแฟ้ม logticker.vbs ตามความเหมาะสมคือ
    บรรทัดที่ 5 ปรับปรุงเลข ip ให้เป็นเลข server
    บรรทัดที่ 7 ปรับปรุงช่วงระยะเวลาที่ต้องการส่งข้อมูลไปเก็บบน server หน่วยเป็น msec ตัวอย่าง 120000 = 120 วินาที = 2 นาที
    บรรทัดที่ 9 ปรับปรุง header ของ log file เพื่อความสะดวกในการแยกข้อมูล เช่นตั้งว่า LAB105 เป็นต้น
  5. ดาวน์โหลดแฟ้ม http://ftp.psu.ac.th/pub/psu-12/stopticker.vbs
    มาเก็บไว้ที่ C:\WINDOWS\system32\GroupPolicy\User\Scripts\Logoff\stopticker.vbs
    ตรวจสอบว่าว่าแฟ้มที่ดาวน์โหลดมายังมีนามสกุลเป็น vbs เหมือนเดิม เพราะบางครั้งวินโดวส์เปลี่ยนเพิ่มเป็น vbs.txt
    แก้ไขแฟ้ม stopticker.vbs ไปที่บรรทัดที่ 5 ปรับปรุงเลข ip ให้เป็นเลข server
  6. จัดการให้แฟ้ม logticker.vbs ทำงานทุกครั้งที่มีการ logon และแฟ้ม stopticker.vbs ทำงานทุกครั้งที่ logoff

    สั่ง RUN โปรแกรม gpedit.msc ได้หน้าต่าง Local Group Policy Editor
    ไปที่ User Configuration -> Windows Setting -> Script (Logon/Logoff) -> Logon
    แถบ Scripts ให้คลิกปุ่ม Add... ได้หน้าต่าง Add a Script
    ช่อง Script Name: ป้อนว่า logticker.vbs แล้วคลิก OK แล้วคลิก OK

    ไปที่ User Configuration -> Windows Setting -> Script (Logon/Logoff) -> Logoff
    แถบ Scripts ให้คลิกปุ่ม Add... ได้หน้าต่าง Add a Script
    ช่อง Script Name: ป้อนว่า stopticker.vbs แล้วคลิก OK แล้วคลิก OK
  7. ดูรายงานวิเคราะห์การใช้งานด้วยคำสั่ง
    sudo sh /var/www/ticker/get-pc-usage.sh
    ดูตัวอย่างใช้งานเพิ่มเติมที่ตอนต้นของแฟ้ม /var/www/ticker/get-pc-usage.sh คือ
    # usage: sh get-pc-usage.sh option START_DATE(YYYY/MM/DD) END_DATE(YYYY/MM/DD)
    # option= -ip or -mac or -user and/or without -period
    # sample: sh get-pc-usage.sh -ip 2012/01/11 2012/02/13
    # sample: sh get-pc-usage.sh -user -period 2012/01/11 2012/02/13
    ค่า -ip คือแสดงเวลาใช้งานหน่วยเป็นวินาที แยกตามเลข ip เรียงลำดับตามเลข ip
    ค่า -mac คือแสดงเวลาใช้งานหน่วยเป็นวินาที แยกตามเลข mac เรียงลำดับตามเลข mac
    ค่า -user คือแสดงเวลาใช้งานหน่วยเป็นวินาที แยกตามชื่อผู้ใช้ เรียงลำดับตามชื่อผู้ใข้
    ค่า -period คือให้แสดงผลเรียงลำดับตามเวลาที่ใช้งาน
    รูปแบบวันที่ในการใช้งาน YYYY/MM/DD ทั้งวันเริ่มต้นและวันสิ้นสุด