Transcript SNMP事始め
SNMP事始め 2006/01/28 NISOC冬合宿 Katsuichi Ishimoto [email protected] 目次 SNMPについて MIBについて SNMPプロトコル(通常) SNMPプロトコル(Trap) OID SNMPコマンド群 トラフィック値をとってみよう その他の値をとってみる SNMPv3とは? 便利なSNMPツール SNMPについて 機器の状態を知りましょう 機器の変化を通知しましょう なプロトコル SNMPプロトコル UDPを使用。 Portは161・162 RFC1157 SNMPについて(2) 要求 応答 通知(Trap) PDU(Protocol Data Unit) 要求 Get Request Get Next Request Set Request 応答 Get Response Trap MIBについて MIB (Management Information Base) 標準MIB RFC1156 Private MIB MIB-2(MIB内のサブツリー) RFC1213 MIBについて(2) 知ってる 知ってる MIB MIB エージェント (NW機器など) PDUを やりとり コミュニティ名と IPアドレスで認証 Read,write コミュニティを設定してお く マネージャ SNMPプロトコル (SNMPメッセージ) IP UDP SNMP コミュニティ Ver PDU SNMPプロトコル(通常) どのデータに エラーがあるか の場所 (Objectデータ) PDU Type Request Error Error ID ステータス Index DATA1 OID 0.Get 1.GetNext 2.Get Response 3.Set Request 4.Trap マネージャと エージェント間 とのシーケンス ナンバー 値 DATA2 OID 0.エラーなし 1.PDUサイズ大きい 2.OBJがないよ 3.SetRequestの値が変 4.欠番 5.予期せぬエラー 値 OID: オブジェクトID 値: オブジェクトID内 に格納されている 数値 SNMPプロトコル(Trap) エージェントの IPアドレス 起動からの 経過時間 (Objectデータ) Generific Specific PDU Enterprise Agent Trap Trap Type 値 アドレス Type Type 4 4.Trap が入る メーカ 値 Time Stamp 0.Cold Start 1.Walm Start 2.Link Down 3.Link Up 4.authentication Failure 5.egp neighbor loss 6.その他のTrap DATA1 OID 値 DATA2 OID 値 Generic Trap Type を6(その他) にすると ここが使える OID: オブジェクトID 値: オブジェクトID内 に格納されている 数値 OID OID (オブジェクトID) 値や状態フラグが収められる場所のID iso(1) org(3) dod(6) directory(1) Internet(1) mgmt(2) private(4) experimental(3) mib2(1) system(1) interface(2) at(3) →MIB2の出発点は、1.3.6.1.2.1 snmpコマンド群 net-snmp (旧ucd-snmp) 各種OSで動作する、SNMPを取り扱う ためのコマンド群とデーモン http://net-snmp.sourceforge.net/ snmpbulkget snmpget snmptable snmpvacm snmpbulkwalk snmpgetnext snmptest Snmpwalk snmpconf snmpinform snmptranslate Snmpdelta snmpnetstat snmptrap snmpdf snmpset snmpusm snmpd トラフィック値をとってみよう interfaces OIDは、 1.3.6.1.2.1.2 インターフェースの一覧を取得するには? OID 1.3.6.1.2.1.2.2.1.2 interfaces If Entry If Table If Descr トラフィック値をとってみよう(2) Snmpwalkを使う #snmpwalk IPアドレス -c コミュニティ名 OID #snmpwalk 172.16.1.1 -c public 1.3.6.1.2.1.2.2.1.2 Snmpwalkを使うと、インデックス化されたOIDを一覧取得 できる。 トラフィック値をとってみよう(3) インターフェース一覧が取得できたら、 そのIDでsnmpgetする #snmpget IPアドレス -c コミュニティ名 OID #snmpget 172.16.1.1 -c public 1.3.6.1.2.1.2.2.1.10.1 トラフィック値をとってみよう(4) インターフェースのトラフィックカウンタを取得する(InOctet) OID 1.3.6.1.2.1.2.2.1.10.X interfaces インターフェース のインデックス値 ifInOctets If Entry If Table トラフィック値をとってみよう(5) インターフェースのトラフィックカウンタを取得する(OutOctet) OID 1.3.6.1.2.1.2.2.1.16.X interfaces インターフェース のインデックス値 ifOutOctets If Entry If Table その他の値をとってみる MIB2でトラフィックカウンタが見れないような機種もある 例えば・・ 1.3.6.1.4.1.263.2.1.15.8.1.2.115.1827(IN) 1.3.6.1.4.1.263.2.1.15.8.1.5.115.1827(OUT) なんていうひどいOIDも。 (ちなみに1.3.6.1.4はプライベートMIB) SNMPv3とは? 主に認証強化 ・SNMPパケットの認証・暗号化→プライバシー機能 ・ユーザ認証 便利なSNMPツール ・AdventNet Manage Engine OPManager (5ノード監視まではトライウェア 統合監視ソフト おすすめ) http://www.adventnet.co.jp/products/opmanager/ ・milusoft SnmpMonitor (IPv6対応・フリー MIB一覧取得に便利) http://www.milu.jp/SnmpMonitor/ ・Net-SNMP(事実上必須といってもいいでしょう) http://net-snmp.sourceforge.net/