06 November 2008

(Linux) snmpのログを /var/log/messages へ書き出さないよう設定

snmpdのログで/var/log/messageが埋めつくされて見にくいため、ログを他のファイルに分離することにする。

ログファイルに吐き出されるログの例 (アクセスがあるごとに記録される)


Connection from UDP: [192.168.1.20]:37673
Received SNMP packet(s) from UDP: [192.168.1.20]:37673
Connection from UDP: [192.168.1.20]:37673

snmpd の設定ファイルを少し書き換えてみる。 書き換えのためのオプションの説明は snmpcmd の man ページに詳しく書かれている。

/etc/rc.d/init.d/snmpd.conf

if [ -e /etc/snmp/snmpd.options ]; then
. /etc/snmp/snmpd.options
else
# OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a"
OPTIONS="-Lf /var/log/snmpd.log -p /var/run/snmpd.pid -a"
fi

デフォルトで設定されていたオプション "-Lsd" がsyslogデーモンにログを送っていた設定。

さて、こうやって出力されたログファイル snmpd.log は、誰がローテートするんだろうか… (ま、1週間後に観察してみることにしよう。

logrotate の設定ファイルを見てみると、すでに、/var/logrotate.d/ に snmpd というファイルが存在し、その中にはちゃんと /var/log/snmpd.log というファイル名が記載されているわけだが…