สอนติดตั้ง MRTG CentOS 6.4 / 7 กับ Directadmin


MRTG หรือ Multi Router Traffic Grapher คือ

คือ Monitor Tool สำหรับ Linux ที่จะทำหน้าที่ดักจับ Packet ที่ผ่าน Interface ที่กำหนด นำค่าที่ได้ มาแสดงผลในรูปแบบ Graph หรือ รูปภาพ ช่วยให้เจ้าของเซิร์ฟเวอร์สามารถตรวจสอบ และดูผลการทำงานของเซิร์ฟเวอร์ได้่มีประสิทธิภาพ โดยรายงานข้อมูล CPU RAM Network TCP Connection แบบราย นาที ชั่วโมง วัน เดือน ปี เป็นต้น

วิธีการติดตั้ง MRTG

ขั้นตอนพวกนี้ ก๊อปปี้แล้ววางได้เลยครับ
จดไว้กันลืม 555+
ทำมาด้วยความขี้เกียจของตัวข้าพเจ้าเองแหละ

centos ต่ำกว่า 6 ใช้

Bash:

yum -y install net-snmp mrtg
wget -4 -O /etc/snmp/snmpd.conf www.icez.net/files/snmpd.conf
wget -4 -O /var/www/mrtg/mrtg-load.sh www.icez.net/files/mrtg-load.sh
chmod a+x /var/www/mrtg/mrtg-load.sh
/etc/init.d/snmpd restart
cfgmaker --global 'WorkDir: /var/www/mrtg' --global 'Options[_]: bits,growright' --no-down --zero-speed=1000000000 --noreversedns --output /var/www/mrtg/mrtg.cfg --ifdesc=name --snmp-options=:::::2 public@localhost
wget -4 -O /tmp/mrtg.cfg www.icez.net/files/mrtg.cfg
cat /tmp/mrtg.cfg >> /var/www/mrtg/mrtg.cfg
/bin/cp -fv /var/www/mrtg/mrtg.cfg /etc/mrtg/mrtg.cfg
echo "Alias /mrtg /var/www/mrtg" > /etc/httpd/conf.d/mrtg.conf
/sbin/chkconfig snmpd on
indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html
if [ -d /usr/local/directadmin ]; then ln -s /var/www/mrtg /var/www/html/; fi
/etc/init.d/httpd graceful

centos 7 ใช้

Bash:

yum -y install net-snmp mrtg
wget -4 -O /etc/snmp/snmpd.conf www.icez.net/files/snmpd.conf
wget -4 -O /var/www/mrtg/mrtg-load.sh www.icez.net/files/mrtg-load.sh
chmod a+x /var/www/mrtg/mrtg-load.sh
systemctl restart snmpd
cfgmaker --global 'WorkDir: /var/www/mrtg' --global 'Options[_]: bits,growright' --no-down --zero-speed=1000000000 --noreversedns --output /var/www/mrtg/mrtg.cfg --ifdesc=name --snmp-options=:::::2 public@localhost
wget -4 -O /tmp/mrtg.cfg www.icez.net/files/mrtg.cfg
cat /tmp/mrtg.cfg >> /var/www/mrtg/mrtg.cfg
/bin/cp -fv /var/www/mrtg/mrtg.cfg /etc/mrtg/mrtg.cfg
echo "Alias /mrtg /var/www/mrtg" > /etc/httpd/conf.d/mrtg.conf
systemctl enable snmpd
indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html
if [ -d /usr/local/directadmin ]; then ln -s /var/www/mrtg /var/www/html/; fi
systemctl restart httpd

สั้นๆ ง่ายๆ ได้ใจความ

ปล. สำหรับ fedora 9 ไอ้ mrtg ที่แถมมามันรันไม่ขึ้น ไม่รู้เน่าตรงไหน
ก็เลยต้อง compile เพิ่มเองนิดหน่อยครับ
ขั้นตอนตามนี้ (copy แล้ววางอีกแล้วครับทั่น)

Bash:

cd /usr/local/src
wget [URL]http://oss.oetiker.ch/mrtg/pub/mrtg-2.16.4.tar.gz[/URL]
tar zxf mrtg-2.16.4.tar.gz
cd mrtg-2.16.4
yum -y install libpng-devel gd-devel
./configure --prefix=/usr/local/mrtg && make && make install
echo "*/5 * * * * root LANG=C LC_ALL=C /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok" > /etc/cron.d/mrtg

Bash:

yum -y install net-snmp net-snmp-utils mrtg mrtg-libs
echo -e "syslocation Thailand\nsyscontact admin\nsysservices 79\nrocommunity snmp 127.0.0.1\nagentaddress 127.0.0.1" > /etc/snmp/snmpd.conf
wget [URL]http://ireallyhost.com/uploads/userfiles/files/linux/mrtg_cfg.txt[/URL] -O /etc/mrtg/mrtg.cfg

แก้ไขไฟล์ Config ด้วยคำสั่ง

Bash:

vi /etc/mrtg/mrtg.cfg

หรือใช้คำสั่ง

Bash:

perl -pi -e 's/eth0/_Interface_/g' /etc/mrtg/mrtg.cfg

เช่น

Bash:

perl -pi -e 's/eth0/venet0:0/g' /etc/mrtg/mrtg.cfg

SetEnv[server.traffic]: MRTG_INT_IP=”_Interface_” MRTG_INT_DESCR=”_Interface_”

ทำการเปลี่ยน _Interface_ เป็น eth0 , venet0:0 หรือ ตรงตาม IP ที่จะ monitor
ตรวจสอบโดยพิมพ์คำสั่ง ifconfig

Bash:

mkdir -p /var/www/html/mrtg
indexmaker --columns=2 --output=/var/www/html/mrtg/index.html /etc/mrtg/mrtg.cfg
chkconfig snmpd on
echo "*/5 * * * * root LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok > /dev/null 2>&1" > /etc/cron.d/mrtg

CentOS 6.x

Bash:

/etc/init.d/snmpd restart

CentOS 7

Bash:

systemctl start snmpd.service

ตรวจสอบการติดตั้ง MRTG จากโดยรอประมาณ 5-10 นาที กราฟจะเริ่มแสดง
พิมพ์ http://hostname/mrtg หรือ http://Your-IP/mrtg