2015年4月12日 星期日

snmp簡易操作教學

會用到snmp的人員應該很少,
但是這是系統維運人員必備的知識。
以下簡單列出一些基本用法。


查數值
snmpwalk -v2c -c (密碼) (IP) (node, ex: .1.3.6.1.4.1.2021.4.14)

完整表格說明與數值
snmptable -c (密碼) -v 1 (IP) (參數, ex: HOST-RESOURCES-MIB::hrStorageTable)

查項目名稱
snmpwalk -v2c -c (密碼) (IP) (參數, ex: hrStorageDescr)

查系統資訊
snmpwalk -v2c -c (密碼) (IP) system

參數意義
-v2c 表示snmpwalk版本
-c community

snmptranslate
轉換oid與mib name, 查本機mib架構
snmptranslate -Of (node, ex: .1.3.6.1.4.1.2021.11.11.0)
snmptranslate -On (node, ex: .iso.org.dod.internet.private.enterprises.ucdavis.systemStats.ssCpuIdle.0)
-Of 數字轉文字
-On 文字轉數字

snmpwalk也可使用-On -Of
ex. snmpwalk -v2c -c (密碼) -Of (IP) hrStorageUsed

實例練習:
snmp如何取得linux之memory使用量

用snmp求出下列數值
.iso.org.dod.internet.private.enterprises.ucdavis.memory.memTotalReal
.iso.org.dod.internet.private.enterprises.ucdavis.memory.memAvailReal
.iso.org.dod.internet.private.enterprises.ucdavis.memory.memBuffer
.iso.org.dod.internet.private.enterprises.ucdavis.memory.memCached

一般memory計算只要使用 memAvailReal/memTotalReal 即可算出空閒memory數量,
但由於linux不會讓memory擺著浪費,會主動把剩下的memory挪作他用,
因此這樣算出之數值會無法反映現況,會搞得系統維運人員認為memory滿載。

比較正確之算法應該使用 
(memTotalReal-(memAvailReal+memBuffer+memCached))/memTotalReal
這樣就能正確反映使用者程式所消耗後,剩餘可用memory之數量

沒有留言:

張貼留言