snmpdはsnmpget等の問い合わせに応答してサーバの状態を返すSNMPの常駐プログラムです。サーバにsnmpdの設定を予め投入しておく事によって、統合監視ツールからの問い合わせに対して応答を返せるようになります。このページではCentOS 8.X/Rocky Linux 9.Xの設定例を紹介します。
混同しやい概念としてsnmptrapdがありますが、これらとは異なる概念です。snmptrapdは各機器がアラートとして発報するsnmptrapdを受信する常駐プログラムです。
前提
動作確認済環境
- CentOS 8.2 / Rocky Linux 8.6 / Rocky Linux 9.0
snmp関連のインストール
snmpdのインストール
snmpdはnet-snmpというパッケージによって提供されます。yumコマンドでnet-snmpをインストールして下さい。
# dnf install net-snmp
インストールが完了したら、次にsnmpdを起動させます。
# systemctl enable snmpd.service --now
snmp-utilsのインストール
必須ではありませんが、net-snmp-utilsも併せてインストールする事をお勧めします。net-snmp-utilsは、snmpget, snmpwalkなどsnmpのデバッグを行うのに有用なツールを多数備えています。
# dnf install net-snmp-utils
snmpdへの疎通確認 (CentOS 8.X系のみ)
RHEL 8.Xはここまでの操作でsnmpwalkによる疎通確認が可能になります。以下に疎通確認のログを載せます。
RHEL 9.X以降は、デフォルト設定では疎通不能の状態でcom2sec, groupなどの設定をしなければ疎通可能になりません。
[root@centos82 ~]# snmpwalk -v 2c -c public localhost SNMPv2-MIB::sysDescr.0 = STRING: Linux centos82.gokatei.go 4.18.0-193.el8.x86_64 #1 SMP Fri May 8 10:59:10 UTC 2020 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2732) 0:00:27.32 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING: centos82.gokatei.go SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf) SNMPv2-MIB::sysORLastChange.0 = Timeticks: (1) 0:00:00.01 SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.5 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup SNMPv2-MIB::sysORID.6 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.7 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.8 = OID: UDP-MIB::udpMIB SNMPv2-MIB::sysORID.9 = OID: SNMP-NOTIFICATION-MIB::snmpNotifyFullCompliance SNMPv2-MIB::sysORID.10 = OID: NOTIFICATION-LOG-MIB::notificationLogMIB <omitted>
RHEL 9.X 最小設定
最小設定例
セキュリティ上の配慮なのか、RHEL 9.Xではデフォルト設定の状態ではsnmpdは応答を返しません。/etc/snmp/snmpd.confをテキストエディタで開き、com2secとgroupのコメントアウトを外します。
# vi /etc/snmp/snmpd.conf <omitted> #### # First, map the community name "public" into a "security name" # sec.name source community com2sec notConfigUser default public #### # Second, map the security name into a group name: # groupName securityModel securityName group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser
設定反映のため再起動します。
systemctl restart snmpd.service
snmpdへの疎通確認
snmpwalkなどにより疎通を確認できます。操作例は以下のようになります。
[root@rocky90 ~]# snmpwalk -v 2c -c public localhost SNMPv2-MIB::sysDescr.0 = STRING: Linux rocky90.gokatei.go 5.14.0-70.13.1.el9_0.x86_64 #1 SMP PREEMPT Wed May 25 21:01:57 UTC 2022 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (200) 0:00:02.00 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING: rocky90.gokatei.go SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf) SNMPv2-MIB::sysORLastChange.0 = Timeticks: (1) 0:00:00.01 SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.5 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup SNMPv2-MIB::sysORID.6 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB <omitted>
設定例の紹介
snmpd.conf 編集例(1)
view – 取得可能なOIDの範囲の定義
OSバージョンやディストリビューションに依存しますが、初期設定では/etc/snmp/snmpd.confに記載された下記OIDのみが取得可能な状態です。
# Make at least snmpwalk -v 1 localhost -c public system fast again. # name incl/excl subtree mask(optional) view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1
手っ取り早く監視対象を増やしたい時は、/etc/snmp/snmpd.confを以下のように編集します。
# vi /etc/snmp/snmpd.conf # Make at least snmpwalk -v 1 localhost -c public system fast again. # name incl/excl subtree mask(optional) view systemview included .1
設定反映前は監視によって取得できる項目数が39である事を確認します。
[root@centos82 ~]# snmpwalk -v 2c -c public localhost | wc -l 39
再起動によって設定を反映させると監視項目が4040まで増えている事が分かります。
[root@centos82 ~]# systemctl restart snmpd.service [root@centos82 ~]# snmpwalk -v 2c -c public localhost | wc -l 4040 [root@centos82 ~]#
snmpd.conf 編集例(2)
com2sec – コミュニティ名とセキュリティの紐付け
snmpd.confには、com2secという定義が必要です。com2secは、 communityとsource ip addressの紐づけで、紐付けにはsecurity nameという名前を定義します。
設定例は以下のようになります。この設定の場合は、192.168.63.0/24からのpublicというコミュニティ名でアクセスする事を許可します。また、この192.168.63.0/24とpublicという紐付けに対してmynetというsecurity nameを定義します。
# vi /etc/snmp/snmpd.conf # sec.name source community com2sec local localhost private com2sec mynet 192.168.63.0/24 public com2sec public default public
gruopの定義 – snmp versionの定義
snmpd.confには、groupという定義が必要です。groupは前述のsecurity nameとsnmp versionの紐付けの定義です。
設定例は以下のようになります。この設定の場合は、前述のmynetに対してsnmp version 1, snmp version 2cを許可する設定例です。
# vi /etc/snmp/snmpd.conf # sec.model sec.name group mygroup v1 mynet group mygroup v2c mynet
view – 取得可能なOIDの範囲の定義
snmpd.confには、viewという定義が必要です。viewは、取得可能なOIDの範囲です。
設定例は以下のようになります。なお、maskの概念は難しいので、興味のない方は”おまじない”と思って設定しても良いと思います。maskの意味に興味のある方は後述のTipsをご覧ください。
# vi /etc/snmp/snmpd.conf # incl/excl subtree mask view all included .1 80 view system included system fe view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
access – 権限設定
snmpd.confには、accessという定義が必要です。accessは、 各security nameに対しての権限設定です。設定可能な権限は、読取, 書込, 通知 (read, write, notify) の3種類です。
設定例は以下のようになります。なお、context, sec.model, sec.level, prefixはSNMPv3で使用するパラメータですので、SNMPv1, SNMPv2cを使用する場合は盲目的に以下と同じ値を設定しても差し支えありません。
# vi /etc/snmp/snmpd.conf # context sec.model sec.level prefix read write notify access mygroup "" any noauth exact mib2 none none access public "" any noauth exact system none none access local "" any noauth exact all all all
snmpd.conf 編集例(3) – NMSからのアクセス許可
/etc/snmp/snmpd.conf の設定例を紹介します。
殆どの環境では、NMS (Network Management Station) からのアクセスのみをMIB値を許容するようにすれば、運用上問題ありません。また、localhostからSNMPの調査をするデバッグ作業をする事も多いので、localhostからのアクセスも許可した方が何かと便利な事が多いです。
このような事情を加味すると、snmpd.confの設定例は以下のようになります。なお、SMNのIPアドレスは192.168.63.70とし、コミュニティ名はfooとしております。
# /etc/snmp/snmpd.conf # sec.name source community com2sec notConfigUser 192.168.63.70 foo com2sec notConfigUser localhost foo # sec.model sec.name group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser # incl/excl subtree mask view all included .1 # context sec.model sec.level prefix read write notify access notConfigGroup "" any noauth exact all none none
再起動によって設定を反映させます。
# systemctl restart snmpd.service
許可されたホストのみ疎通可能である事を確認します。
[root@centos81 ~]# snmpwalk -v 2c -c foo 192.168.63.82 Timeout: No Response from 192.168.63.82 [root@zabbix70 ~]# snmpwalk -v 2c -c foo 192.168.63.82 SNMPv2-MIB::sysDescr.0 = STRING: Linux centos82.gokatei.go 4.18.0-193.el8.x86_64 #1 SMP Fri May 8 10:59:10 UTC 2020 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (15388) 0:02:33.88 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING: centos82.gokatei.go SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf) SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance <omitted>
snmpd.conf 編集例(4) – プロセス監視
snmpd.confにプロセス監視の設定を加筆する事によって、プロセス監視が可能になります。snmpd.confのプロセス監視の書式は以下の通りです。max, minはプロセス数の上限, 下限の閾値を表します。
proc <process_name> [ <max> <min> ]
プロセス監視の設定例は以下の通りです。/etc/snmp/snmpd.conf のどこに記述しても動作に影響はありませんが、メンテナンス性を考え”#proc sendmail 10 1″以下に記述するのが良いと思います。
# vi /etc/snmp/snmpd.conf # Make sure at least one sendmail, but less than or equal to 10 are running. #proc sendmail 10 1 proc httpd 100 1 proc chronyd
動作確認方法は以下の通りです。prTable配下のMIB値を取得する事によって、プロセス数を把握する事ができます。
この時、特に注意深く見なければならないのはprCountとprErrorFlagです。prCountはプロセス数を返し、prErrorFlagはプロセス数の閾値に抵触した場合は”1″を返します。
[root@centos82 ~]# systemctl restart snmpd.service [root@centos82 ~]# snmpwalk -v 2c -c foo localhost prTable UCD-SNMP-MIB::prIndex.1 = INTEGER: 1 UCD-SNMP-MIB::prIndex.2 = INTEGER: 2 UCD-SNMP-MIB::prNames.1 = STRING: httpd UCD-SNMP-MIB::prNames.2 = STRING: chronyd UCD-SNMP-MIB::prMin.1 = INTEGER: 1 UCD-SNMP-MIB::prMin.2 = INTEGER: 1 UCD-SNMP-MIB::prMax.1 = INTEGER: 100 UCD-SNMP-MIB::prMax.2 = INTEGER: 0 UCD-SNMP-MIB::prCount.1 = INTEGER: 5 UCD-SNMP-MIB::prCount.2 = INTEGER: 1 UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0) UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0) UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0) UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0) UCD-SNMP-MIB::prErrFixCmd.1 = STRING: UCD-SNMP-MIB::prErrFixCmd.2 = STRING:
snmpd.conf 編集例(5) – ディスク残容量監視
snmpd.confにディスク残容量監視の設定を加筆する事によって、ディスク残容量監視が可能になります。snmpd.confのディスク残容量監視の書式は以下の通りです。thresholdはメガバイト指定またはパーセント指定が可能です。
disk <mount_point> <threshold>
ディスク残容量監視の設定例は以下の通りです。/etc/snmp/snmpd.conf のどこに記述しても動作に影響はありませんが、メンテナンス性を考え”#disk / 10000″以下に記述するのが良いと思います。
# vi /etc/snmp/snmpd.conf #disk / 10000 disk /boot 50% disk / 20%
動作確認方法は以下の通りです。dskTable配下のMIB値を取得する事によって、ディスク残容量を把握する事ができます。
[root@centos82 ~]# systemctl restart snmpd.service [root@centos82 ~]# snmpwalk -v 2c -c foo localhost dskTable UCD-SNMP-MIB::dskIndex.1 = INTEGER: 1 UCD-SNMP-MIB::dskIndex.2 = INTEGER: 2 UCD-SNMP-MIB::dskPath.1 = STRING: /boot UCD-SNMP-MIB::dskPath.2 = STRING: / UCD-SNMP-MIB::dskDevice.1 = STRING: /dev/sda1 UCD-SNMP-MIB::dskDevice.2 = STRING: /dev/sda3 UCD-SNMP-MIB::dskMinimum.1 = INTEGER: -1 UCD-SNMP-MIB::dskMinimum.2 = INTEGER: -1 UCD-SNMP-MIB::dskMinPercent.1 = INTEGER: 50 UCD-SNMP-MIB::dskMinPercent.2 = INTEGER: 20 UCD-SNMP-MIB::dskTotal.1 = INTEGER: 999320 UCD-SNMP-MIB::dskTotal.2 = INTEGER: 19387392 UCD-SNMP-MIB::dskAvail.1 = INTEGER: 824692 UCD-SNMP-MIB::dskAvail.2 = INTEGER: 17739120 UCD-SNMP-MIB::dskUsed.1 = INTEGER: 105816 UCD-SNMP-MIB::dskUsed.2 = INTEGER: 1648272 <omitted> UCD-SNMP-MIB::dskErrorFlag.1 = INTEGER: noError(0) UCD-SNMP-MIB::dskErrorFlag.2 = INTEGER: noError(0)
snmpd.conf 編集例(6) – ロードアベレージ監視
ロードアベレージ(load average) はsnmpd.confに特に設定を加筆しなくても、snmpによってロードアベレージの取得は可能です。しかし、snmpd.confにロードアベレージの閾値を定義する事によって、snmpによってロードアベレージが閾値を超えているかどうかを把握する事ができるようになります。snmpd.confのロードアベレージ監視の書式は以下の通りです。
load <1_min_threshold> <5_min_threshold> <15_min_threshold>
ロードアベレージ監視の設定例は以下の通りです。/etc/snmp/snmpd.conf のどこに記述しても動作に影響はありませんが、メンテナンス性を考え”#load 12 14 14″以下に記述するのが良いと思います。
# vi /etc/snmp/snmpd.conf # load [1MAX=12.0] [5MAX=12.0] [15MAX=12.0] # # 1MAX: If the 1 minute load average is above this limit at query # time, the errorFlag will be set. # 5MAX: Similar, but for 5 min average. # 15MAX: Similar, but for 15 min average. # Check for loads: #load 12 14 14 load 5 2 1
動作確認方法は以下の通りです。laTable配下のMIB値を取得する事によって、ロードアベレージを把握する事ができます。ロードアベレージの閾値を超えているかどうかは、laErrorFlagを参照下さい。
[root@centos82 ~]# systemctl restart snmpd.service [root@centos82 ~]# snmpwalk -v 2c -c foo localhost laTable UCD-SNMP-MIB::laIndex.1 = INTEGER: 1 UCD-SNMP-MIB::laIndex.2 = INTEGER: 2 UCD-SNMP-MIB::laIndex.3 = INTEGER: 3 UCD-SNMP-MIB::laNames.1 = STRING: Load-1 UCD-SNMP-MIB::laNames.2 = STRING: Load-5 UCD-SNMP-MIB::laNames.3 = STRING: Load-15 UCD-SNMP-MIB::laLoad.1 = STRING: 0.01 UCD-SNMP-MIB::laLoad.2 = STRING: 0.17 UCD-SNMP-MIB::laLoad.3 = STRING: 0.11 UCD-SNMP-MIB::laConfig.1 = STRING: 5.00 UCD-SNMP-MIB::laConfig.2 = STRING: 2.00 UCD-SNMP-MIB::laConfig.3 = STRING: 1.00 UCD-SNMP-MIB::laLoadInt.1 = INTEGER: 1 UCD-SNMP-MIB::laLoadInt.2 = INTEGER: 17 UCD-SNMP-MIB::laLoadInt.3 = INTEGER: 11 UCD-SNMP-MIB::laLoadFloat.1 = Opaque: Float: 0.010000 UCD-SNMP-MIB::laLoadFloat.2 = Opaque: Float: 0.170000 UCD-SNMP-MIB::laLoadFloat.3 = Opaque: Float: 0.110000 UCD-SNMP-MIB::laErrorFlag.1 = INTEGER: noError(0) UCD-SNMP-MIB::laErrorFlag.2 = INTEGER: noError(0) UCD-SNMP-MIB::laErrorFlag.3 = INTEGER: noError(0) UCD-SNMP-MIB::laErrMessage.1 = STRING: UCD-SNMP-MIB::laErrMessage.2 = STRING: UCD-SNMP-MIB::laErrMessage.3 = STRING:
snmpd.conf 編集例(7) – 外部コマンドの実行
snmpd.confにextend句を加筆する事によって、snmpdによって外部コマンドを実行する事もできます。書式は以下の通りです。<miboid>は省略可能なパラメータですが、省略してしまうと記述順によってOIDが変わってしまいメンテナンス性が著しく損なわれます。ですので、miboidは省略しない事をお勧めします。
extend [ <miboid> ] <name> <proc> <args>
外部コマンドの設定例は以下の通りです。/etc/snmp/snmpd.conf のどこに記述しても動作に影響はありませんが、メンテナンス性を考え”# exec .1.3.6.1.4.1.2021.53 mailq /usr/bin/mailq”以下に記述するのが良いと思います。
余談になりますが、”exec”というのは過去の名残で、以前のバージョンのsnmpdはextendの代わりにexecというキーワードを使用していました。古い記事を見るとexecを使用している例がありますが、execは非推奨ですので使用しないように注意して下さい。
# vi /etc/snmp/snmpd.conf # Other ideas: # # exec .1.3.6.1.4.1.2021.51 ps /bin/ps # exec .1.3.6.1.4.1.2021.52 top /usr/local/bin/top # exec .1.3.6.1.4.1.2021.53 mailq /usr/bin/mailq extend .1.3.6.1.4.1.2021.50 shelltest /bin/sh /tmp/shtest extend .1.3.6.1.4.1.2021.51 ps /bin/ps
動作確認方法は以下の通りです。コマンドを実行した結果の標準出力がsnmpによって取得できる事を確認します。
[root@centos82 ~]# cat << EOF > /tmp/shtest > #!/bin/bash > echo "ktkr" > EOF [root@centos82 ~]# [root@centos82 ~]# [root@centos82 ~]# systemctl restart snmpd.service [root@centos82 ~]# [root@centos82 ~]# [root@centos82 ~]# snmpwalk -v 2c -c foo localhost .1.3.6.1.4.1.2021.50 UCD-SNMP-MIB::ucdavis.50.1.0 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.50.2.1.2.9.115.104.101.108.108.116.101.115.116 = STRING: "/bin/sh" UCD-SNMP-MIB::ucdavis.50.2.1.3.9.115.104.101.108.108.116.101.115.116 = STRING: "/tmp/shtest" UCD-SNMP-MIB::ucdavis.50.2.1.4.9.115.104.101.108.108.116.101.115.116 = "" UCD-SNMP-MIB::ucdavis.50.2.1.5.9.115.104.101.108.108.116.101.115.116 = INTEGER: 5 UCD-SNMP-MIB::ucdavis.50.2.1.6.9.115.104.101.108.108.116.101.115.116 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.50.2.1.7.9.115.104.101.108.108.116.101.115.116 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.50.2.1.20.9.115.104.101.108.108.116.101.115.116 = INTEGER: 4 UCD-SNMP-MIB::ucdavis.50.2.1.21.9.115.104.101.108.108.116.101.115.116 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.50.3.1.1.9.115.104.101.108.108.116.101.115.116 = STRING: "ktkr" UCD-SNMP-MIB::ucdavis.50.3.1.2.9.115.104.101.108.108.116.101.115.116 = STRING: "ktkr" UCD-SNMP-MIB::ucdavis.50.3.1.3.9.115.104.101.108.108.116.101.115.116 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.50.3.1.4.9.115.104.101.108.108.116.101.115.116 = INTEGER: 0 UCD-SNMP-MIB::ucdavis.50.4.1.2.9.115.104.101.108.108.116.101.115.116.1 = STRING: "ktkr" [root@centos82 ~]#
Tips
mask 表記の説明
snmpd.confのviewはsubtreeとそのmaskで指定します。maskは2桁の16進数で表し、0である部分は任意の値で差し支えない事を表します。
例えば、substreeが”.1″で、maskが”80″というのは、全てのOIDを許可するという意味になります。16進数の0x80は2進数表記にすると10000000になります。全てのOIDは.1から始まりますので、全てのOIDを許可するという意味になります。
# name incl/excl subtree mask(optional) view all included .1 80
subtreeとmaskを表形式でまとめなおすと以下のようになります。計算結果行の”*”は任意の値を示します。
subtree | 1 |
---|---|
mask | 10000000 |
計算結果 | 1******* |
理解を深めるために、 もうひとつ例を挙げます。以下はnetwork interfaceに関するOIDのみ許可する例です。ifEntryは数値表記に変換すると.1.3.6.1.2.1.2.2.1で、0xff:8は2進数表記で11111111:1000です。maskが8bitを超える場合は、maskは8bit毎に”:”で区切って表記して下さい。
# name incl/excl subtree mask(optional) view system included IF-MIB::ifEntry 0xff:8
subtreeとmaskを表形式でまとめなおすと以下のようになります。計算結果行の”*”は任意の値を示します。
subtree | 1361 2122 1 |
---|---|
mask | 1111 1111 1000 |
計算結果 | 1361 2122 1*** |
snmpwalkコマンドの使い方
snmpwalkコマンドは指定したOID配下のMIB値を取得できます。MIB値を取得できるコマンドはsnmpget, snmpbulk等多数ありますが、私はsnmpwalkのみ覚えれば充分かと思います。よく使用する構文は以下の通りです。
# snmpwalk -v <version> -c <community> <host> [ <OID> ]
snmptranslateコマンドの使い方
snmptranslateはOIDの名前/数値の変換を行うコマンドです。名前/数値の対応関係を調べる際の使用例は以下の通りです。
[root@localhost ~]# snmptranslate .1.3.6.1.4.1.2021.10.1.2 UCD-SNMP-MIB::laNames [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# snmptranslate -On UCD-SNMP-MIB::laNames .1.3.6.1.4.1.2021.10.1.2 [root@localhost ~]#
snmptranslateコマンドはTpオプションを付与する事ででツリー形式で表示する事ができます。
# snmptranslate -Tp .1.3.6.1.4.1.2021.10.1 +--laEntry(1) | Index: laIndex | +-- -R-- Integer32 laIndex(1) | Range: 0..3 +-- -R-- String laNames(2) | Textual Convention: DisplayString | Size: 0..255 +-- -R-- String laLoad(3) | Textual Convention: DisplayString | Size: 0..255