logmonでログ監視

2021-06-24

logmonのログ監視について

ログ監視は、zabbix, nagios ,swatch等を利用すると導入できますが、設定が簡単ではなかったり導入を躊躇するケースがあると思います。

logmonはIBMが作成したログ監視ツールで、プログラム自体は120行ほどでPerlスクリプトです。設定も簡単で設定したログファイルに該当キーワードがあると、メール送信したりスクリプトを実行したり任意のコマンドを実行できたりします

logmonのインストール

インストール自体は、gitでlogmonを取ってきて「./setup.sh」のセットアップスクリプトを実行することできます。

# cd /usr/local/src/
# git clone https://github.com/moomindani/logmon.git
# cd logmon/
# ./setup.sh
+ mkdir -p /etc/logmon
+ cp ./logmon.pl /etc/logmon/
+ cp ./logmon.conf /etc/logmon/
+ cp ./logmon /etc/init.d/logmon
+ chmod 700 /etc/init.d/logmon
+ chmod 700 /etc/logmon/logmon.pl
+ chmod 600 /etc/logmon/logmon.conf
+ chkconfig --add logmon
+ chkconfig --level 345 logmon on

設定は、「/etc/logmon/logmon.conf」にあるので、そのファイルを編集します。設定ファイルの設定は簡単で以下のような書きます。

監視する文字列は(ERROR|error|FAIL|fail)のようにパイプ(|)を使用することで「or」の条件で設定できます。また設定自体を複数設定することで複数のログファイルも設定できます

:ログファイル名
(監視する文字列)
実行したいコマンド

私の環境では以下のように設定しています。設定後は「logmon」を起動するとログ監視が開始されます。
自動起動の設定ですが、logmonを実行時に設定されているので不要です

# vi /etc/logmon/logmon.conf

# messageにエラーが上がればメール送信
:/var/log/messages
(error|ERROR|fail|FAIL)
echo "<%%%%>" | mail -s "messages alert" admin@example.com

# MariaDBでエラーが上がればメール送信
:/var/log/mariadb/mariadb.log
(error|ERROR|fail|FAIL)
echo "<%%%%>" | mail -s "mariadb alert" admin@example.com

# 任意のログでエラーが上がれば、任意のシェルを実行する
:/var/log/xxxxlog
(ERROR|error)
echo "<%%%%>" | sh /home/admin/script/log_err.sh

# /etc/init.d/logmon start
Starting logmon: Success.

# chkconfig --list | grep logmon
logmon         	0:off	1:off	2:off	3:on	4:on	5:on	6:off

logmonを利用したログ監視で除外キーワードを利用する場合は、シェルスクリプトを利用すれば除外キーワードでの監視ができます「シェルスクリプトを利用して、logmonで除外キーワード」の記事を参考にして設定して下さい