誰でも ZABBIX

Zabbixの使い方、役に立つ情報、等々

2. 監視アイテムの追加 - Zabbix Agent (アクティブ)ログ監視

WindowsLinuxの監視を行う場合、SNMPでもある程度のレベルの監視することが可能です。SNMPエージェントは、わざわざインストールしなくても、最初から含まれていて、簡単なセットアップで監視が開始できます。

一方、Zabbix Agentで監視を行う場合は、必ずZabbixエージェントのインストールする、というステップが必要になります。わざわざインストールしてまでZabbixAgentを使う必要があるか、というのは実際のシステム構築の場で検討する場面が多いと思いますが。その際、アプリケーションのログチェックを行う必要があるかどうか、という点が判断ポイントの一つかもしれません。

ログチェック機能は、Zabbixエージェントを使った監視の、非常に便利な機能の一つです。今回は、ログ監視機能を行うための基本的な設定方法を確認します。

何がアクティブなのか?

ログチェックは、Zabbixエージェント(アクティブ)という監視方法を利用します。 このアクティブとうのは、ZabbixエージェントからZabbixサーバに(自発的に)データを送信する ことを表しています。通常のZabbixエージェントの監視は、Zabbixサーバから定期的に値を取得するようリクエストがあり、その指示に従ってデータを送り返しています。いわば受身の姿勢(パッシブ)です。それとは逆に、ログチェックは、Zabbixエージェントが自分で定期的にログファイルをチェックし、該当するデータがあった場合のみデータをサーバに送信します。

f:id:Unam:20180212115211p:plain

Zabbixエージェントとの挙動については、Zabbixのマニュアルの以下のページに詳細が記載されています。

3 パッシブエージェントチェックとアクティブエージェントチェック [Zabbix Documentation 2.2]

ログチェックの設定(Zabbixサーバ)

今回は、Linuxサーバ上のファイルに特定のキーワードが記載された場合に、そのデータを取得する処理を記載します。

ホストの登録

ホスト名、グループ、Zabbixエージェントのインターフェース(IPアドレス)を入力し、登録します。

f:id:Unam:20180212115922p:plain

アイテムの登録

タイプは、Zabbixエージェント(アクティブ)を選択し、データ型はログを選択します。

f:id:Unam:20180212120347p:plain

キーに指定している項目は、ファイル名と、抽出したいキーワードです。この場合指定は、**/tmp/logfile というファイルに”ERROR”というキーワードが含まれている場合行を監視データとして取得する、という処理になります。

log[/tmp/logfile,ERROR]


ログチェックのパラメータは、以下のとおりです。いろいろと設定が可能ですが、具体的な使い方などはまた別途紹介する予定です。

f:id:Unam:20180212124230p:plain 引用元 1 Zabbix agent [Zabbix Documentation 3.4]

これでサーバ側の設定は完了です。

ログチェックの設定(Zabbixエージェント)

次にエージェント側の設定です。Zabbixエージェント(アクティブ)を使用する場合、Zabbixエージェントのコンフィグ設定を変更します。

ServerActiveにZabbixサーバのIPアドレスHostnameに、Zabbix上で作成したホスト名を設定します。

$ sudo vi /etc/zabbix/zabbix_agentd.conf 

#ServerActive=127.0.0.1
ServerActive=192.168.0.9

#Hostname=Zabbix server
Hostname=Logcheck


ファイルを保存し、Zabbixエージェントをリスタートします。

$ sudo service zabbix-agent restart


これで、Zabbixの設定は、完了です。

ログファイルの監視

この時点では、まだチェック対象のファイル自体を作成していません。最新データ画面で監視アイテムを確認すると、以下のようにエラーになっていると思います。

f:id:Unam:20180212122734p:plain

ログ監視のファイルを作成します。最初は、チェック対象の文字を含まないデータで、ファイルを作成します。

$ echo "hoge" > /tmp/logfile
$ cat /tmp/logfile
hoge


ファイル作成すると、最新データ一覧画面のエラーが表示されなくなります。

f:id:Unam:20180212123219p:plain

もし、この時点でもエラーが消えない場合は、エラーメッセージの内容を確認し、これまでの手順に抜けや誤りがないか、見直してください。

次に、チェック対象の文字列を含むデータを、ファイルに追記します。

$ echo "This is a sample ERROR message." >> /tmp/logfile
$ cat /tmp/logfile 
hoge
This is a sample ERROR message.


Zabbixエージェントが上記のデータをチェックし、対象の行をサーバに送信します。Zabbixサーバのトラッパープロセスがこのデータを受信し、監視データとして取り込まれます。

f:id:Unam:20180212123656p:plain

以上が、Zabbixログ監視の基本的な挙動です。

まとめ

今回は、ログチェックの基本的にな設定方法を紹介しました。ログチェック設定のバリエーションや、デバッグ方法等、いろいろと記載したいこともあったのですが、結構量が多くなりそうなので、この後、少しずつ記載していく予定です。