logchekでログを確認しよう
毎日ログを見てられない
WEBログやメールログ、システムログを毎日みるのはメンドクサイ。だが、見ないわけにはいかないものだ。そこで、logchek。エラー内容などをまとめてメールで送ってくれるすぐれものだ。これで、必要な所だけメールで確認すればいいのだ。
インストール
いつもので
#apt-get install logcheck
設定
各種設定ファイルは/etc/logcheck/にある。基本デフォルトで問題ない。
logcheck.conf
基本設定ファイル。得にデフォルトでいいが、ここを各自に変えてもよい。
REPORTLEVEL="server" #次のレポートレベルに関係する SENDMAILTO="root" #メール送信先
logcheck.logfiles
対象となるログファイル。今回は以下を対象とした。
/var/log/syslog /var/log/auth.log /var/log/apache/error.log
レポートレベル
上のlogcheck.confで設定したレポートレベルに対応する名前で「ignore.d.名前」というディレクトリがある。今回は「server」なので、「ignore.d.server」となる。このディレクトリの中にはログを無視する定義ファイルがある。もし、ルータのログを転送している場合などで、無視すべき物があるならばその他をサンプルにして、作ってみるといい。
サンプルルータ定義
^\w{3} [ :0-9]{11} router [/0-9]{10} [ :0-9]{8} IP_Filter REJECT TCP
^\w{3} [ :0-9]{11} router [/0-9]{10} [ :0-9]{8} NAT RX Not Found
^\w{3} [ :0-9]{11} router [/0-9]{10} [ :0-9]{8} TCP Synchronize Flag OFF
^\w{3} [ :0-9]{11} router [/0-9]{10} [ :0-9]{8} NAT TX-INFO TCP Synchronize Flag OFF
^\w{3} [ :0-9]{11} router [/0-9]{10} [ :0-9]{8} NAT RX-INFO TCP Synchronize Flag OFF
^\w{3} [ :0-9]{11} router [/0-9]{10} [ :0-9]{8} IP_Filter REJECT UDP
Cron
logchekはcronを使用して稼動している。デフォルト設定だと毎時送られので、そんなにいないし見てられん。cronの頻度を変更する。/etc/cron.d/logcheckがデフォルトで作成される。
1 2 * * * logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi
毎朝2時1分に一度だけ動かすことにした。これは各自の好きな頻度にすればいいだろう。