會用到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之數量
沒有留言:
張貼留言