OpenNMS--SNMP安裝及配置(RRD)--開源監控軟件

一.NET-SNMP包的安裝與配置

1.安裝net-snmp:

Ubuntu11.10:apt-get install snmp snmpd
CentOS6.2: yum install net-snmp net-snmp-devel net-snmp-utils
啓動SNMP服務:/etc/init.d/snmpd start
查看SNMP版本:snmpget --version
2.SNMP配置:/etc/snmp/snmpd.conf(需要root權限)
(1)對於SNMP V3版本,默認設置是監聽本機的snmp請求,應該將其修改成成監聽所有設備的請求,V2c版本不用修改。
# Listen for connections from the local system only
#agentAddress udp:127.0.0.1:161
# Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161
(2)配置SNMP的訪問權限,
默認的訪問權限設置如下,這個設置只能收集到系統的基本信息。
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
# group context sec.model sec.level prefix read write notif access notConfigGroup "" any noauth exact systemonly none none
可以修改成:
view all included .1
# group context sec.model sec.level prefix read write notif access notConfigGroup "" any noauth exact all none none
(3)如果需要修改默認的Community String可以將public替換掉:
com2sec notConfigUser 0.0.0.0 public

配置完成後,檢查snmp是否能夠訪問:snmpwalk -v 2c -c public YourIpAddress
(4)如果完成以上配置後依然無法訪問SNMP服務,可以嘗試
#sudo lsof-i:161
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
snmpd 1212 root 6u IPv4 11012 0t0 UDP *:snmp
PS:如果這裏顯示爲snmpd 9641snmp 6u IPv4 29940 0t0 localhost:snmp:snmp
說明161端口是監聽在localhost上的,也就是說不對外開放,只能訪問本地的161端口。
iptables -A INPUT -p udp -i eth0 --dport 161 -j ACCEPT 將161端口開放

或關閉掉iptables



二.SNMP數據收集,RRD數據存儲方式配置。

(1).SNMP version與Community配置
默認的SNMP版本和是V2c,密碼是piblic。添加節點時可以在頁面修改。
或者在Admin->Configure SNMP Community Names by IP中根據不同的IP配置
配置文件:($OPENNMS_HOME/etc/snmp-config.xml)
配置文件中的標籤和屬性含義:
<snmp-config>標籤中定義的屬性爲全局的,適用與所有設備。
retry:重連次數,默認爲1
timeout:等待時間,單位是毫秒,默認爲3000
read-community:利用SNMP讀取數據的密碼,默認爲public
write-community:利用SNMP寫數據的密碼,當前版本沒有實現。
port:SNMP的端口,默認161
<definition>中的屬性爲局部的,僅適用與標籤內指定的IP,並會覆蓋全局屬性。
(2).配置數據收集colletd進程
配置文件:$OPENNMS_HOME/collectd-configuration.xml
配置文件中的標籤和屬性含義:
collectd-configuration.xml
threads:用於收集數據的線程數量
<package>將設備分組進行數據收集
<filter> :對package中的設備進行過濾,IP地址滿足過濾條件的設備將被包含在這個package中
<filter>IPADDR IPLIKE *.*.*.*</filter>
<specific> 指定一個特定的IP到package中
<include-range >指定一個特定IP範圍到package中 <include-range begin="192.168.0.1" end="192.168.0.254"/>
<exclude-range>在package中排除範圍內的設備
<exclude-range begin="192.168.0.100" end="192.168.0.104"/>
<include-url >指定一個文件文件中所有的IP都將包含到package中
<include-url>file:/opt/OpenNMS/etc/include</include-url>
<Services>爲package中的設備配置數據收集服務,其中包含以下屬性:
name:服務的名字,如SNMP、OpenNMS-JVM
interval:收集數據的時間間隔,單位爲毫秒,默認爲300000(5分鐘)
user-defined:當前的版本還沒有實現這個功能
parameter:設置變量
<outage>用於配置計劃中的中斷、故障
(3)SNMP數據收集配置以及RRD配置
配置文件:$OPENNMS_HOME/datacollection.xml
<snmp-collection>中定義了SNMP需要收集的數據組、RRD存儲方式和存儲目錄
RRD
rrdRepository:屬性定義了RRD存儲目錄,如果修改這一屬性,因同時修改一下配置文件中的內容:
poller-configuration.xml
thresholds.xml
http-datacollection-config.xml
jmx-datacollection-config.xml
nsclient-datacollection-config.xml
<rrd>標籤定義了rrd數據存儲方式,如:
<rrd step="30">
<rra>RRA:AVERAGE:0.5:1:2016</rra>
</rrd>
step;步長,以秒爲單位,默認值是300。
<rra>中的內容是RRD存儲數據的詳細配置,格式如下:
RRA:Cf:xff:steps:rows
RRA:表明這是一個RRD數據的配置命令。
Cf:存儲內容統計函數,包含AVERAGE, MAX, MIN, LAST四種。
xff是一個影響因子,用於防止一個統計週期內大量數據丟失的情況,默認值是0.5,即允許有50%的數據丟失
steps,即多少個步長進行一次統計,並將數據存儲爲一行。
rows,表示RRD總共存儲多少行數據。
如:step=300 RRA:AVERAGE:0.5:1:2016 表示,存儲5分鐘內的平均值,允許有50%的數據丟失,總共存儲2016條數據
SNMP
<include-collection dataCollectionGroup="MIB2"/> 將SNMP收數據分成組,
每一個組都在$OPENNMS_HOME/etc/datacoll ection中有一個對應的配置文件。
其中配置了每個數據的ID和名字,系統已經自動配置好了大部分的數據,如果有需求可以手動在其中添加。



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