SNMP(プロトコル)は、ルータやコンピュータ、端末など、ネットワークに接続された通信機器をネットワーク経由で監視・制御するためのプロトコルです。通常は、MRTG、Cacti などの監視するツールと併用して使います。
SNMPをインストール
// インストール
# apt-get install snmp snmpd
基本設定
// 編集
# vi /etc/snmp/snmpd.conf
// ~省略~
# sec.name source community
#com2sec paranoid default public
#com2sec readonly default public
com2sec readonly default snmpuser ← 修正:デフォルトのコミュニティー名を変更。
#com2sec readwrite default private
// ~省略~
-disk / 10000
+disk / ← 修正:コメントアウト解除(環境に合わせて変更して下さい。)
※コミュニティー名は、好きな名前に変更してください。
外部からのポーリングを許可する
外部からSNMPプロトコルにアクセスする場合は、127.0.0.1の部分を削除する必要があります。デフォルトは、インストールされたサーバーのみしかアクセス出来ません。
// 編集
# vi /etc/default/snmpd
// 内容
# This file controls the activity of snmpd and snmptrapd
# MIB directories. /usr/share/snmp/mibs is the default, but
# including it here avoids some strange problems.
export MIBDIRS=/usr/share/snmp/mibs
# snmpd control (yes means start daemon).
SNMPDRUN=yes
# snmpd options (use syslog, close stdin/out/err).
-SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
+SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid' ← 修正: 127.0.0.1を削除
# snmptrapd control (yes means start daemon). As of net-snmp version
# 5.0, master agentx support must be enabled in snmpd before snmptrapd
# can be run. See snmpd.conf(5) for how to do this.
TRAPDRUN=no
# snmptrapd options (use syslog).
TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'
# create symlink on Debian legacy location to official RFC path
SNMPDCOMPAT=yes
SNMPを再起動(設定反映)
// 再起動
# /etc/init.d/snmpd restart
動作チェック
外部のサーバーから SNMP を設定したIPアドレス宛に下記のコマンドを実行してください。IPアドレスの部分を変更して試してください。
// 実行
# snmpwalk -v 1 192.168.0.100 -c snmpuser .1.3.6.1.4.1.2021.11
// 出力内容
UCD-SNMP-MIB::ssIndex.0 = INTEGER: 1
UCD-SNMP-MIB::ssErrorName.0 = STRING: systemStats
UCD-SNMP-MIB::ssSwapIn.0 = INTEGER: 0 kB
UCD-SNMP-MIB::ssSwapOut.0 = INTEGER: 0 kB
UCD-SNMP-MIB::ssIOSent.0 = INTEGER: 17 blocks/s
UCD-SNMP-MIB::ssIOReceive.0 = INTEGER: 0 blocks/s
UCD-SNMP-MIB::ssSysInterrupts.0 = INTEGER: 26 interrupts/s
UCD-SNMP-MIB::ssSysContext.0 = INTEGER: 76 switches/s
UCD-SNMP-MIB::ssCpuUser.0 = INTEGER: 0
UCD-SNMP-MIB::ssCpuSystem.0 = INTEGER: 0
UCD-SNMP-MIB::ssCpuIdle.0 = INTEGER: 98
UCD-SNMP-MIB::ssCpuRawUser.0 = Counter32: 18578411
UCD-SNMP-MIB::ssCpuRawNice.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawSystem.0 = Counter32: 4702774
UCD-SNMP-MIB::ssCpuRawIdle.0 = Counter32: 1790470581
UCD-SNMP-MIB::ssCpuRawWait.0 = Counter32: 1099744
UCD-SNMP-MIB::ssCpuRawKernel.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawInterrupt.0 = Counter32: 419659
UCD-SNMP-MIB::ssIORawSent.0 = Counter32: 383951940
UCD-SNMP-MIB::ssIORawReceived.0 = Counter32: 107985422
UCD-SNMP-MIB::ssRawInterrupts.0 = Counter32: 218121223
UCD-SNMP-MIB::ssRawContexts.0 = Counter32: 799249221
UCD-SNMP-MIB::ssCpuRawSoftIRQ.0 = Counter32: 957114
UCD-SNMP-MIB::ssRawSwapIn.0 = Counter32: 2820651
UCD-SNMP-MIB::ssRawSwapOut.0 = Counter32: 1739198
上記が出力されれば成功です。
