คู่มือนี้จะแนะนำ dstat เครื่องมือตรวจสอบระบบแบบบรรทัดคำสั่งที่รวมฟังก์ชันของ vmstat, iostat, netstat, ifstat ไว้ในโปรแกรมเดียว นักพัฒนา Dag Wieers เรียกว่า "ตัวเลือกที่หลากหลายแทนเครื่องมือเดิมๆ" และ "เอาชนะข้อจำกัดของเครื่องมือเก่า พร้อมเพิ่มฟีเจอร์ใหม่" ผมถือว่า dstat คือ "แม่ของเครื่องมือตรวจสอบระบบบรรทัดคำสั่งทั้งหมด" - ติดตั้งง่าย ใช้งานง่าย ปรับแต่งได้ และสร้างรายงานที่นำไปพลอตกราฟได้
การติดตั้ง Dstat
ดาวน์โหลดจากหน้าโครงการ: https://dag.wieers.com/home-made/dstat/ เลือกแพ็กเกจที่ตรงกับ Distro ของคุณ ตัวอย่างสำหรับ RHEL 4:
# wget https://dag.wieers.com/rpm/packages/dstat/dstat-0.6.6-1.el4.rf.noarch.rpm
# rpm -Uvh dstat-0.6.6-1.el4.rf.noarch.rpm
ถ้ามี Dependency ขาด ให้ติดตั้งเพิ่ม แล้วลองใหม่ (dstat มี dependency น้อยมาก)
การใช้งานพื้นฐาน
# dstat
กด Ctrl+C เพื่อออก ผลลัพธ์จะแสดง CPU, Disk, Network, Paging, System ทุก 2 วินาที
ตัวเลือกที่นิยมใช้
# dstat -CDN- แสดงเฉพาะ CPU, Disk, Network# dstat -h- ดูวิธีใช้ทั้งหมด# dstat 10- ปรับ Interval เป็น 10 วินาที# dstat 3 5- อ่านทุก 3 วินาที รวม 5 รอบ
ส่งออกเป็น CSV เพื่อพลอตกราฟ
# dstat --output /tmp/dstat_data.csv -CDN
รันคำสั่งนี้ขณะทดสอบแอป/ระบบ กด Ctrl+C เมื่อเสร็จ เปิดไฟล์ CSV ด้วย Excel/LibreOffice Calc แล้วสร้างกราฟได้ทันที
ส่งรายงานทางอีเมลอัตโนมัติ
สคริปต์ตัวอย่าง: รัน dstat 3 ชั่วโมง อ่านทุก 30 วินาที ส่งอีเมลพร้อมไฟล์ CSV
#!/bin/bash
dstat --output /tmp/dstat_data_mail.csv -CDN 30 360
mutt -a /tmp/dstat_data_mail.csv -s "Dstat Report for 3 hour run" me@myemailid.com < /dev/null
บันทึกเป็น dstat_script.sh ให้สิทธิ์รัน และรันเบื้องหลัง:
# chmod +x dstat_script.sh
# nohup ./dstat_script.sh &
สามารถเพิ่มใน Cron ให้รันทุกวันได้
สรุป
Dstat ให้ข้อมูลละเอียด ความถี่ และลักษณะข้อมูลที่คุณต้องการครบครัน ช่วยลดคืนไม่หลับจากปัญหา Performance ได้จริง