簡単SNMP(概要編)
SNMPで誤解してた部分を勉強し直したついでに纏めてみた。
SNMP(Simple Network Management Protocol)
ご存じの通り
コンピュータが健全に動作しているか否かをネットワーク越しに監視する仕組み
インフラエンジニアならば必ず使った事がある程身近な仕組みなのだが実はかなり複雑。
監視項目は膨大な数が定義されているが、ツリー状に整理されている。
例えばトップレベルのツリーはこの様な感じ。
+--iso(1)--org(3)--dod(6)--internet(1) +--directory(1) +--mgmt(2) | +--mib-2(1) | +--system(1) | +--interfaces(2) | +--at(3) | +--ip(4) | +--icmp(5) | +--tcp(6) | +--udp(7) | +--egp(8) | +--transmission(10) | +--snmp(11) | +-- : | +--experimental(3) +--private(4) | +--enterprises(1) | +--unix(4) | +--ucdavis(2021) | +--netSnmp(8072) | +--security(5) +--snmpV2(6)
パス指定法
- フルテキスト指定
- .iso.org.dod.internet.private.enterprises
- コード指定
- .1.3.6.1.4.1
- 省略形
- SNMPv2-SMI::enterprises
/usr/share/snmp/mibs/SNMPv2-SMI.txt 内の定義中の enterprises の意
- snmptranslate
- パス定義ファイルから名前解決を行う。(digの様なもの)
$ snmptranslate .1.3.6.1.4.1 SNMPv2-SMI::enterprises $ snmptranslate -Of .1.3.6.1.4.1 .iso.org.dod.internet.private.enterprises
とりあえず最低限覚える
企業拡張MIB
.iso.org.dod.internet.private.enterprises(.1.3.6.1.4.1) 以下
- 管理団体
- IANA(Internet Assigned Numbers Authority)
IANA(http://www.iana.org/)から企業コードを取得して自由に拡張できる。
例えばIBMの企業コードは2、ciscoは9である。
勿論、オレオレSNMPを試したいだけなら届け出る必要はない。
OID
- OID
- 所謂パス
(.1.3.6.1.4.1)
net-snmp
多分標準snmpd
# yum install net-snmp
とかで簡単に入る。
cpuloadやmemory情報(freeコマンド相当)はnet-snmp拡張の部分から取れる
- .1.3.6.1.4.1.2021
- .1.3.6.1.4.1.8072
- ツリー定義
- MIBと呼ばれる定義ファイル。
<定義名>.txt - MIBファイルの場所
- /usr/share/snmp/mibs/*
監視例
- swap usage
- topで出てくる値ね。
わざわざログインしてtop確認しなくて良いという事!
$ snmpget -v1 localhost -c crumbc .1.3.6.1.2.1.25.2.3.1.6.10 HOST-RESOURCES-MIB::hrStorageUsed.10 = INTEGER: 480
次回
環境構築くらい迄の予定