2014年4月8日 星期二

Cacti 【SNMP Get Timeout】數據圖顯示為0

近期在大量新增流量監控主機的時候,遇到rrdtool無法寫入數據的問題

測試

1. 這是在圖表上數值都是0
 



2. 使用 rrdtool fetch simple.rrd AVERAGE,查詢到的結果不是00000就是nan



3. 使用snmpwalk進行測試,可以得到數據
shell# snmpwalk -c public -v 2c 192.168.10.213 .1.3.6.1.2.1.25.2.3.1.5.6

4. 查看cacti.log
04/08/2014 05:46:05 PM - CMDPHP: Poller[0] WARNING: SNMP Get Timeout for Host:'192.168.10.213', and OID:'.1.3.6.1.2.1.25.2.3.1.5.6'

5. 出問題的Dervice其他的設備數據都正常,如硬碟、CPU…



環境
OS: CentOS 5.9
Cacti Version: 0.8.8a
SNMP Version: NET-SNMP version: 5.3.2.2 
RRDTool Version: RRDTool 1.4.x 
Hosts: 38
Graphs: 200
Poller type: SPINE 0.8.8a Copyright 2002-2012 by The Cacti Group
Concurrent Processes: 1
Max Threads: 10
Script Timeout: 25
Max OID: 10
PHP Version: 5.3.3



解決:
初步判斷Cacti 在抓去SNMP上是抓得到資料的,只是為什麼會造成Timeout無法寫入數據。
針對一些可能造成Timeout的原因去做優化。

1. 針對出現問題的Device調整Timeout    //避免Timeout過長
Cacti > Device > Host > 
SNMP Timeout : 500 > 1000

2. 調整SPINE的最大線程     //加強SNMP的效能
Cacti > System Utilites > Poller
Maximum Concurrent Poller Processes: 1 > 4

3. 調整Mysql的max_connections   //預設100,當數量一多是有機會connections不足的

shell# mysqladmin -u root -p variables      //show setting , default max_connections=100
shell# mysql -u root -p                          //login mysql
> set GLOBAL max_connection=200;
shell# mysqladmin -u root -p variables      //check max_connections=200

查看Log已無timeout訊息,流量圖也正常。

沒有留言:

張貼留言