はじめに
NetSNMPとは、SNMPプロトコルを実装したオープンソースソフトウェアです。SNMPユーティリティを使用することで、SNMPエージェントから情報を取得したり、監視対象で利用できるOIDの一覧を取得することができます。
インストール/アンインストール
NetSNMPツールをインストールします。
# dnf -y install net-snmp-utils
アンインストールする場合は、以下のコマンドを入力します。
# dnf -y remove net-snmp-utils
インストールされているか確認する場合は、以下のコマンドを入力します。
# yum list installed | grep net-snmp-utils
書式
snmpgetコマンド
SNMPエージェントから情報を収集するコマンドです。
snmpget -v SNMPバージョン -c コミュニティ名 監視対象のIPアドレス 値を取得したいOID
snmpwalkコマンド
監視対象で利用できるOIDの一覧を取得するためのコマンドです。
snmpwalk -v SNMPバージョン -c コミュニティ名 監視対象のIPアドレス
※snmpwalkコマンドは機器に負荷がかかるため、使用する場合は注意して下さい。
snmptranslateコマンド
MIBのシンボル名とOIDを変換するコマンドです。
OIDをシンボル名に変換
snmptranslate OID
シンボル名をOIDに変換
snmptranslate -On シンボル名
使用例
snmpgetコマンド
機器の説明を取得します。
# snmpget -v 2c -c public IPアドレス .1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) C2900XL Software (C2900XL-C3H2S-M), Version 12.0(5)XU, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2000 by cisco Systems, Inc.
Compiled Mon 03-Apr-00 16:37 by swati
ホスト名を取得します。
# snmpget -v 2c -c public IPアドレス .1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: Catalyst2924-2
起動からの経過時間(アップタイム)を取得します。
# snmpget -v 2c -c public IPアドレス .1.3.6.1.2.1.1.3.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (473534) 1:18:55.34
snmpwalkコマンド
指定したIPアドレスの機器について利用できるOIDの一覧を取得します。
# snmpwalk -v 2c -c public IPアドレス
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) C2900XL Software (C2900XL-C3H2S-M), Version 12.0(5)XU, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2000 by cisco Systems, Inc.
Compiled Mon 03-Apr-00 16:37 by swati
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.217
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (515675) 1:25:56.75
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: Catalyst2924-2
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 2
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
IF-MIB::ifNumber.0 = INTEGER: 26
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifIndex.3 = INTEGER: 3
・・・
※snmpwalkコマンドは機器に負荷がかかるため、使用する場合は注意して下さい。
指定したIPアドレスの機器についてOID(.1.3.6.1.2.1.2.2.1.2)配下の一覧を取得します。
# snmpwalk -v 2c -c public IPアドレス .1.3.6.1.2.1.2.2.1.2
IF-MIB::ifDescr.1 = STRING: VLAN1
IF-MIB::ifDescr.2 = STRING: FastEthernet0/1
IF-MIB::ifDescr.3 = STRING: FastEthernet0/2
IF-MIB::ifDescr.4 = STRING: FastEthernet0/3
IF-MIB::ifDescr.5 = STRING: FastEthernet0/4
IF-MIB::ifDescr.6 = STRING: FastEthernet0/5
IF-MIB::ifDescr.7 = STRING: FastEthernet0/6
IF-MIB::ifDescr.8 = STRING: FastEthernet0/7
IF-MIB::ifDescr.9 = STRING: FastEthernet0/8
IF-MIB::ifDescr.10 = STRING: FastEthernet0/9
IF-MIB::ifDescr.11 = STRING: FastEthernet0/10
IF-MIB::ifDescr.12 = STRING: FastEthernet0/11
IF-MIB::ifDescr.13 = STRING: FastEthernet0/12
IF-MIB::ifDescr.14 = STRING: FastEthernet0/13
IF-MIB::ifDescr.15 = STRING: FastEthernet0/14
IF-MIB::ifDescr.16 = STRING: FastEthernet0/15
IF-MIB::ifDescr.17 = STRING: FastEthernet0/16
IF-MIB::ifDescr.18 = STRING: FastEthernet0/17
IF-MIB::ifDescr.19 = STRING: FastEthernet0/18
IF-MIB::ifDescr.20 = STRING: FastEthernet0/19
IF-MIB::ifDescr.21 = STRING: FastEthernet0/20
IF-MIB::ifDescr.22 = STRING: FastEthernet0/21
IF-MIB::ifDescr.23 = STRING: FastEthernet0/22
IF-MIB::ifDescr.24 = STRING: FastEthernet0/23
IF-MIB::ifDescr.25 = STRING: FastEthernet0/24
IF-MIB::ifDescr.26 = STRING: Null0
snmptranslateコマンド
OIDをシンボル名に変換します。
# snmptranslate .1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0
シンボル名をOIDに変換します。
# snmptranslate -On SNMPv2-MIB::sysName.0
.1.3.6.1.2.1.1.5.0