ezylinux
ลินุกซ์ง่ายนิดเดียว

10
Sep

การติดตั้ง 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 ของท่านครับ เป็นยังไงครับไม่ยากเลยนะครับ

ลินุกซ์ง่ายนิดเดียว…

Related posts:

  1. Use SNMP and MRTG to monitor CPU, MEM and Disk use status จากบทความที่แล้วเรื่องการติดตั้ง mrtg กับ IOSTAT ซึ่งเป็นการติดตั้งวิธีการที่ประยุกต์เอาคำสั่งพวก Monitor tools มาช่วยในการทำงานกับ mrtg ซึงแตกต่างจากหลักการทั่วไปที่ส่วนมากจะนำ SNMP มาใช้ในการส่งข้อมูลสถานะต่างๆให้กับ mrtg และในบทความนี้จะพูดถึงการนำ SNMP มาใช้งานกับ mrtg ซึ่งเป็นวิธีที่มีความนิยมใช้งานกันอย่างแพร่หลายมากกว่าการติดตั้ง mrtg...
  2. Free memory by flushing pagecache and slabcache เราสามารถทำการ free memory ได้แบบ on demand โดยใช้คำสั่งง่ายๆ ซึ่งวิธีการนี้จะเป็นการ clear memory ในส่วนของ pagecache และ slabcache ในระบบ linux วิธีการก็คือ ใส่ค่า 1...
  3. Improve disk performance for Red Hat Enterprise Linux running in a VMware and xen environment. ในระบบ virtualization เช่น VMWare หรือ Xen source จะมีการใช้งาน Disk ผ่านทาง Host ดังนั้นประสิทธิภาพในการทำงานถ้าเราให้ Host จัดการการใช้ Disk I/O ให้กับ Guest OS...
  4. Change I/O Disk Scheduler without Reboot I/O Scheduler สำหรับ Hard disk หรือพวก block device จะมีอยู่ด้วยกัน 4 แบบกัน คือ anticipatory, noop, deadline และ CFQ และส่วนมาก default...
  5. Find information on the maximum amount of memory that system can handle ในระบบปฏิบัติการ Linux รุ่นใหม่ๆ จะสามารถใช้คำสั่งในการตรวจสอบว่า เครื่องสามารถที่จะรองรับ memory ได้มากที่สุดขนาดเท่าไหร่ โดยใช้คำสั่ง dmidecode ซึ่งเป็นคำสั่งในการดูค่าว่า systems BIOS สามารถรองรับ memory ได้มากที่สุดเท่าไหร่ ตัวอย่างการใช้งานคำสั่ง dmidecode ในการตรวจสอบว่า...

Category : Network