3.1.5 自動起動設定
OSが起動した時に、snmpdが一緒に起動するように設定します。以下のファイル(起動スクリプト)を「/etc/init.d/snmpd」として保存します。
詳しくは、ITproの「シスログとは」のページ等を参照してください。
#!/bin/bash # net-snmp init file for snmpd # # description: Simple Network Management Protocol (SNMP) Daemon # # processname: /usr/sbin/snmpd # config: /usr/share/snmp/snmpd.conf # pidfile: /var/run/snmpd # source function library . /etc/init.d/functions if [ -e /usr/share/snmp/snmpd.options ]; then . /usr/share/snmp/snmpd.options else OPTIONS="-Ls6 -Lf /dev/null -p /var/run/snmpd.pid -a" fi RETVAL=0 prog="snmpd" start() { echo -n $"Starting $prog: " if [ $UID -ne 0 ]; then RETVAL=1 failure else daemon /usr/sbin/snmpd $OPTIONS RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/snmpd fi; echo return $RETVAL } stop() { echo -n $"Stopping $prog: " if [ $UID -ne 0 ]; then RETVAL=1 failure else killproc /usr/sbin/snmpd RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/snmpd fi; echo return $RETVAL } reload(){ echo -n $"Reloading $prog: " killproc /usr/sbin/snmpd -HUP RETVAL=$? echo return $RETVAL } restart(){ stop start } condrestart(){ [ -e /var/lock/subsys/snmpd ] && restart return 0 } case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; condrestart) condrestart ;; status) status snmpd RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}" RETVAL=1 esac exit $RETVAL
起動スクリプトのアクセス権を変更し、実行件を与えます。
% chmod 755 /etc/rc.d/init.d/snmpd
起動スクリプトをOSに登録します。
% /sbin/chkconfig --add snmpd % chkconfig snmpd on
システムロガー用コンフィグファイル(/etc/syslog.conf)に、snmpd が出力するファイルを追記します。
(以下を最後に追記) local6.* /var/log/snmpd.log
システムロガーを再起動します。
% /etc/init.d/syslog restart カーネルロガーを停止中: [ OK ] システムロガーを停止中: [ OK ] システムロガーを起動中: [ OK ] カーネルロガーを起動中: [ OK ] %
ログローテーション機能に、「/var/log/snmpd.log」も対象に加えます。
% vi /etc/logrotate.d/snmpd
/var/log/snmpd.log {
daily
compress
rotate 7
# notifempty <- ココは一旦コメントアウト、後ではずします。
missingok
}
下記を実行。
% touch /var/log/snmpd.log % /usr/sbin/logrotate /etc/logrotate.conf
ファイル(/var/lib/logrotate.status)を開き、snmpd.log の日付が本日になっているはずなので、その日付を1週間以上過去にします(例えば月の値を1つ減らすとか)。
"/var/log/snmpd.log" 2008-7-10 ↓下記のように修正 "/var/log/snmpd.log" 2008-6-10
保存後、再度下記を実行。
% /usr/sbin/logrotate /etc/logrotate.conf
「/var/log/snmpd.log.1.gz」が作られていることを確認します(この時点で「/etc/logrotate.d/snmpd」のコメントを外します)。
下記コマンドを実行し、crondをデーモン実行するように設定します。
% chkconfig crond on
snmpdの起動・再開・終了を試します。
% /etc/init.d/snmpd start snmpd を起動中: [ OK ] %
インストールした環境で下記コマンドを実行。ガッサリ流れたらOK。
% snmpwalk -v 2c -c localcom localhost .1.3.6.1.4.1.2021.11 % snmpwalk -v 2c -c securecom 192.168.1.12 .1.3.6.1.4.1.2021.11
再開機能と停止機能を確認します。
% /etc/init.d/snmpd restart snmpd を停止中: [ OK ] snmpd を起動中: [ OK ] % % /etc/init.d/snmpd stop snmpd を停止中: [ OK ] %
snmpdの起動および停止情報が、「/var/log/snmpd.log」に記述されていることを確認します。
3.2 マネージャの構築(TWSNMPのインストール)
TWSNMPは、twise labo社が作成している、フリーのSNMPマネージャソフトです。同社のWebページからインストーラをダウンロードして実行してください。インストール処理で聞かれるのは、インストール場所くらいなものなので、問題なく終わると思います。
3.2.1 動作確認
起動し、メニューの[管理ツール]-[自動発見]を実行します。開始アドレス(192.198.1.1)と終了アドレス(192.198.1.20)、SNMPモード(SNMPv2)、Community/user(securecom)を入力し、[開始]ボタンを押下すると、監視対象のノードのアイコンが出力されます。
これはGUIということもあり、大変親切なヘルプファイルもあるので([ヘルプ]-[マニュアル表示])、詳しい説明は省略します。