cacti使用中的一些錯誤及解決方法

 配置cacti,遇見了各種問題。最後通過網上查找資料,克服了各種困難。

 


錯誤一:配置完snmp.conf後用snmpwalk測試出現


 

  1. $ snmpwalk -v 1 -c public 127.0.0.1 

Timeout: No Response from 127.0.0.1

我是按照網上的教程來測試的,以爲snmp沒有配置好。

這個命令-V後面是版本,-C後面是密鑰,緊接着是測試的IP
因爲我的snmp.conf裏配置是這樣的:
 
  1. com2sec workpc 192.168.1.18 zd=8866 
  2. com2sec workpc 127.0.0.1  zd=8866 
  3. group  servergroup v2c workpc 
  4. group  servergroup v1 workpc 
  5. access servergroup "" any noauth prefix all none none 
  6. view   all  included   .1 
 
解決辦法:語句應該這樣snmpwalk -v 1 -c zd=8866 127.0.0.1
當然,配置文件裏面默認的public沒有改得話就不用修改,關鍵是理解這個語法。
 

錯誤二:cacti有圖,沒有數據。

解決方法:這個其實可能的原因很多,先檢查能不能獲取到被監控機的數據,可以的話手動執行一下poller.php
 
  1. #sudo php5 /cacti安裝路徑/poller.php --force 
然後會有提示信息。
 

錯誤三:圖像斷斷續續

我嘗試了很多種方法:
1、修改輪詢時間,默認是五分鐘。我改成1分鐘。
修改方法
    (1)登錄進cacti頁面,設置--輪詢器,把輪詢間隔和cron間隔設置爲1分鐘。
    (2)到系統工具裏重建輪詢緩存。
    (3)vi  /etc/crontab
        
  1. */1 * * * *     root     php5 /usr/share/nginx/www/cacti/poller.php > /dev/null 2>/var/log/cacti/poller-error.log  
 
      設置輪詢時間,把5設置成1 poller.php的路徑因人而異的。注意別拷貝錯了。
 
總結:沒用
 
2、數據庫的sleep線程多造成的。
     (1)登錄mysql  -uroot  -p
     (2)mysql> show processlist ;

+------+-------+-----------+-------+---------+------+-------+------------------+

| Id | User | Host | db | Command | Time | State | Info |

+------+-------+-----------+-------+---------+------+-------+------------------+

| 107 | cacti | localhost | cacti | Sleep | 63 | | NULL |

| 113 | cacti | localhost | cacti | Sleep | 63 | | NULL |

| 114 | cacti | localhost | cacti | Sleep | 63 | | NULL |

| 2098 | cacti | localhost | cacti | Sleep | 63 | | NULL |

| 2365 | cacti | localhost | cacti | Sleep | 65 | | NULL |

| 2368 | cacti | localhost | cacti | Sleep | 63 | | NULL |

| 2369 | cacti | localhost | cacti | Sleep | 63 | | NULL |

| 2370 | cacti | localhost | cacti | Sleep | 63 | | NULL |

| 2371 | cacti | localhost | cacti | Sleep | 63 | | NULL |

| 2374 | cacti | localhost | cacti | Sleep | 63 | | NULL |

| 3509 | cacti | localhost | NULL | Query | 0 | NULL | show processlist |

+------+-------+-----------+-------+---------+------+-------+------------------+

11 rows in set (0.00 sec)

     (2) show variables like "wait_timeout";

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| wait_timeout | 28800 |  

 

     (3)修改my.conf文件  /etc/mysql/my.conf

 

wait_timeout=30

interactive_timeout=30

增加上面兩句

    (4) show variables like "wait_timeout";

 

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| wait_timeout | 30 |   

 

 

總結:沒有效果,還是會斷斷續續

 

3)cacti和spine版本不一致  (換了之後我的問題就解決了)

我的cacti版本是0.8.7e   spine版本是0.8.8a  所以把sprine換成0.8.7e

裝sprine碰到的問題也是很多啊。

 錯誤一: configure: error: cannot run /bin/bash config/config.sub

這是鏈接問題。

#ls -al config/*            查看鏈接路徑

#find / -name config.sub     或者locate   config.sub     查找config.sub的路徑

 

  1. #ln -s -f  /正確路徑/config.sub  config.sub 

例如我的#ln -s -f /usr/share/libtool/config/config.sub config.sub

同樣的道理:config.guess路徑不對也這樣改過來。

(2)spine configure: error: MySQL libraries not found 

這個我是這麼修改的:

 

  1. # find / -name libmysqlclient_r.* 

得到文件所在目錄是/usr/lib/i386-linux-gnu/

#vi configure

查找 libmysqlclient_r.*在哪一行,把那個路徑改過來。原文件如下

 

  1. str="$i/lib64/libmysqlclient_r.*" 
  2. 改後 str="$i/lib/i386-linux-gnu/libmysqlclient_r.*" 

這樣編譯就通過了。

改完圖像也就沒有斷斷續續了。。^_^

 


錯誤四:

 

08/05/2012 10:51:01 AM - SPINE: Poller[0] ERROR: SQL Failed! Error:'1062', Message:'Duplicate entry '3-mem_buffers-2012-08-05 10:51:01' for key 'PRIMARY'', SQL Fragment:'INSERT INTO poller_output (local_data_id, rrd_name, time, output) VALUES (3,'mem_buffers','2012-08-05 10:51:01','1111288'),(4,'mem_swap','2012-08-05 10:51:01','2085472'),(5,'','2012-08-05 10:51:01','1min:0.15 5min:0.07 10min:0.09'),(6,'users','2012-08-05 10:51:01','2'),(7,'proc','2012-08-05 10:51:01','108'),(35,'loadavg_1','2012-08-05 10:51:01','0.15'),(36,'loadavg_15','2012-08-05 10:51:01','0.09'),(37,'loadavg_5','2012-08-05 10:51:01','0.07'),(38,'','2012-08-05 10:51:01','Qcache_free_blocks:82 Qcache_free_memory:15105288 Qcache_hits:201711 Qcache_inserts:78896 Qcache_lowmem_prunes:0 Qcache_not_cached:1956 Qcache_queries_in_cache:1363 Qcache_total_blocks:2850'),(39,'','2012-08-05 10:51:01','Com_select:80853 Select_full_join:104 Select_full_range_join:0 Select_range:1013 Select_range_check:0 Select_scan:6753'),(40,'','2012-08-05 10:51:01','Handler_commit:101414 Handler_delete:8684 Handler_discover:0 Handler_rollback:48 Handler_update:10725 Handler_write:274068')'


 

這個是cacti的日誌出現的,大致意思就是重複插入數據,主鍵約束原因報錯,看到錯誤後進入數據庫查看,差點把日期的約束取消。還好及時悔改,怕改了有外鍵什麼的怎麼辦。

然後想到重複插如可能是輪詢的錯。

 

  1. #vi /etc/crontab 
  2. 有這麼句話:  */1 * * * *     root     php5 /usr/share/nginx/www/cacti/poller.php > /dev/null 2>/var/log/cacti/poller-error.log  

然後

 

  1. cd /etc/cron.d/ 
  2. #vi cacti 
  3.   
  4. MAILTO=root 
  5. */1 * * * * www-data php /usr/share/cacti/site/poller.php >/dev/null 2>/var/log/cacti/poller-error.log 
 
看到上面兩行。果然是重複了。註釋掉上面那句。
 
  1. ###*/1 * * * * www-data php /usr/share/cacti/site/poller.php >/dev/null 2>/var/log/cacti/poller-error.log 
保存。查看cacti日誌。搞定
 

 


錯誤五:cacti日誌


POLLER: Poller[0] WARNING: Poller Output Table not Empty. Issues Found: 15

解決辦法:重建緩存,我的這個方法好像有點笨。

 

有些問題沒有記錄下來,解決後也就忘了。如果有時間在把自己安裝的過程和添加插件的過程記錄一遍吧。以後用的話有文檔加上自己實踐過也容易點。

安裝的時候多看官方的說明。我爲此走了不少彎路啊。。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章