Cacti 是基於 RRDTool 的網絡圖形監控工具。本文記錄 CentOS 5.5 下 yum 安裝 Nginx/PHP/SNMP/RRDTool、配置 SNMPD、部署 Cacti 0.8.7g、Web 向導初始化、定時任務添加全流程。
# 安裝 Nginx+PHP(需 --enable-sockets 編譯參數) # 創建 PHP 軟鏈接 ln -s /usr/local/php/bin/php /usr/bin/php
# 添加擴展源(CentOS-Base.repo) # 安裝核心包 yum -y install php-snmp net-snmp net-snmp-libs net-snmp-utils rrdtool
# /etc/snmp/snmpd.conf 核心修改 com2sec notConfigUser 127.0.0.1 public access notConfigGroup "" any noauth exact all none none view all included .1 80 # 啟動 service snmpd start && chkconfig snmpd on
tar zxvf cacti-0.8.7g.tar.gz mv cacti-0.8.7g /home/www/cacti
mysql -uroot -p123456 -e "create database cacti;" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'127.0.0.1' IDENTIFIED BY 'cacti';" mysql -uroot -p123456 cacti < /home/www/cacti/cacti.sql
vim /home/www/cacti/include/config.php # 修改 $database_* 參數
vim /usr/local/nginx/conf/nginx.conf # 添加 server 塊指向 /home/www/cacti
https://domain/admin/admin,強制修改密碼# crontab -e */5 * * * * /usr/local/php/bin/php /home/www/cacti/poller.php > /dev/null 2>&1
每 5 分鐘採集一次數據,驅動圖形更新。
| 現象 | 解決 |
|---|---|
| 圖形無數據/空白 | 檢查 poller.php 執行日志、SNMP 通信、RRDTool 權限 |
| SNMP 無返回 | snmpwalk -v 2c -c public 127.0.0.1 測試、防火牆放行 UDP 161 |
| PHP 報錯 | 確認 extension=snmp.so 已載入、memory_limit 足夠 |