Overview
CentOS 6 における SNMP (Net-SNMP) の設定手順です。CentOS 5 における説明と同じです。
インストール
Net-SNMP をインストールします。
[root@centos-6 ~]# yum -y install net-snmp-utils
/etc/snmp/snmpd.conf
/etc/snmp/snmpd.conf をバックアップし、エディタで開きます。
[root@centos-6 ~]# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
[root@centos-6 ~]# vim /etc/snmp/snmpd.conf
/etc/snmp/snmpd.conf を編集します。
com2sec mysecurity 127.0.0.1 public
com2sec mysecurity 10.0.0.161 public
group mygroup v2c mysecurity
view all included .1 80
access mygroup "" any noauth exact all none none
disk /
disk /var
disk /home
com2sec
com2sec は、セキュリティとコミュニティ名を関連付ける設定項目です。SNMP デーモンがどの IP アドレスからのリクエストをどのコミュニティ文字列で受け付けるかを定義します。IP アドレス以外にネットワークアドレスや FQDN を指定可能ですが、FQDN は推奨しません。
書式
書式は以下の通りです。
com2sec [security name] [ipaddr] [communiy string]
設定値
本稿の設定例では、以下を定義していますが、環境に応じて複数定義します。
com2sec mysecurity 127.0.0.1 public
: mysecurity という名前のセキュリティ設定を作成します。この設定では、127.0.0.1 からの接続を public コミュニティ文字列で許可します。com2sec mysecurity 10.0.0.161 public
: 同じ mysecurity セキュリティ設定に、10.0.0.161 からの接続も public コミュニティ文字列で許可します。
group
group は、アクセス制御を行うグループを定義するための設定項目です。com2sec で定義された特定のセキュリティ名と SNMP のバージョンをグループに関連付け、そのグループがアクセスできる情報や動作を定義します。
書式
書式は以下の通りです。
group [group name] [snmp version] [security name]
設定値
本稿の設定例では、以下を定義していますが、環境に応じて複数定義します。
group mygroup v2c mysecurity
: mygroup という名前のグループを作成し、SNMP プロトコルのバージョン v2c を使用します。このグループに mysecurity セキュリティ設定を適用します。
view
view は、SNMP の情報表示を定義する設定項目です。特定の MIB (Management Information Base) の部分 (OID, Object Identifier) を指定し、その部分がどの範囲の情報を含むかを定義します。また、指定した範囲の情報を特定のグループに対してアクセス可能にするために使用されます。
書式
書式は以下の通りです。
view [view name] [included/excluded] [mib Range] [max subobjects]
設定値
本稿の設定例では、以下を定義していますが、環境に応じて複数定義します。
view all included .1 80
: all という名前のビューを定義し、MIB-2 の範囲 (.1) を含め、最大 80 のサブオブジェクトを含む情報を表示するように設定しています。これは後述の access で参照され、特定のグループがこの view に基づいてアクセスできる情報が制御されます。
access
access は、アクセス制御を行う設定項目です。このコマンドを使用して、特定のグループがどのような条件で SNMP の情報にアクセスできるかを定義します。定義したグループ名、アクセス制限、使用するビュー、認証方法などを指定します。
書式
書式は以下の通りです。
access [group name] [context] [model] [level] [prefix] [read view] [write view] [notify view]
設定値
本稿の設定例では、以下を定義していますが、環境に応じて複数定義します。
access mygroup "" any noauth exact all none none
: mygroup グループに読み取りアクセスを全ての情報に許可し、書き込みおよび通知アクセスは許可せず、認証なしでSNMPのアクセスを可能にする設定です。- group name: mygroup
- context: “”
- model: any
- level: noauth
- prefix: exact
- read view: all
- write view: none
- notify view: none
disk
disk は、SNMP デーモンがモニタリングするディスクの情報を定義する設定項目です。実際は df コマンドで確認可能なパーティションの情報を定義します。
書式
書式は以下の通りです。
disk [partition]
設定値
本稿の設定例では、以下を定義していますが、環境に応じて複数定義します。
disk /
: / ディレクトリのディスク情報を SNMP で監視可能にします。disk /var
: /var ディレクトリのディスク情報も SNMP で監視可能にします。disk /home
: /home ディレクトリのディスク情報も SNMP で監視可能にします。
/etc/sysconfig/snmpd
/etc/sysconfig/snmpd をバックアップし、エディタで開きます。
[root@centos-6 ~]# cp /etc/sysconfig/snmpd /etc/sysconfig/snmpd.orig
[root@centos-6 ~]# vim /etc/sysconfig/snmpd
/etc/sysconfig/snmpd を編集します。
OPTIONS="-Lf /var/log/snmpd.log -p /var/run/snmpd.pid -a"
-Lf /var/log/snmpd.log
: SNMP デーモンのログファイルを /var/log/snmpd.log に出力するためのオプションです。-p /var/run/snmpd.pid
: SNMPデーモンのプロセス ID (PID) を /var/run/snmpd.pid ファイルに保存するためのオプションです。このファイルを通じて、デーモンの動作状態を監視したり、デーモンを制御する際に使用します。-a
: SNMP デーモンが全てのインターフェースでリクエストを受け付ける (listen) ことを指定するオプションです。具体的には、0.0.0.0:161 で SNMP のリクエストを待ち受けるように設定します。
サービス起動設定
snmpd サービスを起動し、システムの起動時に有効になるように設定します。
[root@centos-6 ~]# service snmpd start && chkconfig snmpd on
[root@centos-6 ~]# chkconfig snmpd --list
正常性確認
前述までの設定に問題がなければ、snmpwalk を使用して SNMP 情報を取得できます。
[root@centos-6 ~]# snmpwalk -v 2c -c public localhost