ksaitoの日記

日々試したことの覚え書き

zabbixでログファイルを監視する

移転しました。

自動的にリダイレクトします。

ubuntuのaptリポジトリのzabbixがいつの間にか1.8.1にアップグレードされていました。
ログファイルに特定の文字列を監視するための設定を試してみました。
/var/log/syslogを監視するための設定をしてみます。

事前準備

監視対象となるファイルにアクセス権限がないと監視することはできません。
ubuntuのパッケージでは、zabbixユーザでファイルにアクセスするのでsudoコマンドを使ってzabbixユーザでファイルにアクセスできるか確認します。

$ sudo -u zabbix wc -l /var/log/syslog
wc: /var/log/syslog: Permission denied
$ 

デフォルト設定では、アクセスできないため/var/log/syslogファイルのグループにzabbixユーザを追加します。

$ ls -l /var/log/syslog
-rw-r----- 1 syslog adm 135888 2011-04-28 10:50 /var/log/syslog
$ grep zabbix /etc/group | head -1
adm:x:4:zabbix
$ sudo -u zabbix wc -l /var/log/syslog
1354 /var/log/syslog
$ 

これで準備OKです。

アイテムの登録

zabbixに登録してあるホストのアイテムに監視するログファイルを登録します。
アイテムの登録は、zabbixの設定-ホストメニューを選択します。
ホストの一覧が表示されるので監視するログファイルのあるホストのアイテムを選択します。
アイテムの追加ボタンを押して下記のように登録し保存ボタンを押します。

  • ホスト:対象のホストを選択
  • 説明:ログファイルの名前など任意の名前を入力
  • タイプ:Zabbixエージェント(アクティブ)を選択
  • キー::log["/var/log/syslog"] (パスは、監視したいファイルのフルパスを指定)
  • データ型:ログを選択
  • アプリケーション:Log filesを選択

トリガーの登録

登録したアイテムのログ欄にアイコンが表示されるので”Create Log Trigger"を選択します。

監視する文字列を指定する場合には、説明と条件式と深刻度の3つを入力して保存ボタンを押します。

  • 説明:任意の文字列
  • 条件式:監視したい文字列を指定し追加ボタンを押す
  • 深刻度:文字列を検出した場合の深刻度を選択

条件式を調べると複雑なパターンも設定できるようです。

これで、設定した文字列が記録されるとダッシュボードに表示されます。
ubuntuの/var/log以下を見てみましたが、監視が必要なログは見つかりませんでした。
アプリケーションのログの監視のほうが使い道がありそうです。