snmpdを設定してcheck_snmpで確認しようとしています。
snmpwalk -c public -v 2c localhost
iso.3.6.1.2.1.1.1.0 = STRING: "Linux ik1-325-22819 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (45994) 0:07:39.94
iso.3.6.1.2.1.1.4.0 = STRING: "Me <[email protected]>"
iso.3.6.1.2.1.1.5.0 = STRING: "ik1-325-22819"
iso.3.6.1.2.1.1.6.0 = STRING: "Sitting on the Dock of the Bay"
iso.3.6.1.2.1.1.7.0 = INTEGER: 72
iso.3.6.1.2.1.1.8.0 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.11.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.6.3.16.2.2.1
iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.7 = OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.8 = OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.9 = OID: iso.3.6.1.6.3.13.3.1.3
iso.3.6.1.2.1.1.9.1.2.10 = OID: iso.3.6.1.2.1.92
iso.3.6.1.2.1.1.9.1.3.1 = STRING: "The MIB for Message Processing and Dispatching."
iso.3.6.1.2.1.1.9.1.3.2 = STRING: "The management information definitions for the SNMP User-based Security Model."
iso.3.6.1.2.1.1.9.1.3.3 = STRING: "The SNMP Management Architecture MIB."
iso.3.6.1.2.1.1.9.1.3.4 = STRING: "The MIB module for SNMPv2 entities"
iso.3.6.1.2.1.1.9.1.3.5 = STRING: "View-based Access Control Model for SNMP."
iso.3.6.1.2.1.1.9.1.3.6 = STRING: "The MIB module for managing TCP implementations"
iso.3.6.1.2.1.1.9.1.3.7 = STRING: "The MIB module for managing IP and ICMP implementations"
iso.3.6.1.2.1.1.9.1.3.8 = STRING: "The MIB module for managing UDP implementations"
iso.3.6.1.2.1.1.9.1.3.9 = STRING: "The MIB modules for managing SNMP Notification, plus filtering."
iso.3.6.1.2.1.1.9.1.3.10 = STRING: "The MIB module for logging SNMP Notifications."
iso.3.6.1.2.1.1.9.1.4.1 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.2 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.3 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.4 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.5 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.6 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.7 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.8 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.9 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.10 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.2.1.0 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.1.1 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.1.2 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.1.3 = INTEGER: 3
iso.3.6.1.2.1.2.2.1.1.4 = INTEGER: 4
iso.3.6.1.2.1.2.2.1.1.5 = INTEGER: 5
iso.3.6.1.2.1.2.2.1.1.6 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.2.1 = STRING: "lo"
iso.3.6.1.2.1.2.2.1.2.2 = STRING: "Red Hat, Inc. Device 0001"
iso.3.6.1.2.1.2.2.1.2.3 = STRING: "Red Hat, Inc. Device 0001"
iso.3.6.1.2.1.2.2.1.2.4 = STRING: "Red Hat, Inc. Device 0001"
iso.3.6.1.2.1.2.2.1.2.5 = STRING: "docker0"
iso.3.6.1.2.1.2.2.1.2.6 = STRING: "br-6ec47ade44ad"
iso.3.6.1.2.1.2.2.1.3.1 = INTEGER: 24
iso.3.6.1.2.1.2.2.1.3.2 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.3.3 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.3.4 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.3.5 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.3.6 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.4.1 = INTEGER: 65536
iso.3.6.1.2.1.2.2.1.4.2 = INTEGER: 1500
iso.3.6.1.2.1.2.2.1.4.3 = INTEGER: 1500
iso.3.6.1.2.1.2.2.1.4.4 = INTEGER: 1500
iso.3.6.1.2.1.2.2.1.4.5 = INTEGER: 1500
iso.3.6.1.2.1.2.2.1.4.6 = INTEGER: 1500
iso.3.6.1.2.1.2.2.1.5.1 = Gauge32: 10000000
iso.3.6.1.2.1.2.2.1.5.2 = Gauge32: 0
iso.3.6.1.2.1.2.2.1.5.3 = Gauge32: 0
iso.3.6.1.2.1.2.2.1.5.4 = Gauge32: 0
iso.3.6.1.2.1.2.2.1.5.5 = Gauge32: 0
iso.3.6.1.2.1.2.2.1.5.6 = Gauge32: 0
iso.3.6.1.2.1.2.2.1.6.1 = ""
iso.3.6.1.2.1.2.2.1.6.2 = Hex-STRING: 9C A3 BA 01 DF C3
iso.3.6.1.2.1.2.2.1.6.3 = Hex-STRING: 9C A3 BA 03 66 63
iso.3.6.1.2.1.2.2.1.6.4 = Hex-STRING: 9C A3 BA 04 ED 03
iso.3.6.1.2.1.2.2.1.6.5 = Hex-STRING: 02 42 D7 D1 60 44
iso.3.6.1.2.1.2.2.1.6.6 = Hex-STRING: 02 42 D8 24 17 95
iso.3.6.1.2.1.2.2.1.7.1 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.7.2 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.7.3 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.7.4 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.7.5 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.7.6 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.8.1 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.8.2 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.8.3 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.8.4 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.8.5 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.8.6 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.9.1 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.9.2 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.9.3 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.9.4 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.9.5 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.9.6 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.10.1 = Counter32: 3214378817
iso.3.6.1.2.1.2.2.1.10.2 = Counter32: 1235162258
iso.3.6.1.2.1.2.2.1.10.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.10.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.10.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.10.6 = Counter32: 286316
iso.3.6.1.2.1.2.2.1.11.1 = Counter32: 135588065
iso.3.6.1.2.1.2.2.1.11.2 = Counter32: 60939410
iso.3.6.1.2.1.2.2.1.11.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.11.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.11.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.11.6 = Counter32: 4466
iso.3.6.1.2.1.2.2.1.12.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.12.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.12.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.12.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.12.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.12.6 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.6 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.6 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.6 = Counter32: 0
iso.3.6.1.2.1.2.2.1.16.1 = Counter32: 3214378817
iso.3.6.1.2.1.2.2.1.16.2 = Counter32: 2438196185
iso.3.6.1.2.1.2.2.1.16.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.16.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.16.5 = Counter32: 0
.
.
.
それから_snmpをチェックしようとしています。
./check_snmp -H localhost -O
No OIDs specified
どちらも同じホストにあります。
OIDはどのように見つけることができますか? check_snmpの場合?
インターフェイスの転送量を知りたいです。ens3
しかし、正直なところ、どこから始めるべきかわかりません。
私はこれを試しました。
$ snmpwalk -c public -v 2c localhost | grep ens3
iso.3.6.1.2.1.25.3.2.1.3.262146 = STRING: "network interface ens3"
iso.3.6.1.2.1.31.1.1.1.1.2 = STRING: "ens3"
$ ./check_snmp -H localost -O iso.3.6.1.2.1.31.1.1.1.1.2
No OIDs specified
答え1
OIDはああオブジェクトID実在。数値形式では、ドットで区切られた数値文字列として表示されます。さらに、数字はいくつかの定義に従ってキーワードにマッピングされる象徴的な形式を有する。
OIDは、OIDツリー構造のルートにある最初のマスター分岐を識別するためiso
です。1
そのシンボル情報が利用できない場合は、OIDのシンボル形式で始まり、数字のサフィックスを追加できます。
これらの定義は、標準化された形式でMIBファイルに保存されます。
システムに標準のMIBファイルがロードされていないか、snmpwalk
そのファイルを使用するようにシステムが構成されていないようです。それ以外の場合、snmpwalk 出力は次のようになります。
SNMPv2-MIB::sysDescr.0 = STRING: "Linux ik1-325-22819 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64"
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-TC::linux
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (45994) 0:07:39.94
SNMPv2-MIB::sysContact.0 = STRING: "Me <[email protected]>"
SNMPv2-MIB::sysName.0 = STRING: "ik1-325-22819"
SNMPv2-MIB::sysLocation.0 = STRING: "Sitting on the Dock of the Bay"
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (1) 0:00:00.01
...など。それはもっと有益だと思いませんか?
MIBファイルは、OID名に加えて他のものを定義します。また、さまざまな値の意味の説明を含み、情報テーブルを構成するOIDグループも定義します。
OIDから始まるというiso.3.6.1.2.1.31.1.1
ネットワークインタフェース統計テーブルがありますIF-MIB::ifXTable
。フォームのOIDは、iso.3.6.1.2.1.31.1.1.1.1.N
各インターフェイスの名前を識別するテーブルの最初の列を構成します。このインターフェイスを介してインバウンドに送信されたバイト数は、それぞれ形式のOIDとともにテーブルの別の列に表示されますiso.3.6.1.2.1.31.1.1.1.6.N
。ここで、Nはインタフェース名に対応します。インターフェイスを介して送信されたバイト数は、OID形式で別の列にありますiso.3.6.1.2.1.31.1.1.1.10.N
。
あなたのコマンドを見ると、インターフェイスのSNMPテーブル行番号(N
)ens3
が2であることがわかります。後で必要であることを覚えておいてください。
MIBがロードされ使用されると、このsnmptable
コマンドを使用してすべてのテーブルを意味のある方法で一度に表示できます。たとえば、このインターフェイス統計テーブルを表示するには、次のようにします。
snmptable -c public -v 2c localhost IF-MIB::ifXTable
そしてそれをすべてテーブル形式で表示します。 (これはかなり広いデスクなので、これを試すには、まずターミナルウィンドウを非常に広くします。)
snmptable
このコマンドは、そのテーブルを定義するMIBファイルが利用可能な場合にのみ機能します。
DebianとおそらくUbuntuでも、sudo apt install snmp-mibs-downloader
インターネットの権威ある標準ソースから広範な標準MIBセットをダウンロードし、ここにいくつかの正誤表を適用して/var/lib/snmp/mibs/
保存します。パッケージがインストールされたら自動的にダウンロードすることも、コマンドを使用する必要がありますsudo download-mibs
。
ダウンロードしたMIBの使用を開始するには、次の行をコメントアウトする必要があります/etc/snmp/snmp.conf
。
# As the snmp packages come without MIB files due to license reasons, loading
# of MIBs is disabled by default. If you added the MIBs you can reenable
# loading them by commenting out the following line.
mibs :
最後の行をコメントアウトするかmibs ALL
、に置き換えるか、~/.snmp/snmp.conf
1行だけ作成すると、mibs ALL
ダウンロードしたMIBを自動的に使用できます。
しかも仕入先別MIB、ベンダー固有のOIDを説明するだけでなく、特定の製造元とデバイスモデルに関する追加情報も説明できます。通常、ベンダーサポートダウンロードサイトでは、一部のベンダー固有の管理パックの一部としてこれらのアイテムを入手できます。
のcheck_snmp
場合-o
(小文字)オプション。たとえば、ネットワークインターフェイスからインバウンドに送信されるデータ量を監視するには、ens3
次のようにします。
./check_snmp -H localhost -C public -P 2c -O -o iso.3.6.1.2.1.31.1.1.1.6.2
またはMIBがインストールされている場合:
./check_snmp -H localhost -C public -P 2c -O -o IF-MIB::ifHCInOctets.2
アウトバウンドに送信されたデータの場合:
./check_snmp -H localhost -C public -P 2c -O -o iso.3.6.1.2.1.31.1.1.1.10.2
またはMIBを使用してください。
./check_snmp -H localhost -C public -P 2c -O -o IF-MIB::ifHCOutOctets.2