LogWatchで、サーバーのログをチェック!CentOS7

この記事は約6分で読めます。

サーバーのログディレクトリ、/var/log/以下には、OSや様々なアプリのログが書き込まれます。

その情報の中には、脆弱性の対応のヒントなど、たくさんの情報が隠れています。

今の時代、Elasticsearch など、分析して、予測する賢いツールがたくさんあります。

今回は、昔からある、「LogWatch」をインストールします。

LogWatchインストール

LogWatch 7.4 が入りました。

LogWatch設定

/usr/share/logwatch/default.conf/logwatch.conf
のファイルが基本であり、
この中身を変更するということではなく
/etc/logwatch/conf/logwatch.conf
に設定変更したい情報を記入します。
基本情報が上書きされます。

Lowの他に、Mid、High
もしくは、0~10までの数字を指定します。

High(もしくは、数字が大きい方)が、「詳しく」、解析してくれます。

LogWatchテスト

で、テスト的にメールが送られてきます。

ログの中に上記のようなメッセージが入ってきました。
「Clam-AV」(無料ウィルスチェックソフト)のログを調べたが、アップデートされていないみたいだよ。どうする?
と・・・

「A」は、「freshclam.log」を削除すれば、もう、メッセージは、出ない・・・と・・・
つまり、Clam-AVはは、使わない・・・。ということ・・・
実際に、一時期、テストしていましたが、このLinuxでは、Clamを動かしていません。

と、ログを削除します。

LogWatchの趣旨

LogWatchは、1日に1回、「前の日」のログをチェック(解析)してくれます。

かつては、1時間に1回、リアルタイム的なログをチェックしていました。
「怪しい行(もしくは、普段見ない行)」を知らせてくれるものでした。
1時間毎にチェックして、1時間の間に、記録されたログをチェックしてくれます。
1時間以上前にチェックしたものは、省いてくれました。

今のバージョンの、LogWatchは、前の日のデータをチェック(解析)するが、「デフォルト」のようです。

今の時代、ログではないですが、死活監視などは、
定番の
Zabbix
AWSだと、Amazon CloudWatch、
Mackerel(マカレル)
などのツールを使ってやるのが、いいかと思います。

LogWatch、実際に役に立ったのは・・・・

実際に役だったのは、オンプレの時代だと、
ディスク故障
ですね。焦りますね・・・
クラウド時代になり、この「焦り」は少なくなりました・・・いい、時代になりましたw

今の時代でも、MySQLが落ちた情報やDosアタックの情報などが有用でしょうか・・・

一つのツールだけに頼らず、様々なツールを組み合わせるのもいいかと思います。

logwatchが「うるさい」という方・・・ (2020/08/26追記)

logwatchを運用していると、「**Unmatched Entries**」
というところに、たくさんの情報が出てくる事があります。
この情報、「うるさい」「うざい」「多い」など、感じられるかと思います。

logwatchは、「普段とは、違う情報を知らせてくれる」
という趣旨があるかと思います。

「**Unmatched Entries**」の中で、「これは、通常運転の情報だよ」
というのを「省く」(除外する)事ができます。

/etc/logwatch/conf/ignore.conf
に、正規表現を使って書きます。

個人的に運用しているメールサーバーでは、dovecotのログが出てきます。
これを無視する場合

というように書きます。「.*」は、「改行以外にマッチ」です。

テストは、

という感じで、チェックします。
この出力が、logwatchで、出力される、「うざい」情報と一致すれば、次回の出力からは、除外されます。

ログがチェックされない!(2020/08/30追記)

logwatchでは、初期設定のままであれば、「昨日」のログ、1日分をまとめて送ってくれます。

しかし、「昨日のDovecot関係のログが集計されていない!」

という事があります。

これは、「集計対象のファイル」を、「今のファイル」にしているためです。

「Dovecot」は、通常、「/var/log/maillog」に書き出されます。
logwatchは、この「/var/log/maillog」をチェックします。
しかし、「logrotate」の機能により、ある時点で、「/var/log/maillog」のファイルが、
「/var/log/maillog-YYYYMMDD」というファイルに置き換わります。
そして、新たな「/var/log/maillog」が生成され、ログが「/var/log/maillog」に書き込まれていきます。

logwatchの機能で、

「–archives」(コマンドライン)
「Archives」(logwatch.confに書き込む場合)

というオプションがあり、「/var/log/maillog」だけではなく、「/var/log/maillog-YYYYMMDD」もチェックしてくれます。

「ログがチェックされない!」といった場合、このオプションをつけてみましょう。
サーバー負荷が、多少は多くなるので、コマンドラインからチェックをしたほうがいいのかもしれません。

指定した日時をチェックしたい(2020/08/30追記)

logwatchの初期設定では、リポートは、1日1回です。

もっと、短い間隔でチェックしたい場合は・・・

「–range」オプションを使います。

というオプションがあります。

初期設定では、「yesterday」です。

を設定すると、4時間前からの1時間。
9:30に実行すると、4時間前の5時の0分から1時間のログをチェック。
となります。

上記では、2時間前の0分から、今まで。
9:30に実行すると、7:00から今まで。

という指定ができます。

あるサービスだけ、短時間の間隔(リアルタイムな感じ)でチェックしたい(2020/08/30追記)

Kernelのメッセージで、1時間毎にチェックしたい。
といった場合、

と「 –service Kernel」と、サービス名をします。

通常のlogwatchは、今まで通り、1日1回で、サーバーに対して重要な部分として、Kernelを1時間毎にチェック
という要望の場合、

crontabで、

そして、

と設定すると、いいのかと思います。

 

タイトルとURLをコピーしました