Logwatch

提供: ArchWiki
移動先: 案内検索

Logwatch は強力かつ多目的なログパーサー・アナライザーです。Logwatch はサーバーのあらゆる活動の統一的なレポートを作成して、コマンドラインやメールで閲覧することができます。

インストール

Logwatch は pacman で community リポジトリからインストールできます:

# pacman -S logwatch

logwatch バイナリとスクリプト、設定ファイルに加えて、pacman のパッケージには cron ジョブも含まれており、/etc/cron.daily/0logwatch にインストールされます。logwatch スクリプトは perl を使用するので、perl は logwatch パッケージの依存パッケージです。

設定

Logwatch の設定は分散されています。複数の場所に設定を指定することができ、下の方のファイルの設定が優先されます:

  • /usr/share/logwatch/default.conf/*
  • /etc/logwatch/conf/dist.conf/*
  • /etc/logwatch/conf/*
  • スクリプトやコマンドラインの引数

Logwatch が実行されると上記の全てのファイルが読み込まれます。

上記のディレクトリの中で、設定には複数の領域があります。logwatch.conf ファイルは最も高水準の設定を記述するところで、レポートの送信先やフォーマットなどを設定することができます/usr/share/logwatch/default.conf/logwatch.conf の設定ファイルには全てのデフォルト設定とコメントが含まれています。デフォルト設定はそのままにして、/etc/logwatch/conf/logwatch.conf で設定変数を再定義することを推奨します。

logfiles/ ディレクトリの中にある設定ファイルは特定のログファイルを指定しています。デフォルトで、Linux システムで一般的に使われているログファイルは既に対応しています。ログファイルの設定がない特殊なアプリケーションを使っている場合は、default.conf/logfiles/ ディレクトリから既存の設定をコピーして、そのアプリケーション用にカスタマイズしてください。

services/ フォルダには同じような設定の定義が含まれていますが、logwatch によって報告される様々なサービスを定義しています。複数のサービスが同一のログにレポートを出力することはよくあるので必要になります (例: messages, dmesg, boot など)。詳しくは、デフォルトの services/ の設定ファイルを確認してください。

logwatch のメッセージをメールで受け取りたい場合は、Postfix など sendmail フロントエンドを提供するパッケージをインストールする必要があります。

パッケージにはドキュメントが付属しており設定に関する詳細が載っています。/usr/share/logwatch/HOWTO-Customize-LogWatch を見て下さい。

Cron ジョブ

デフォルトでは cron.daily に cron ジョブもインストールされます。このジョブは上述の全ての設定ファイルの設定を使います。スクリプトを別の cron フォルダに移動することでレポートの頻度を変更したり、crontab ファイルにカスタム cron ジョブを設定することができます。

systemd サポート

Logwatch はログファイルを読み込みますが systemd journal を直接扱うことはできません。そのため、syslog-ng などのロガーを使って journal の出力を外部のログファイルに複製する必要があります (例: /var/log)。systemd journal に対応する パッチ が開発中です。もしくは、このブログ記事 にある Python スクリプトのように、journal を直接読み込んでメールを送信することで、logwatch と同じような機能を実装するカスタムスクリプトを作ることもできます。