Cacti 是一套開源的網路監控工具,能夠監控主機狀態與負載情況。透過添加相應模板,更可延伸監控 Apache 與 MySQL 伺服器的運行狀態。本文將詳細記錄在 CentOS 5.5 環境下,以 yum 方式安裝 Cacti 並配置監控 MySQL 的完整流程,供有需求的系統管理員參考。
Cacti 運作需依賴 SNMP、PHP-XML、PHP-LDAP 等組件。若已安裝 LAMP 環境,大部分依賴皆已滿足;若缺漏可透過 yum 補裝。特別注意需手動安裝 SNMP 相關套件,避免首次配置時找不到 snmpwalk、snmpget 等工具。
[root@tigertall bin]# rpm -qa | grep snmp
php-snmp-5.1.6-27.el5
net-snmp-utils-5.3.2.2-9.el5_5.1
net-snmp-5.3.2.2-9.el5_5.1
net-snmp-devel-5.3.2.2-9.el5_5.1
net-snmp-libs-5.3.2.2-9.el5_5.1
執行 php -m 檢查已載入模組,確認 mysql.so 與 snmp.so 已啟用。CentOS 預設將 HTTPD 相關配置置於 /etc/httpd/conf.d/,PHP 擴展配置則在 /etc/php.d/。
編輯 /etc/php.ini 啟用檔案上傳功能(file_uploads = On),並註解 session.save_path = /tmp 以避免權限問題。
檢查 /etc/httpd/conf.d/php.conf 確保以下指令已啟用:
LoadModule php5_module modules/libphp5.so
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php
務必為 root 設定強密碼:
mysqladmin -u root password 'your_strong_password'
mysqladmin -u root -p reload
yum install cacti(自動解決依賴)mysqladmin -u root -p create cacti/usr/share/doc/cacti-0.8.7f/cacti.sqlmysql -u root -p cacti < cacti.sqlmysql -u root -p
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;/usr/share/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "your_password";
$database_port = "3306";rra 與 log 為軟連結,需變更實際目錄擁有者:
chown -R cactiuser /var/lib/cacti/rra /var/log/cacti/crontab -e 加入
*/5 * * * * cactiuser php /usr/share/cacti/poller.php > /dev/null 2>&1https://your-server/cacti,預設帳密 admin/admin,登入後強制修改密碼。Spine 為 C 語言撰寫的高效輪詢器,可替代預設的 cmd.php。安裝步驟:
wget https://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gznet-snmp-devel、mysql-devel、openssl-devel):
tar xvzf cacti-spine-0.8.7g.tar.gz
cd cacti-spine-0.8.7g
./configure && make && make installcp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf,填入資料庫連線資訊。/usr/local/spine/bin/spine)→ Poller 選擇 spine。以上即為 CentOS 5.5 上部署 Cacti 監控 MySQL 的完整流程。實際部署時請依伺服器規格調整參數,並做好備份與安全防護。