คำสั่ง free ใน ubuntu 16.04 ให้ output ต่างจาก 14.04 และก่อนหน้านั้น&lt;br /&gt;<br /><br />
แก้ไขบรรทัด FREE= เป็นด้งนี้&lt;br /&gt;<br /><br />
codename=$(lsb_release -c | awk '{print $2}')&lt;br /&gt;<br /><br />
if [ "${codename}" = "trusty" ] || [ "${codename}" = "precise" ]; then&lt;br /&gt;<br /><br />
&amp;nbsp; FREE=$(echo "$(free|grep "/cache:"|awk '{print $4}') * 1000"|bc)&lt;br /&gt;<br /><br />
else&lt;br /&gt;<br /><br />
&amp;nbsp; FREE=$(echo "$(free|grep "Mem:"|awk '{print $6}') * 1000"|bc)&lt;br /&gt;<br /><br />
fi&lt;br /&gt;<br /><br />
ทดสอบกับ ubuntu 10.04, 12.04, 14.04, 16.04&lt;br /&gt;<br /><br />
ตัวอย่างต้นแบบนี้เหมาะสำหรับเก็บข้อมูลของ server โดยไม่จำเป็นต้องใช้ snmp&lt;br /&gt;<br /><br />
หากต้องการใช้ snmp ต้องมีการติดตั้งโปรแกรม snmpd มาก่อน มีคำแนะนำตามบันทึก ติดตั้ง snmpd บน ubuntu&lt;br /&gt;<br /><br />
หากยังไม่ติดตั้ง apache &amp;nbsp;ให้ติดตั้งด้วยคำสั่ง sudo apt-get install apache2&lt;br /&gt;<br /><br />
ติดตั้งโปรแกรม mrtg ด้วยคำสั่ง &amp;nbsp;sudo apt-get install mrtg&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
หากได้หน้าต่างว่า Configuring mrtg&lt;br /&gt;<br /><br />
... Make /etc/mrtg.cfg owned by and readable only by root?&lt;br /&gt;<br /><br />
ให้ตอบ &amp;lt;yes&amp;gt; ระบบจะติดตั้งต่อจนเสร็จ&lt;br /&gt;<br /><br />
สร้างพื้นที่เก็บข้อมูลของ mrtg ไว้ที่ /var/www/mrtg &amp;nbsp;ด้วยคำสั่ง &amp;nbsp; sudo mkdir -p /var/www/mrtg&lt;br /&gt;<br /><br />
สร้าง directory สำหรับเก็บข้อมูลแสดงผล ด้วยคำสั่ง sudo mkdir -p /var/www/mrtg/myhost&lt;br /&gt;<br /><br />
สร้าง directory สำหรับเก็บการตั้งค่า sudo mkdir -p /etc/mrtg&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/apache2/conf.d/mrtg &amp;nbsp;มีข้อความว่า&lt;br /&gt;<br /><br />
Alias /mrtg /var/www/mrtg&lt;br /&gt;<br /><br />
&amp;lt;location mrtg=""&amp;gt;&lt;br /&gt;<br /><br />
&amp;nbsp; &amp;nbsp; Order deny,allow&lt;br /&gt;<br /><br />
&amp;nbsp; &amp;nbsp; Deny from all&lt;br /&gt;<br /><br />
&amp;nbsp; &amp;nbsp; Allow from all&lt;br /&gt;<br /><br />
&amp;lt;/location&amp;gt;&lt;br /&gt;<br /><br />
แล้วสั่งให้ apache ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/apache2 force-reload&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
บางทีมี bug พื้นที่ /var/lock/mrtg ถูกลบหายไปหลังการรีบูทเครื่อง&lt;br /&gt;<br /><br />
ต้องสร้างพื้นที่ /var/lock/mrtg &amp;nbsp;ด้วยคำสั่ง sudo mkdir -p /var/lock/mrtg&lt;br /&gt;<br /><br />
และต้องสร้างทุกครั้งที่บูทเครื่องด้วย โดยการเพิ่มคำสั่งไว้ในแฟ้ม /etc/rc.local&lt;br /&gt;<br /><br />
ด้วยการเพิ่มบรรทัดคำสั่งว่า mkdir -p /var/lock/mrtg&lt;br /&gt;<br /><br />
ลองสร้างกราฟ CPU Load และ Idle &amp;nbsp;โดยไม่ได้ใช้ข้อมูลจาก snmp แต่ดึงมาจาก shell script ชื่อ /etc/mrtg/get-cpu.sh&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/get-cpu.sh มีข้อมูลว่า&lt;br /&gt;<br /><br />
#!/bin/bash&lt;br /&gt;<br /><br />
IDLE=$(vmstat 1 2|tail -1|awk '{print $15}')&lt;br /&gt;<br /><br />
TEMP=$(uptime|grep -o "load average.*"|awk '{print $3}'|cut -d',' -f 1)&lt;br /&gt;<br /><br />
LOAD=$(echo "${TEMP:-0} * 100"|bc|cut -d'.' -f 1)&lt;br /&gt;<br /><br />
TIME=$(uptime)&lt;br /&gt;<br /><br />
echo "${IDLE}"&lt;br /&gt;<br /><br />
echo "${LOAD}"&lt;br /&gt;<br /><br />
echo "$TIME"&lt;br /&gt;<br /><br />
echo "MYHOST"&lt;br /&gt;<br /><br />
เสร็จแล้วแก้ไขให้ execute ได้ด้วยคำสั่ง sudo chmod +x /etc/mrtg/get-cpu.sh&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/myhost-cpu.cfg มีข้อมูลตัวอย่างประมาณว่า&lt;br /&gt;<br /><br />
WorkDir: /var/www/mrtg/myhost&lt;br /&gt;<br /><br />
Target[myhost-cpu]:`/etc/mrtg/get-cpu.sh`&lt;br /&gt;<br /><br />
MaxBytes[myhost-cpu]: 10000&lt;br /&gt;<br /><br />
Title[myhost-cpu]: Idle CPU and Load average&lt;br /&gt;<br /><br />
PageTop[myhost-cpu]: &amp;lt;/yes&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;<br /><br />
&amp;lt;h1&amp;gt;&lt;br /&gt;<br /><br />
Idle CPU and Load average&amp;lt;/h1&amp;gt;&lt;br /&gt;<br /><br />
ShortLegend[myhost-cpu]: %&lt;br /&gt;<br /><br />
YLegend[myhost-cpu]: CPU and Load Utilization&lt;br /&gt;<br /><br />
Legend1[myhost-cpu]: Idle CPU&lt;br /&gt;<br /><br />
Legend2[myhost-cpu]: Load average&lt;br /&gt;<br /><br />
LegendI[myhost-cpu]: &amp;nbsp;Idle&lt;br /&gt;<br /><br />
LegendO[myhost-cpu]: &amp;nbsp;Load&lt;br /&gt;<br /><br />
Options[myhost-cpu]: gauge, nopercent, growright&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ทดสอบสร้างภาพต้นแบบด้วยคำสั่ง sudo env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-cpu.cfg&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้าง index.html สำหรับ homepage mrtg ของ myhost ด้วยคำสั่ง&lt;br /&gt;<br /><br />
sudo indexmaker --column=1 --output=/var/www/mrtg/myhost/index.html /etc/mrtg/myhost-cpu.cfg&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้มสั่งการ mrtg ด้วยการสร้างแฟ้ม /etc/mrtg/mymrtg.sh ให้มีข้อความว่า&lt;br /&gt;<br /><br />
env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-cpu.cfg&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ทดสอบดูผลงานได้ที่เวบ http://localhost/mrtg/myhost&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/cron.d/mrtg-myhost ให้เป็นดังนี้&lt;br /&gt;<br /><br />
*/5 * * * * root &amp;nbsp;sh /etc/mrtg/mymrtg.sh&lt;br /&gt;<br /><br />
แล้วสั่งให้ cron ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/cron restart&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
หากต้องการเพิ่มกราฟ mrtg เส้นอื่นเข้าไปอีก ก็เพิ่มคำสั่งต่อท้ายบรรทัดในแฟ้ม /etc/mrtg/mymrtg.sh ได้เลย&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
โดยการสร้างแฟ้มชื่อ /etc/mrtg/mymrtg.sh มีข้อมูลดังตัวอย่างคือ&lt;br /&gt;<br /><br />
#!/bin/bash&lt;br /&gt;<br /><br />
if [ ! -d /var/lock/mrtg ] ; then&lt;br /&gt;<br /><br />
&amp;nbsp; mkdir -p /var/lock/mrtg&lt;br /&gt;<br /><br />
fi&lt;br /&gt;<br /><br />
env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-cpu.cfg&lt;br /&gt;<br /><br />
ตัวอย่างหากต้องการตั้งค่าให้ cron สั่งให้ mrtg บันทึกค่าทุกๆ 5 นาที&lt;br /&gt;<br /><br />
ให้สร้างแฟ้ม /etc/cron.d/mrtg-myhost ให้มีข้อความว่า&lt;br /&gt;<br /><br />
*/5 * * * * root &amp;nbsp;env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-cpu.cfg&lt;br /&gt;<br /><br />
แล้วสั่งให้ cron ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/cron restart&lt;br /&gt;<br /><br />
เพิ่มกราฟ Memory Free และ Swap &amp;nbsp;โดยได้ใช้ข้อมูลจาก snmp แต่ดึงมาจาก shell script ชื่อ /etc/mrtg/get-memory.sh&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/get-memory.sh มีข้อมูลว่า&lt;br /&gt;<br /><br />
#!/bin/bash&lt;br /&gt;<br /><br />
FREE=$(echo "$(free|grep "/cache:"|awk '{print $4}') * 1000"|bc)&lt;br /&gt;<br /><br />
SWAP=$(free|grep "Swap:"|awk '{print $3}')&lt;br /&gt;<br /><br />
TIME=$(uptime)&lt;br /&gt;<br /><br />
echo "${FREE}"&lt;br /&gt;<br /><br />
echo "${SWAP}"&lt;br /&gt;<br /><br />
echo "$TIME"&lt;br /&gt;<br /><br />
echo "MYHOST"&lt;br /&gt;<br /><br />
เสร็จแล้วแก้ไขให้ execute ได้ด้วยคำสั่ง sudo chmod +x /etc/mrtg/get-memory.sh&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/myhost-memory.cfg มีข้อมูลตัวอย่างประมาณว่า&lt;br /&gt;<br /><br />
WorkDir: /var/www/mrtg/myhost&lt;br /&gt;<br /><br />
Target[myhost-mem]:`/etc/mrtg/get-memory.sh`&lt;br /&gt;<br /><br />
MaxBytes[myhost-mem]: 20000000000&lt;br /&gt;<br /><br />
Title[myhost-mem]: Free Memory and Swap Used&lt;br /&gt;<br /><br />
PageTop[myhost-mem]: &amp;lt;h1&amp;gt;&lt;br /&gt;<br /><br />
Free Memory and Swap Used&amp;lt;/h1&amp;gt;&lt;br /&gt;<br /><br />
ShortLegend[myhost-mem]: bytes&lt;br /&gt;<br /><br />
YLegend[myhost-mem]: bytes&lt;br /&gt;<br /><br />
LegendI[myhost-mem]: &amp;nbsp;Free Memory:&lt;br /&gt;<br /><br />
LegendO[myhost-mem]: Swap Used:&lt;br /&gt;<br /><br />
Legend1[myhost-mem]: Free memory, in bytes&lt;br /&gt;<br /><br />
Legend2[myhost-mem]: Swap Used, in bytes&lt;br /&gt;<br /><br />
Options[myhost-mem]: gauge, nopercent, growright&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ทดสอบสร้างภาพต้นแบบด้วยคำสั่ง sudo env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-memory.cfg&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ปรับปรุง index.html สำหรับ homepage mrtg ของ myhost ด้วยคำสั่ง&lt;br /&gt;<br /><br />
sudo indexmaker --column=1 --output=/var/www/mrtg/myhost/index.html /etc/mrtg/myhost-cpu.cfg &amp;nbsp;/etc/mrtg/myhost-memory.cfg&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
แก้ไขแฟ้ม /etc/mrtg/mymrtg.sh ต่อท้ายแฟ้มเพิ่มบรรทัดข้อความว่า&lt;br /&gt;<br /><br />
env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-memory.cfg&lt;br /&gt;<br /><br />
เพิ่มกราฟ CPU wait for IO เพียงเส้นเดียว ไม่ได้ใช้ข้อมูลจาก snmp แต่ดึงมาจาก shell script ชื่อ /etc/mrtg/get-cpu-io.sh&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/get-cpu-io.sh มีข้อมูลว่า&lt;br /&gt;<br /><br />
#!/bin/bash&lt;br /&gt;<br /><br />
CPU_WAIT_IO=$(vmstat 1 2|tail -1|awk '{print $16}')&lt;br /&gt;<br /><br />
TIME=$(uptime)&lt;br /&gt;<br /><br />
echo "$CPU_WAIT_IO"&lt;br /&gt;<br /><br />
echo "0"&lt;br /&gt;<br /><br />
echo "$TIME"&lt;br /&gt;<br /><br />
echo "MYHOST"&lt;br /&gt;<br /><br />
เสร็จแล้วแก้ไขให้ execute ได้ด้วยคำสั่ง sudo chmod +x /etc/mrtg/get-cpu-io.sh&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/myhost-cpu-io.cfg มีข้อมูลตัวอย่างประมาณว่า&lt;br /&gt;<br /><br />
WorkDir: /var/www/mrtg/myhost&lt;br /&gt;<br /><br />
Target[myhost-cpu-io]:`/etc/mrtg/get-cpu-io.sh`&lt;br /&gt;<br /><br />
MaxBytes[myhost-cpu-io]: 100&lt;br /&gt;<br /><br />
Title[myhost-cpu-io]: CPU Time spent waiting for IO&lt;br /&gt;<br /><br />
PageTop[myhost-cpu-io]: &amp;lt;h1&amp;gt;&lt;br /&gt;<br /><br />
CPU Time spent waiting for IO&amp;lt;/h1&amp;gt;&lt;br /&gt;<br /><br />
ShortLegend[myhost-cpu-io]: %&lt;br /&gt;<br /><br />
YLegend[myhost-cpu-io]: wait IO&lt;br /&gt;<br /><br />
Legend1[myhost-cpu-io]: current:&lt;br /&gt;<br /><br />
Legend2[myhost-cpu-io]:&lt;br /&gt;<br /><br />
LegendI[myhost-cpu-io]: current, %&lt;br /&gt;<br /><br />
LegendO[myhost-cpu-io]:&lt;br /&gt;<br /><br />
Options[myhost-cpu-io]: gauge, nopercent, growright&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ทดสอบสร้างภาพต้นแบบด้วยคำสั่ง sudo env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-cpu-io.cfg&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ปรับปรุง index.html สำหรับ homepage mrtg ของ myhost ด้วยคำสั่ง&lt;br /&gt;<br /><br />
sudo indexmaker --column=1 --output=/var/www/mrtg/myhost/index.html /etc/mrtg/myhost-cpu.cfg &amp;nbsp;/etc/mrtg/myhost-memory.cfg /etc/mrtg/myhost-cpu-io.cfg&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
แก้ไขแฟ้ม /etc/mrtg/mymrtg.sh ต่อท้ายแฟ้มเพิ่มบรรทัดข้อความว่า&lt;br /&gt;<br /><br />
env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-cpu-io.cfg&lt;br /&gt;<br /><br />
เพิ่มกราฟ network traffic &amp;nbsp;ของ eth0 โดยได้ใช้ข้อมูลจาก snmp แต่ดึงมาจาก shell script ชื่อ /etc/mrtg/get-speed-eth0.sh&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/get-speed-eth0.sh มีข้อมูลว่า&lt;br /&gt;<br /><br />
#!/bin/bash&lt;br /&gt;<br /><br />
MYFILE="/tmp/get-speed-eth0.txt"&lt;br /&gt;<br /><br />
DEVFILE="/proc/net/dev"&lt;br /&gt;<br /><br />
NETDEV="eth0"&lt;br /&gt;<br /><br />
if [ ! -f "${MYFILE}" ] ; then&lt;br /&gt;<br /><br />
&amp;nbsp; NOW=$(date "+%s")&lt;br /&gt;<br /><br />
&amp;nbsp; DATA=$(grep -i "${NETDEV}" ${DEVFILE}|cut -d':' -f 2)&lt;br /&gt;<br /><br />
&amp;nbsp; IN=$(echo ${DATA}|awk '{print $1}')&lt;br /&gt;<br /><br />
&amp;nbsp; OUT=$(echo ${DATA}|awk '{print $9}')&lt;br /&gt;<br /><br />
&amp;nbsp; START="${NOW}:${IN}:${OUT}"&lt;br /&gt;<br /><br />
&amp;nbsp; echo "${START}" &amp;amp;gt; ${MYFILE}&lt;br /&gt;<br /><br />
&amp;nbsp; sleep 5&lt;br /&gt;<br /><br />
fi&lt;br /&gt;<br /><br />
TEMP=$(head -1 ${MYFILE})&lt;br /&gt;<br /><br />
NOW=$(echo ${TEMP}|cut -d':' -f 1)&lt;br /&gt;<br /><br />
IN=$(echo ${TEMP}|cut -d':' -f 2)&lt;br /&gt;<br /><br />
OUT=$(echo ${TEMP}|cut -d':' -f 3)&lt;br /&gt;<br /><br />
START="${NOW}:${IN}:${OUT}"&lt;br /&gt;<br /><br />
NOW2=$(date "+%s")&lt;br /&gt;<br /><br />
DATA2=$(grep -i "${NETDEV}" ${DEVFILE}|cut -d':' -f 2)&lt;br /&gt;<br /><br />
IN2=$(echo ${DATA2}|awk '{print $1}')&lt;br /&gt;<br /><br />
OUT2=$(echo ${DATA2}|awk '{print $9}')&lt;br /&gt;<br /><br />
STOP="${NOW2}:${IN2}:${OUT2}"&lt;br /&gt;<br /><br />
echo "${STOP}" &amp;amp;gt; ${MYFILE}&lt;br /&gt;<br /><br />
PERIOD=$(echo "${NOW2:-0} - ${NOW:-0}"|bc)&lt;br /&gt;<br /><br />
RIN=$(echo "${IN2:-0} - ${IN:-0}"|bc)&lt;br /&gt;<br /><br />
TOUT=$(echo "${OUT2:-0} - ${OUT:-0}"|bc)&lt;br /&gt;<br /><br />
SPEEDIN=$(echo "(${RIN:-0} * 8 ) / ${PERIOD:-0}"|bc)&lt;br /&gt;<br /><br />
SPEEDOUT=$(echo "(${TOUT:-0} * 8 ) / ${PERIOD:-0}"|bc)&lt;br /&gt;<br /><br />
TIME=$(uptime)&lt;br /&gt;<br /><br />
echo "${SPEEDIN}"&lt;br /&gt;<br /><br />
echo "${SPEEDOUT}"&lt;br /&gt;<br /><br />
echo "${TIME}"&lt;br /&gt;<br /><br />
echo "MYHOST"&lt;br /&gt;<br /><br />
เสร็จแล้วแก้ไขให้ execute ได้ด้วยคำสั่ง sudo chmod +x /etc/mrtg/get-speed-eth0.sh&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/myhost-speed-eth0.cfg มีข้อมูลตัวอย่างประมาณว่า&lt;br /&gt;<br /><br />
WorkDir: /var/www/mrtg/myhost&lt;br /&gt;<br /><br />
Target[myhost-speed]:`/etc/mrtg/get-speed-eth0.sh`&lt;br /&gt;<br /><br />
MaxBytes[myhost-speed]: 1000000000&lt;br /&gt;<br /><br />
Title[myhost-speed]: Traffic Analysis for eth0&lt;br /&gt;<br /><br />
PageTop[myhost-speed]: &amp;lt;h1&amp;gt;&lt;br /&gt;<br /><br />
Traffic Analysis for eth0&amp;lt;/h1&amp;gt;&lt;br /&gt;<br /><br />
ShortLegend[myhost-speed]: b/s&lt;br /&gt;<br /><br />
YLegend[myhost-speed]: Bits per Second&lt;br /&gt;<br /><br />
Legend1[myhost-speed]: In&lt;br /&gt;<br /><br />
Legend2[myhost-speed]: Out&lt;br /&gt;<br /><br />
LegendI[myhost-speed]: &amp;nbsp;In&lt;br /&gt;<br /><br />
LegendO[myhost-speed]: &amp;nbsp;Out&lt;br /&gt;<br /><br />
options[myhost-speed]: &amp;nbsp;gauge, growright&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ทดสอบ สร้างภาพต้นแบบด้วยคำสั่ง sudo env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-speed-eth0.cfg&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ปรับปรุง index.html สำหรับ homepage mrtg ของ myhost ด้วยคำสั่ง&lt;br /&gt;<br /><br />
sudo indexmaker --column=1 --output=/var/www/mrtg/myhost/index.html /etc/mrtg/myhost-cpu.cfg &amp;nbsp;/etc/mrtg/myhost-memory.cfg /etc/mrtg/myhost-cpu-io.cfg /etc/mrtg/myhost-speed-eth0.cfg&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
แก้ไขแฟ้ม /etc/mrtg/mymrtg.sh ต่อท้ายแฟ้มเพิ่มบรรทัดข้อความว่า&lt;br /&gt;<br /><br />
env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-speed-eth0.cfg&lt;br /&gt;<br /><br />
ควรจัดทำกราฟ mrtg ทั้ง 4 รูปแบบคือ CPU idle/load, Memory free/swap, CPU io wait และ network traffic&lt;br /&gt;<br /><br />
เพราะเป็นข้อมูลเบื้องต้นในการวิเคราะห์การสิ้นเปลืองทรัพยากร &amp;nbsp;หากจำเป็นก็เพิ่มกราฟอื่นๆต่อไป&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
วิธีการจัดทำกราฟ mrtg แบบง่ายๆจากแฟ้ม script ที่ทำไว้สำเร็จรูป&lt;br /&gt;<br /><br />
ให้ทำตามคำแนะนำบนเวบ ติดตั้ง psu-mrtg บน ubuntu&lt;br /&gt;<br /><br />
ตัวอย่างการทำกราฟ Idle CPU and Load&lt;br /&gt;<br /><br />
ใช้ข้อมูล ssCpuIdle.0 และ laLoadInt.1 จาก snmp แสดงผลภาพเป็นกราฟสองเส้น&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/myhost-cpu.cfg มีข้อมูลตัวอย่างประมาณว่า&lt;br /&gt;<br /><br />
WorkDir: /var/www/mrtg/myhost&lt;br /&gt;<br /><br />
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt&lt;br /&gt;<br /><br />
Target[myhost-cpu]:ssCpuIdle.0&amp;amp;amp;laLoadInt.1:public@localhost&lt;br /&gt;<br /><br />
RouterUptime[myhost-cpu]: public@localhost&lt;br /&gt;<br /><br />
MaxBytes[myhost-cpu]: 10000&lt;br /&gt;<br /><br />
Title[myhost-cpu]: Idle CPU and Load average&lt;br /&gt;<br /><br />
PageTop[myhost-cpu]: &amp;lt;h1&amp;gt;&lt;br /&gt;<br /><br />
Idle CPU and Load average&amp;lt;/h1&amp;gt;&lt;br /&gt;<br /><br />
ShortLegend[myhost-cpu]: %&lt;br /&gt;<br /><br />
YLegend[myhost-cpu]: CPU and Load Utilization&lt;br /&gt;<br /><br />
Legend1[myhost-cpu]: Idle CPU&lt;br /&gt;<br /><br />
Legend2[myhost-cpu]: Load average&lt;br /&gt;<br /><br />
LegendI[myhost-cpu]: &amp;nbsp;Idle&lt;br /&gt;<br /><br />
LegendO[myhost-cpu]: &amp;nbsp;Load&lt;br /&gt;<br /><br />
Options[myhost-cpu]: gauge, nopercent, growright&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ทดสอบสร้างภาพต้นแบบด้วยคำสั่ง sudo env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-cpu.cfg&lt;br /&gt;<br /><br />
ตัวอย่างการทำกราฟ memory และ swap&lt;br /&gt;<br /><br />
ใช้ข้อมูล memAvailReal.0 และ memTotalSwap.0 จาก snmp แสดงผลภาพเป็นกราฟสองเส้น&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/myhost-mem.cfg มีข้อมูลตัวอย่างประมาณว่า&lt;br /&gt;<br /><br />
WorkDir: /var/www/mrtg/myhost&lt;br /&gt;<br /><br />
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt&lt;br /&gt;<br /><br />
Target[myhost-mem]: memAvailReal.0&amp;amp;amp;memTotalSwap.0:public@localhost - memIndex.0&amp;amp;amp;memAvailSwap.0:public@localhost + memBuffer.0&amp;amp;amp;memIndex.0:public@localhost + memCached.0&amp;amp;amp;memIndex.0:public@localhost&lt;br /&gt;<br /><br />
RouterUptime[myhost-mem]: public@localhost&lt;br /&gt;<br /><br />
MaxBytes[myhost-mem]: 2000000&lt;br /&gt;<br /><br />
Title[myhost-mem]: Free Memory and Swap Used&lt;br /&gt;<br /><br />
PageTop[myhost-mem]: &amp;lt;h1&amp;gt;&lt;br /&gt;<br /><br />
Free Memory and Swap Used&amp;lt;/h1&amp;gt;&lt;br /&gt;<br /><br />
kMG[myhost-mem]: k,M,G,T,P,X&lt;br /&gt;<br /><br />
ShortLegend[myhost-mem]: bytes&lt;br /&gt;<br /><br />
YLegend[myhost-mem]: bytes&lt;br /&gt;<br /><br />
LegendI[myhost-mem]: &amp;nbsp;Free Memory:&lt;br /&gt;<br /><br />
LegendO[myhost-mem]: Swap Used:&lt;br /&gt;<br /><br />
Legend1[myhost-mem]: Free memory, in bytes&lt;br /&gt;<br /><br />
Legend2[myhost-mem]: Swap Used, in bytes&lt;br /&gt;<br /><br />
Options[myhost-mem]: gauge, nopercent, growright&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ทดสอบสร้างภาพต้นแบบด้วยคำสั่ง sudo env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-mem.cfg&lt;br /&gt;<br /><br />
ตัวอย่างทำกราฟ Mysql connection เพียงเส้นเดียว&lt;br /&gt;<br /><br />
ไม่ได้ใช้ข้อมูลจาก snmp แต่ดึงมาจาก shell script ชื่อ /etc/mrtg/get-mysql-session.sh&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/get-mysql-session.sh มีข้อมูลว่า&lt;br /&gt;<br /><br />
#!/bin/bash&lt;br /&gt;<br /><br />
SESSION=$(mysqladmin -uroot -pmysqlpassword extended|grep "Threads_connected"|cut -d'|' -f3)&lt;br /&gt;<br /><br />
TIME=$(uptime)&lt;br /&gt;<br /><br />
echo "$SESSION"&lt;br /&gt;<br /><br />
echo "0"&lt;br /&gt;<br /><br />
echo "$TIME"&lt;br /&gt;<br /><br />
echo "MYHOST"&lt;br /&gt;<br /><br />
เสร็จแล้วแก้ไขให้ execute ได้ด้วยคำสั่ง sudo chmod +x /etc/mrtg/get-mysql-session.sh&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/myhost-mysql-session.cfg มีข้อมูลตัวอย่างประมาณว่า&lt;br /&gt;<br /><br />
WorkDir: /var/www/mrtg/myhost&lt;br /&gt;<br /><br />
Target[myhost-mysql-session]:`/etc/mrtg/get-mysql-session.sh`&lt;br /&gt;<br /><br />
MaxBytes[myhost-mysql-session]: 1000&lt;br /&gt;<br /><br />
Title[myhost-mysql-session]: Mysql connection&lt;br /&gt;<br /><br />
PageTop[myhost-mysql-session]: &amp;lt;h1&amp;gt;&lt;br /&gt;<br /><br />
Mysql connection&amp;lt;/h1&amp;gt;&lt;br /&gt;<br /><br />
ShortLegend[myhost-mysql-session]: conns&lt;br /&gt;<br /><br />
YLegend[myhost-mysql-session]: conns&lt;br /&gt;<br /><br />
Legend1[myhost-mysql-session]: current:&lt;br /&gt;<br /><br />
Legend2[myhost-mysql-session]:&lt;br /&gt;<br /><br />
LegendI[myhost-mysql-session]: current, number of connections&lt;br /&gt;<br /><br />
LegendO[myhost-mysql-session]:&lt;br /&gt;<br /><br />
Options[myhost-mysql-session]: gauge, nopercent, growright&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ทดสอบสร้างภาพต้นแบบด้วยคำสั่ง sudo env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-mysql-session.cfg&lt;br /&gt;<br /><br />
ตัวอย่างทำกราฟ Mysql memory เพียงเส้นเดียว&lt;br /&gt;<br /><br />
ไม่ได้ใช้ข้อมูลจาก snmp แต่ดึงมาจาก shell script ชื่อ /etc/mrtg/get-mysql-mem.sh&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/get-mysql-mem.sh มีข้อมูลว่า&lt;br /&gt;<br /><br />
#!/bin/bash&lt;br /&gt;<br /><br />
MYSQL_PID=$(ps ax|grep "mysqld.pid"|grep -v "grep"|awk '{print $1}')&lt;br /&gt;<br /><br />
MEMORY=$(pmap -d $MYSQL_PID|tail -1|awk '{print $4}'|cut -d'K' -f1)&lt;br /&gt;<br /><br />
TIME=$(uptime)&lt;br /&gt;<br /><br />
echo $MEMORY&lt;br /&gt;<br /><br />
echo "0"&lt;br /&gt;<br /><br />
echo "$TIME"&lt;br /&gt;<br /><br />
echo "MYHOST"&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
เสร็จแล้วแก้ไขให้ execute ได้ด้วยคำสั่ง sudo chmod +x /etc/mrtg/get-mysql-mem.sh&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/myhost-mysql-mem.cfg มีข้อมูลตัวอย่างประมาณว่า&lt;br /&gt;<br /><br />
WorkDir: /var/www/mrtg/myhost&lt;br /&gt;<br /><br />
Target[myhost-mysql-mem]: `/etc/mrtg/get-mysql-mem.sh`&lt;br /&gt;<br /><br />
MaxBytes[myhost-mysql-mem]: 10000000&lt;br /&gt;<br /><br />
Title[myhost-mysql-mem]: Mysql memory usage&lt;br /&gt;<br /><br />
PageTop[myhost-mysql-mem]: &amp;lt;h1&amp;gt;&lt;br /&gt;<br /><br />
Mysql memory usage&amp;lt;/h1&amp;gt;&lt;br /&gt;<br /><br />
kMG[myhost-mysql-mem]: k,M,G,T,P,X&lt;br /&gt;<br /><br />
ShortLegend[myhost-mysql-mem]: bytes&lt;br /&gt;<br /><br />
YLegend[myhost-mysql-mem]: bytes&lt;br /&gt;<br /><br />
Legend1[myhost-mysql-mem]: private memory:&lt;br /&gt;<br /><br />
Legend2[myhost-mysql-mem]:&lt;br /&gt;<br /><br />
LegendI[myhost-mysql-mem]: private memory, in bytes&lt;br /&gt;<br /><br />
LegendO[myhost-mysql-mem]:&lt;br /&gt;<br /><br />
Options[myhost-mysql-mem]: gauge, nopercent, growright&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ทดสอบสร้างภาพต้นแบบด้วยคำสั่ง sudo env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-mysql-mem.cfg&lt;br /&gt;<br /><br />
ตัวอย่างการทำกราฟ TCP Establish connection&lt;br /&gt;<br /><br />
ใช้ข้อมูล tcpCurrEstab.0 จาก snmp แสดงผลภาพเป็นกราฟเพียงเส้นเดียว&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้างแฟ้ม /etc/mrtg/myhost-tcpestab.cfg มีข้อมูลตัวอย่างประมาณว่า&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
WorkDir: /var/www/mrtg/myhost&lt;br /&gt;<br /><br />
LoadMIBs: /usr/share/snmp/mibs/TCP-MIB.txt&lt;br /&gt;<br /><br />
Target[myhost-tcpestab]: tcpCurrEstab.0&amp;amp;amp;tcpCurrEstab.0:public@localhost&lt;br /&gt;<br /><br />
RouterUptime[myhost-tcpestab]: public@localhost&lt;br /&gt;<br /><br />
MaxBytes[myhost-tcpestab]: 1000000&lt;br /&gt;<br /><br />
Title[myhost-tcpestab]: TCP Current Establish&lt;br /&gt;<br /><br />
PageTop[myhost-tcpestab]: &amp;lt;h1&amp;gt;&lt;br /&gt;<br /><br />
TCP Current Establish &amp;lt;/h1&amp;gt;&lt;br /&gt;<br /><br />
ShortLegend[myhost-tcpestab]: conns&lt;br /&gt;<br /><br />
YLegend[myhost-tcpestab]: conns&lt;br /&gt;<br /><br />
LegendI[myhost-tcpestab]: Current:&lt;br /&gt;<br /><br />
LegendO[myhost-tcpestab]:&lt;br /&gt;<br /><br />
Legend1[myhost-tcpestab]: Current, numbers of connections&lt;br /&gt;<br /><br />
Legend2[myhost-tcpestab]:&lt;br /&gt;<br /><br />
Options[myhost-tcpestab]: nopercent, growright, gauge&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ทดสอบสร้างภาพต้นแบบด้วยคำสั่ง sudo env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-tcpestab.cfg&lt;br /&gt;<br /><br />
ตัวอย่างคำสั่งในการแสดง index สำหรับกราฟหลายรูปในหน้าเดียว&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
sudo indexmaker --column=1 --output=/var/www/mrtg/myhost/index.html /etc/mrtg/myhost-tcpestab.cfg &amp;nbsp;/etc/mrtg/myhost-cpu.cfg &amp;nbsp;/etc/mrtg/mrtg-myhost.cfg&lt;br /&gt;<br /><br />
สร้าง config file สำหรับ myhost ด้วยคำสั่ง&lt;br /&gt;<br /><br />
sudo cfgmaker &amp;nbsp;-global "options[_]:bits,growright" --global "workdir: /var/www/mrtg/myhost" public@localhost &amp;amp;gt; /tmp/mrtg-myhost.cfg&lt;br /&gt;<br /><br />
sudo cp &amp;nbsp;/tmp/mrtg-myhost.cfg /etc/mrtg/mrtg-myhost.cfg&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
ทดสอบสร้างภาพ ต้นแบบด้วยคำสั่ง &amp;nbsp;sudo env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg-myhost.cfg&lt;br /&gt;<br /><br />
&lt;br /&gt;<br /><br />
สร้าง index.html สำหรับ homepage mrtg ของ myhost ด้วยคำสั่ง&lt;br /&gt;<br /><br />
sudo indexmaker --column=1 --output=/var/www/mrtg/myhost/index.html /etc/mrtg/mrtg-myhost.cfg