要在OpenNMS上取得環境中Linux主機的資源狀態,例如CPU使用率,連線人數,TCP連線數等,其實是很簡單的,
只要Linux上安裝好SNMP,OpenNMS就可以透過SNMP協定來抓取到這些系統資源。
以Ubuntu來說,安裝SNMP指令如下。
apt-get install snmp snmpd
以CentOS來說,安裝SNMP指令如下。
yum install net-snmp net-snmp-utils
安裝完成後,修改設定檔 /etc/snmp/snmpd.conf,依需求建立v1/v2c或v3的community/user,
讓OpenNMS能以這些設定的community或user去query該主機,並得到MIB的回應資訊即可。
v1 snmp的簡單read only community設定如下,其中Community-Name預設為 public,可依需求自行修改。
## sec.name source community
com2sec notConfigUser default <Community-Name>
## group.name sec.model sec.name
group notConfigGroup v1 notConfigUser
## incl/excl subtree mask
view roview included .1
## context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact roview none none
而v2c的設定其實跟v1一樣,只是把版本由 v1 改為 v2c。
## sec.name source community
com2sec notConfigUser default <Community-Name>
## group.name sec.model sec.name
group notConfigGroup v2c notConfigUser
## incl/excl subtree mask
view roview included .1
## context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact roview none none
至於v3的設定與v1/v2c不同,它有user的帳號/密碼概念,不再是單單透過Community Name去做驗證,
簡單的建立read only帳號的方式如下,啟動服務後就會建立一個名為snmpuser的v3 ready only帳號了。
##以MD5加密的方式建立使用者snmpuser的authentication密碼,以DES的方式建立privacy密碼。
createUser snmpuser MD5 <SNMP-AuthPWD> DES <SNMP-PrivPWD>
##建立v3版本ready only的snmpuser帳號
rouser snmpuser priv .1
以上設定,是簡單的讀取權限設定,
若您不希望開放所有MIB資料都可以讀取,請自行修改允許的MIB階層。
設定完成後,啟動snmpd服務,
service snmpd start
另外CentOS還需要下達以下指令才能在level 3,4,5時自動啟動,Ubuntu則不需要。
chkconfig --level 345 snmpd on
啟動snmpd服務後以對應版本的snmpwalk去測試能否取得到MIB的回應訊息。
SNMP v1
snmpwalk -v 1 -c <Community-Name> localhost
SNMP v2c
snmpwalk -v 2c -c <Community-Name> localhost
SNMP v3
snmpwalk -v 3 -u snmpuser -l authPriv -a MD5 -A <SNMP-AuthPWD> -x DES -X <SNMP-PrivPWD> localhost
測試無誤後,在OpenNMS中以對應的SNMP版本資訊去掃描,就可以抓到以下資訊。
再把 datacollection-config.xml 設定檔中的 snmpStorageFlag 參數由預設的 select 調整為 all 並重啟OpenNMS服務後,
就可以在Resource Graphs中的node-level得到以下豐富的CPU、Memory與TCP流量圖。
(snmpStorageFlag 設定為 all 的原因請參考這一篇 建立第三方物件node-level data collect)
♥順子老婆的網拍,請多關照∼
If you don't like something, change it.
If you can't change it, change your attitude.
Don't complain!
|