การติดตั้ง mrtg ในการ monitor สถานะต่างๆ ที่จะพูดถึงต่อไปนี้เป็นการนำ monitor tools มาประยุกต์ใช้งานในกับ mrtg ซึ่งการติดตั้งจำเป็นจะต้องเขียน script ขึ้นมาสำหรับการ monitor hardware นั้นๆ เพื่อให้ไม่เป็นการเสียเวลาเรามาเริ่มการติดตั้ง mrtg โดยใช้ IOSTAT tools หันเลยดีกว่าครับ
ขั้นแรกให้ทำการแก้ไขค่าของ apache web server สำหรับใช้งานกับ mrtg โดยเฉพาะ โดยใช้ไปแก้ไขที่ไฟล์
#vi /etc/httpd/conf/httpd.conf
แล้วทำการเพิ่มข้อความด้านล่างลงไป
DocumentRoot “/var/www/html/mrtg”
จากนั้นทำการสร้าง directory เพื่อใช้ในการเก็บข้อมูลเพื่อที่จะแสดงผลใน web
# mkdir /var/www/html/mrtg/cpu
# mkdir /var/www/html/mrtg/mem
# mkdir /var/www/html/mrtg/disk
จากนั้นทำการเขียน scripts เพื่อใช้ในการ Monitor ตามตัวอย่างด้านล่าง
สร้าง script monitor cpu
#vi /usr/local/mrtg/mrtg_cpu.sh
#!/bin/bash
cpuuser=`/usr/bin/sar -u 3 | grep Average | awk ‘{print $3}’`
cpusystem=`/usr/bin/sar -u 3 | grep Average | awk ‘{print $5}’`
UPtime=`/usr/bin/uptime | awk ‘{print $3″” $4″” $5}’`
echo $cpuuser
echo $cpusystem
echo $UPtime
hostname
สร้าง script monitor memory
#vi /usr/local/mrtg/mrtg_mem.sh
#!/bin/bash
#run this script to check the mem usage.
totalmem=`/usr/bin/sar -u -r 3 | grep Average |awk ‘{print $3}’`
usedmem=`/usr/bin/sar -u -r 3 | grep Average |awk ‘{print $3}’`
UPtime=`/usr/bin/uptime | awk ‘{print $3″” $4″” $5}’`
echo $totalmem
echo $usedmem
echo $UPtime
hostname
สร้าง script monitor disk
#vi /usr/local/mrtg/mrtg_disk.sh
#!/bin/bash
hd=sda
disk=/dev/$hd
UPtime=`/usr/bin/uptime |awk ‘{print $3″”$4″”$5}’`
KBread_sec=`iostat -x $disk|grep $hd |awk ‘{print $8}’`
KBwrite_sec=`iostat -x $disk|grep $hd |awk ‘{print $9}’`
echo $KBread_sec
echo $KBwrite_sec
echo $UPtime
hostname
จากนั้นทำการแก้ไข permission ของไฟล์ที่เราได้สร้างขึ้นมาด้วยคำสั่ง
#chmod 755 /usr/local/mrtg/mrtg_cpu.sh /usr/local/mrtg/mrtg_mem.sh /usr/local/mrtg/mrtg_disk.sh
ขั้นตอนต่อมาจะเป็นการสร้างไฟล์ config ของ mrtg เพื่อทำการ Monitor สถานะต่างๆ
Monitor CPU
#vi /var/www/mrtg/mrtg_cfg_cpu
WorkDir: /var/www/html/mrtg/cpu
Target[ip server หรือ ip server หรือ localhost]: `/usr/local/mrtg/mrtg_cpu.sh`
MaxBytes[ip server หรือ localhost]: 100
Options[ip server หรือ localhost]: gauge,nopercent,growright
YLegend[ip server หรือ localhost]: CPUloading(%)
ShortLegend[ip server หรือ localhost]: %
LegendO[ip server หรือ localhost]: CPU_USED_LOAD;
LegendI[ip server หรือ localhost]: CPU_SYSTEM_LOAD;
Title[ip server หรือ localhost]:CPUWORKLOAD
PageTop[ip server หรือ localhost]:
Monitor Memory
#vi /var/www/mrtg/mrtg_cfg_mem
WorkDir: /var/www/html/mrtg/mem
#Language:GB2313
Target[ip server หรือ localhost]: `/usr/local/mrtg/mrtg_mem.sh`
MaxBytes[ip server หรือ localhost]: 2048000
kmg[ip server หรือ localhost]: KB,MB
kilo[ip server หรือ localhost]: 1024
Options[ip server หรือ localhost]: gauge,nopercent,growright
YLegend[ip server หรือ localhost]: Memory Usage:
Legend1[ip server หรือ localhost]: Total Memory:
Legend2[ip server หรือ localhost]: Used Memory:
LegendI[ip server หรือ localhost]: Total Memory:
LegendO[ip server หรือ localhost]: Used Memory:
Title[ip server หรือ localhost]: MEMORYWORKLOAD
#PageTop[ip server หรือ localhost]: Memory
Monitor Disk
#vi /var/www/mrtg/mrtg_cfg_disk
WorkDir: /var/www/html/mrtg/disk
Target[disk]: `/usr/local/mrtg/mrtg_disk.sh`
Title[disk]: Disk HDA I/O Utilization Report
#Unscaled[disk]: dwym
MaxBytes[disk]: 10240000
PageTop[disk]: Disk I/O Utilization Report
kmg[disk]: KB,MB,GB
LegendI[disk]: Disk I/O KBread/sec
LegendO[disk]: Disk I/O KBwrite/sec
Legend1[disk]: Disk I/O KBread/sec
Legend2[disk]: Disk I/O KBwrite/sec
YLegend[disk]: Megabytes
ShortLegend[disk]: &
Options[disk]: growright,gauge,nopercent
ขั้นต่อมาทำการรันคำสั่งเพื่อเริ่มต้นการใช้งาน mrtg ครับด้วยคำสั่งด้านล่าง(ขั้นตอนนี้ข้อมูลในกราฟจะยังไม่ครับเนื่องจากเป็นการรันครั้งแรกครับ)
# env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg_cfg_cpu
# cd /var/www/html/mrtg/cpu
# mv localhost.html index.html
# env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg_cfg_mem
# cd /var/www/html/mrtg/mem
# mv localhost.html index.html
# env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg_cfg_disk
# cd /var/www/html/mrtg/disk
# mv localhost.html index.html
ขั้นตอนสุดท้ายแล้วครับ ให้ใส่คำสั่งบางส่วนของข้างบนใน crontab ครับ เพื่อตั้งเวลาการรันคำสั่ง
#crontab -e
*/3 * * * * /usr/bin/env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg_cfg_cpu
*/3 * * * * /usr/bin/env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg_cfg_mem
*/3 * * * * /usr/bin/env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg_cfg_disk
หลังจากทำการ config เสร็จเรียบร้อยแล้วรอสักระยะหนึ่งครับ เวลาเข้าไปดูให้เข้าไปที่ http://SERVER หรือ IP ของท่านครับ เป็นยังไงครับไม่ยากเลยนะครับ
ลินุกซ์ง่ายนิดเดียว…
Leave a Reply