How to Using sar to Monitor Server Statistics

คำสั่ง sar (System Activity Reporter) เป็นคำสั่งบน Linux, UNIX และ Solaris สำหรับแสดงรายงาน หรือตรวจสอบสถานะของระบบเซิร์ฟเวอร์ เช่น สถิติของการใช้งาน CPU, I/O, Disk , Memory และ File system เป็นต้น

ซึ่งคำสั่ง sar และ iostat บน SUSE Linux จะถูกเก็บรวมไว้ในโปรแกรมที่ชื่อ sysstat ซึ่งจะต้องติดตั้งก่อน ถึงจะสามารถใช้คำสั่ง sar และ iostat ได้

การทำงานของ SAR จะทำหน้าที่บันทึกข้อเป็นไว้เป็นระยะๆ ซึ่งจะถูกเขียนลงที่พาท /var/log/sa/saDay เช่น /var/log/sa/sa29 คุณสามารถตั้งเวลา (cron) กำหนดให้ SAR ทำงานได้ โดยอาจจะเขียนเป็นไฟล์สคริปต์

ติดตั้งโปรแกรม sysstat

$ yast -i sysstat

รูปแบบการใช้คำสั่ง: sar -function

Functions:
# -a reports usage of file access system calls.
# -b reports buffer cache usage and hit rate.
# -c reports system calls.
# -d report block device activity.
# -g report paging activity (V.4 only)
# -k report kernel memory allocation activity. (v.4 only)
# -m report message and sephamore activity.
# -p report paging activity.
# -q report average queue length waiting for CPU.
# -r report unused memory pages and disk blocks.
# -u report CPU utilization.
# -v report status of system tables.
# -w report swapping and paging activity.
# -x report RFS operation (V.4 only)
# -y reports terminal activity.
# -A reports all data (same as sar -udqbwcayvmprgkxSDC)
# -C reports RFS buffer caching overhead.
# -Db report buffer cache usage for RFS and local activity.
# -Dc report system calls separately for RFS and local activity.
# -Du report CPU utilization by RFS and local activity.
# -S reports RFS server and request queue status.

ตัวอย่าง การใช้งาน

sar [ options ] [ <interval> [ <count> ]

1. CPU Report

$ sar -u 2 5

2. Memory Switching and Swapping Activity Report

$ sar -w 5 5

3. Buffer Activity Report

$ sar -b 1 5

4. ตั้งเวลาบันทึกสถานะเซิร์ฟเวอร์

$ crontab -e
0 * * * 0-6 /usr/lib/sa/sa1
20,40 8-18 * * 1-5 /usr/lib/sa/sa1
5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A

สั่งให้บันทึกข้อมูลลง log file ในทุกๆ ชั่งโมง และทุกๆ วัน
สั่งให้บันทึกลง log file ทุกๆ 20 นาที, 40 นาที (ทุกๆ 20 นาที) ของชั่งโมง ตั้งแต่เวลา 8 โมงเช้า ถึง 6 โมงเย็น ระหว่างวันจันทร์ถึงวันศุกร์
สั่งให้สคริปต์ชื่อ sa2 ทำงานเวลา 6โมง 5 นาที เฉพาะวันจันทร์ ถึง วันศุกร์  ซึ่งสคริปต์ Sa2 จะเขียนรายงานจากข้อมูล binary.

*** เราไม่สามารถดู log files จากคำสั่ง cat, vi ได้ต้องใช้คำสั่ง sar เท่านั้น เพราะ log เป็น binary data.


การดู log files monitoring

รูปแบบ: sar -function -f <path file>

$ sar -u -f /var/log/sa/sa29

$ sar -b -f /var/log/sa/sa29

$ sar -w -f /var/log/sa/sa29

ข้อมูลเพิ่มเติม
//www.remote-dba.net/t_tuning_sar.htm
//www.informit.com/articles/article.aspx?p=30362&seqNum=6
//www.netadmintools.com/art576.html
//www.itworld.com/sar-performance-analysis-nlsunix-080529
//www.ibm.com/developerworks/aix/library/au-satslowsys.html

Memory Switching and Swapping Activity Report