沒法正常顯示圖片,Cacti目錄下的rra爲空php
一,snmp和網絡是否正常html
經過在cacti服務器上運行snmpwalk -c public -v2c ip,可以正常返回數據,排除snmp和網絡的問題。mysql
二,查看cacti全局參數設置web
經查看cacti全局參數設置中的路徑,採集器等均沒有問題。sql
三,檢查cacti服務器上rra和log的目錄權限數據庫
查看rra和log目錄屬主均是web程序運行用戶,有對rra和log目錄的讀寫權限,沒有問題。進入rra目錄,發現全部圖像文件的修改日期均是前幾天的,也就是說最近都沒有獲取到數據,更新到rra文件;進入log目錄,發現cacti.log文件達到2G,log不記錄東西了,mv cacti.log cacti.log.old,從新生成cacti.log,故障依舊。服務器
四,檢查cacti.log網絡
snmp可以獲取到數據,rra和log權限也均沒有問題,爲何還不能獲取到數據呢?ide
開啓cacti全局設置中的詳細日誌,tail -f cacti.log查看日誌,發現有不少相似日誌:post
WARNING: Result from CMD not valid. Partial Result:
這是cacti採集器沒有獲取到相關主機的返回數據。同時發現有以下日誌:
Maximum runtime of 292 seconds exceeded. Exiting.
是說在一個循環週期內(5min),cacti沒有獲取完全部的數據,自動退出,執行下一循環,
應該是有太多主機了,同時有不少主機沒法鏈接上超時,致使最終採集器時間超過292s自動退出。
決定採用cactid來代替cmd.php採集,同時清理數據庫中poller_item中的無效,沒法鏈接上,配置錯誤的記錄(重要,可根據cacti.log中得知哪些主機或記錄有問題)。
五,配置cactid
新版的叫spine。安裝配置cactid:
tar -zxvf cacti-cactid-0.8.6j.tar.gz
cd cacti-cactid-0.8.6j
./configure (mysql另外安裝的須要指安mysql路徑)
make
mkdir /usr/local/cactid
cp cactid cactid.conf /usr/local/cactid/
vi /usr/local/cactid/cactid.conf修改成相應的數據庫的用戶名和密碼。
全局配置中設置採集器爲cactid,並設置好cactid的路徑:/usr/local/cactid/cactid
可以正常獲取到數據了,查看cacti.log:
02/12/2011 11:31:03 AM – CACTID: Poller[0] Time: 55.2049 s, Threads: 1, Hosts: 25
…
02/12/2011 11:32:04 AM – CACTID: Poller[0] Time: 113.7014 s, Threads: 1, Hosts: 25
二分鐘即能獲取到全部的主機數據了,效率提高很多。故障解決。
六,如以上還不能解決故障,可經過手動運行:php /var/www/html/cacti/poller.php 查看輸出來找到問題所在。