(初心者)SNMPでMIBを取得する


SNMPの知識は有っても実際に使ったことがなかったので、MIBを取得するところまで実際に確認した。

環境

MacBook
OS: OS X El Capitan
snmpd: Version: 5.6.2.1
snmpwalk: Version: 5.6.2.1

snmpdを起動する

confを書き換える前にバックアップを作成。

$ sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.original
$ sudo vi /etc/snmp/snmpd.conf

snmpd.confを書き換える。

#Allow read-access with the following SNMP Community String:
rocommunity public

# all other settings are optional but recommended.

# Location of the device
syslocation data centre A

# Human Contact for the device
syscontact SysAdmin

# System Name of the device
sysName SystemName

# the system OID for this device. This is optional but recommended,
# to identify this as a MAC OS system.
sysobjectid 1.3.6.1.4.1.8072.3.2.16

https://kb.paessler.com/en/topic/41843-how-do-i-activate-snmp-on-mac-os-in-order-to-monitor-it-with-prtg より引用

snmpdデーモンを起動。

$ sudo launchctl load -w /System/Library/LaunchDaemons/org.net-snmp.snmpd.plist

プロセスが起動している。

$ ps -ef | grep snmp
    0  4999     1   0  9:25PM ??         0:08.93 /usr/libexec/snmpd -f
  501  5013  1356   0  9:36PM ttys002    0:00.00 grep snmp

SNMPの応答を確認する

$ snmpwalk -c public -v 1 localhost
SNMPv2-MIB::sysDescr.0 = STRING: Darwin butada-mac.local 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.16
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (525) 0:00:05.25
SNMPv2-MIB::sysContact.0 = STRING: SysAdmin
SNMPv2-MIB::sysName.0 = STRING: SystemName
SNMPv2-MIB::sysLocation.0 = STRING: data centre A
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.0
<省略>

snmpdを停止させる

$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.net-snmp.snmpd.plist 

今後

サーバ等の管理のためにはSNMPは便利だが、OSデフォルトの状態では無効になっているので、管理対象を効率良く有効化する方法も併せて考えていきたい。

例えば以下の記事にあるようなWindowsのSNMP有効化は、実際にはスクリプトでしかもリモートからやれる方法を考えておかないと、数百台のサーバの管理にはなりませんので。
http://qiita.com/tukiyo3/items/7c53960b172d5a6cd31a

参考