Logwatch

さて、サーバを立ててはみたものの、週末サバ管としては日がな一日中ログを眺めているわけにもいかない。ログをレポートにまとめて、メールで送ってくれるような仕組みが欲しい。

CentOS 5ではデフォルトでLogwatchが走っているのだが、Ubuntu Server 9.10ではそれに類するプログラムはインストールされていない。/etcをのぞいてみたところ、Logcheckのディレクトリは存在しているが、これは他のパッケージのプログラムがそれぞれのLogcheck用定義ファイルをつっこんだ結果のようだ。

これはLogcheckを使え! というどっかのGNU聖者のお告げかとも思ったが、一時間に一度起動推奨で生ログを送ってくるというLogchekは終末サバ管にはやや重い。興味はあるが先の課題として、ひとまず読み慣れたLogwatchをインストールすることにする。

インストール

$ sudo apt-get install logwatch
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  libdate-manip-perl
提案パッケージ:
  fortune-mod
以下のパッケージが新たにインストールされます:
  libdate-manip-perl logwatch
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
573kB のアーカイブを取得する必要があります。
この操作後に追加で 3,158kB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://ftp.riken.jp karmic/main libdate-manip-perl 5.54-1 [173kB]
取得:2 http://ftp.riken.jp karmic/main logwatch 7.3.6.cvs20090906-1ubuntu1 [400kB]
573kB を 0s で取得しました (1,217kB/s)
未選択パッケージ libdate-manip-perl を選択しています。
(データベースを読み込んでいます ... 現在 32624 個のファイルとディレクトリがインストールさ れています。)
(.../libdate-manip-perl_5.54-1_all.deb から) libdate-manip-perl を展開しています...
未選択パッケージ logwatch を選択しています。
(.../logwatch_7.3.6.cvs20090906-1ubuntu1_all.deb から) logwatch を展開しています...
man-db のトリガを処理しています ...
libdate-manip-perl (5.54-1) を設定しています ...
logwatch (7.3.6.cvs20090906-1ubuntu1) を設定しています ...

インストール時点ですでにcron.dailyに登録され、一日一回起動する仕様になっている。登録されたファイルと内容は次の通り。

/etc/cron.daily/00logwatch

#!/bin/bash

#Check if removed-but-not-purged
test -x /usr/share/logwatch/scripts/logwatch.pl || exit 0

#execute
/usr/sbin/logwatch --output mail

#Note: It's possible to force the recipient in above command
#Just pass --mailto address@a.com instead of --output mail

設定

さて設定すんべ、と/etc/logwatch以下を探したのだが、設定ファイルであるlogwatch.confがない。あれ?

manを見たところ、/usr/share/logwatch/default.conf/logwatch.confにデフォルトの設定ファイルがあるので、必要ならこれを/etc/logwatch/logwatch.confにコピーして設定をオーバーライドして使え、とのコトらしい。

つらつらと設定ファイルを眺めてみたのだが、とくに変更する箇所もなさそうだ。試しに起動してみる。

$ sudo /usr/sbin/logwatch --output mail

きちんとRoot宛にメールでレポートが到着。ということで、このまま運用することにする。