Cacti คือ เครื่องมือ หรือโปรแกรมสำหรับตรวจสอบระบบเครือข่าย (Network Monitoring) และแสดงผลลัพธ์ออกมาในรูปแบบของกราฟ เหมาะสำหรับการดำเนินงานด้านธุรกิจ IT โดยโปรแกรม Cacti เป็นโปรแกรมฟรี (Open Source) โดยโปรแกรม Cacti มีการทำงานร่วมกับโปรแกรม RRDTool สำหรับการจัดการด้านข้อมูลที่เชื่อมโยงกับข้อมูล CUP Load, Network Bandwidth เป็นต้น โดยโปรแกรม Cacti นั้นสามารถตรวจสอบระบบเครือข่ายได้หลากหลายชนิด และหลายหลายรูปแบบ เช่น network bandwidth utilization, CPU load, running processes, disk space และอื่น ๆ อีกมากมาย โดยบทความนี้สอนติดตั้งบน Linux CentOS ทั้งแบบ 32bit และ 64bit
ในบทความนี้จะมีการติดตั้งโปรแกรม และ Service ที่สำคัญดังนี้
1. Apache คือ Web Server ทำหน้าที่ให้บริการ และแสดงผลข้อมูลผ่านโปรแกรมเว็บเบราว์เซอร์
2. PHP คือ ภาษาที่ใช้สำหรับการสร้างกราฟ โดยใช้งานร่วมกับ RDDTool
3. MySQL คือ ฐานข้อมูลที่จัดเก็บข้อมูลต่าง ๆ ของระบบเครือข่าย
4. PHP-SNMP คือ Extension สำหรับการทำงาน SNMP บน PHP
5. NET-SNMP คือ Protocol สำหรับบริหาร และจัดการเครือข่าย
6. RDDTool คือ ฐานข้อมูลที่ใช้สำหรับการเชื่อมโยงกับ CPU load, Network Bandwidth และอื่น ๆ
วิธีการติดตั้ง Cacti (Network Monitoring) บน Linux CentOS
1. ติดตั้ง Apache
yum install httpd httpd-devel
2. ติดตั้ง MySQL
yum install mysql mysql-server
3. ติดตั้ง PHP, PHP-SNMP
yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-mysql php-snmp
4. ติดตั้ง NET-SNMP
yum install net-snmp-utils p net-snmp-libs php-pear-Net-SMTP
5. ติดตั้ง RDDTool
yum install rrdtool
6. Start Service Apache และ MySQL
/etc/init.d/httpd start
/etc/init.d/mysqld start
7. Start Service SNMP
/etc/init.d/snmpd start
8. ติดตั้ง EPEL Repository เพื่อใช้สำหรับการติดตั้ง Cacti
สำหรับ CentOS 32bit
# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
สำหรับ CentOS 64bit
# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
9. ติดตั้งโปรแกรม Cacti
yum install cacti
10. กำหนด Username และ Password ให้กับ MySQL (ตัวอย่างกำหนดรหัสผ่านเป็น 01234)
# mysqladmin -u root password 01234
11. สร้างฐานข้อมูล Cacti
# mysql -u root -p
mysql> create database cacti;
mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY '01234';
mysql> FLUSH privileges;
mysql> quit;
12. ติดตั้ง Cacti Tables ใน MySQL โดยรันคำสั่งแล้วดู path ที่แสดงผลออกมา
# rpm -ql cacti | grep cacti.sql
ผลลัพธ์ (อาจจะแตกต่างกันไปตาม version)
/usr/share/doc/cacti-0.8.8b/cacti.sql
จากนั้นรันคำสั่งต่อไปโดย path และชื่อไฟล์จะต้องเหมือนกับผลลัพธ์ด้านบน
mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql
13. แก้ไขค่าการเชื่อมต่อฐานข้อมูลของโปรแกรม Cacti
vi /etc/cacti/db.php
แก้ไขค่าต่าง ๆ (ตัวอย่างกำหนดรหัสผ่านเป็น 01234)
/* make sure these values reflect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "01234";
$database_port = "3306";
$database_ssl = false;
14. แก้ไขให้เข้าถึงโปรแกรม Cacti จากทุก ๆ IP Address
vi /etc/httpd/conf.d/cacti.conf
แก้ไขเป็น
Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti/>
order allow,deny
allow from all
</Directory>
15. Restart Service Apache
/etc/init.d/httpd restart
16. แก้ไข Cron สำหรับ Cacti
vi /etc/cron.d/cacti
เอา # ที่อยู่ข้างหน้าของประโยคออก
*/5 * * * * cacti /usr/ ......
17. ปิด Firewall (ปิดเพื่อการทดสอบเท่านั้น)
/etc/init.d/iptables stop
18. เริ่มติดตั้ง Cacti โดยเปิดโปรแกรมเว็บเบราว์เซอร์แล้วพิมพ์ http://localhost/cacti หรือ http://YOUR_IP_ADDRESS/cacti จากนั้นกดปุ่ม Next
19. เลือก New Install แล้วกดปุ่ม Next
20. ตรวจสอบค่าต่าง ๆ แล้วกดปุ่ม Finish
21. จะพบหน้าจอ Login ของ Cacti ให้กรอก admin / admin
22. จากนั้นระบุ Password ใหม่ตามที่ต้องการ
23. เสร็จสิ้นการการติดตั้งโปรแกรม Cacti