ログファイル監視設定について

お世話になります。

ログファイル監視設定についてご教示下さい。

以下の順序でログファイル監視設定を行いました。
※データは所々フェイクを入れております。

■監視対象サーバへの設定

1.Zabbixエージェントの設定ファイルの修正
 対象ファイル:zabbix_agentd.conf
 ・追記内容
  ServerActive=(ZabbixサーバのIP)
  Hostname=TestHost
  RefreshActiveChecks=120
  AllowRoot=1

2.監視対象のテキストファイルを作成
 ファイル:-rwxrw-rw- 1 test test /tmp/test.log

3.Zabbixエージェントの再起動
 Zabbixエージェントを再起動させ、以下を確認致しました。
 ファイル:zabbix_agentd.log
  Starting Zabbix Agent [TestHost]. Zabbix 2.0.0 (revision 27675).
  agent #0 started [collector]
  agent #1 started [listener]
  agent #2 started [listener]
  agent #3 started [listener]
  agent #4 started [active checks]

■Zabbix管理画面
※既にプロセス監視の実績があるホストですので、ホスト作成は省きます。
※ユーザグループの設定やアクションの設定は既に実績があるホストです。NIWAHD全て有効です。

4.アイテムの作成
 設定 > ホスト > アイテム にて、以下の通りのアイテムを作成しました。
  ホスト:TestHost
  名前:log watch
  タイプ:Zabbixエージェント(アクティブ)
  キー:log[/tmp/test.log]
  データ型:ログ
  単位:(空欄)
  乗数を使用:OFF
  更新間隔(秒):10
  ヒストリの保存期間(日):90
  ログの時間の形式:(空欄)
  保存時の計算:なし
  アプリケーションの作成:(空欄)
  アプリケーション:LogWatch
  説明:(空欄)
  ステータス:有効

5.トリガーの作成
 設定 > ホスト > トリガー にて、以下の通りのトリガーを作成しました。
  名前:log watch - error
  条件式:(({TestHost:log[/tmp/test.log].iregexp(error)})#0)
  障害イベントを継続して生成:ON
  説明:(空欄)
  URL:(空欄)
  深刻度:警告
  有効:ON
  依存関係:(空欄)

■監視対象サーバへの設定

6.監視対象のテキストファイルにエラーを追記
 以下のコマンドにて、監視対象のテキストファイルにエラーを追記
 $ echo "error test" >> /tmp/test.log

その後、Zabbix管理画面の 設定 > ホスト > トリガー にて
5.にて設定したトリガー(log watch - error)の「エラー」が「×」と表示され、
「Trigger just added. No status update so far.」と記されます。
この状態が設定後、20時間後も同じ状態でした。
また、Alartメールも送付されません。

6.にて監視対象のテキストファイルに「error」を入れたので、ステータスが変わっても良いかと思われます。

他に何を確認/変更すべきか、ヒントでも良いのでご教示頂けると幸いです。

ちなみに、Zabbixサーバ、監視対象サーバ、共にLinuxです。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

トリガーが実行されるかどうかの前に、アイテムの値が取得できて
いるかを確認してみてください。
アイテムのタイプが「Zabbixエージェント」のものと「Zabbixエー
ジェント(アクティブ)」のものとでは、データの引き渡し方法が異
なるので、アイテムの値が取得できるかどうかの確認が必要です。

アイテム一覧のそのログ用アイテムの右端はどう表示されています
か?
最新データで値は取れていますか?
値が取れていないのであれば、監視対象のサーバからZabbixサーバ
を稼働させているサーバに対して、デフォルトですとServerAcitve
で指定したIPにポート番号10051で接続できるように設定されてい
ますか?

あと、今回の問題に直接関係はないと思いますが、Zabbixのサーバ
側のバージョンも2.0.0ですか?

TNK様

ご連絡をありがとうございます。

ご指摘頂いた箇所を確認致しました所、Zabbixサーバのポートの問題でした。

念のため、以下を回答致します。

> アイテム一覧のそのログ用アイテムの右端はどう表示されていますか?
アイテム一覧では、「エラー」にはチェックが表示されておりました。

> 最新データで値は取れていますか?
取得できておりませんでした。

> 値が取れていないのであれば、監視対象のサーバからZabbixサーバを稼働させているサーバに対して、デフォルトですとServerAcitveで指定したIPにポート番号10051で接続できるように設定されていますか?
監視対象サーバのアウトバウンドは10051ポートが開けられており、Zabbixサーバを許可しておりました。
Zabbixサーバのインバウンドは10051ポートが開けられておりましたが、監視対象サーバを許可しておりませんでした。
よって、Zabbixサーバの10051ポートの許可対象に監視対象サーバを追加致しました。
上記を設定した所、
 アイテム一覧に「log watch」が追加されました。
 トリガー(log watch - error)の「エラー」にチェックが入りました。
 Alartメールが送付されました。

> あと、今回の問題に直接関係はないと思いますが、Zabbixのサーバ側のバージョンも2.0.0ですか?
Zabbixのサーバ側も確認しました所、以下の通り、2.0.0でした。
zabbix-server.x86_64 2.0.0-1.amzn1 @/zabbix-server-2.0.0-1.amzn1.x86_64

無事に問題は解消致しました。
ご協力頂き、心より感謝申し上げます。

ユーザー Didier0802 の写真

毎々お世話になります。
小生も同件と思える事象で、値取得に至っておりません。

OS:centos7
ZabbixServer:2.4.6
ZabbixAgent:2.4.6

> 値が取れていないのであれば、監視対象のサーバからZabbixサーバ
> を稼働させているサーバに対して、デフォルトですとServerAcitve
>で指定したIPにポート番号10051で接続できるように設定されてい
> ますか?

許可設定する対象は、サーバ側のzabbix_server.confでしょうか?

※ちなみにfirewalldでは全てのNICに対してtrustedを適用しており、
 制限はかかっておりません。

お手数ですが、ご教示願います。

ユーザー TNK の写真

許可設定する対象は、サーバ側のzabbix_server.confでしょうか?

ファイアウォールの設定です。

zabbix_server.conf側の設定は、デフォルトのままであれば、
ポート番号10051で、Zabbixエージェントからの通知を受け付ける
ようになっています。

ファイアウォール的な制限がない環境で、値が取得できないのであ
れば、

 ・zabbix_agentd.confにServerActiveは設定してあるか
 ・Zabbixエージェントのログ
 ・監視対象のファイルおよびディレクトリのパーミッション
 ・Webインターフェースのアイテム一覧の右端×アイコン
 ・ログアイテムの設定がエージェント(アクティブ)になっているか

などをまずは確認してください。

ユーザー Didier0802 の写真

To:TNKさん

おせわになります。
ご指摘事項を確認しました

>ポート番号10051で、Zabbixエージェントからの通知を受け付ける
ようになっています。
⇒lsofにて確認しました。
 Agent:10050/tcp :○
 Server:10051/tcp :○

>・zabbix_agentd.confにServerActiveは設定してあるか
⇒ZabbixServerのIPアドレスを指定しています。
  また、AllowRootも「1」に設定しています。

>・Zabbixエージェントのログ
⇒再起動後は下記内容となっています。
-----------------------------
Got signal [signal:15(SIGTERM),sender_pid:1,sender_uid:0,reason:0]. Exiting ...
Zabbix Agent stopped. Zabbix 2.4.6 (revision 54796).
Starting Zabbix Agent [Zabbix server]. Zabbix 2.4.6 (revision 54796).
using configuration file: /etc/zabbix/zabbix_agentd.conf
agent #0 started [main process]
agent #1 started [collector]
agent #2 started [listener #1]
agent #3 started [listener #2]
agent #4 started [listener #3]
agent #5 started [active checks #1]
agent #6 started [active checks #2]
agent #7 started [active checks #3]
-----------------------------

・監視対象のファイルおよびディレクトリのパーミッション
⇒テスト用のログファイル(任意作成ファイル、/var/log/messagesともに644としています)

・Webインターフェースのアイテム一覧の右端×アイコン
⇒「有効」の横には何も表示されておりません
  (NGパターン時の取得不可アイコンは表示されていません)

・ログアイテムの設定がエージェント(アクティブ)になっているか
⇒「エージェント(アクティブ)」としています。

■zabbixユーザについて
 Zabbix-Agentインストール時そのままの状態(下記の通り)となっています。
-----------------------------
 # grep zabbix /etc/group
 zabbix:x:995:
 # grep zabbix /etc/passwd
 zabbix:x:996:995:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
-----------------------------

■ログ監視設定について
 本フォーラムでの内容を参考にまずは下記内容にてアイテム/トリガーを設定しています。
 (作成した正規表現を適用する前に「error」のみ検知させようと考えてます)
-----------------------------
<アイテム>
 名前   testログ監視
 タイプ  Zabbixエージェント(アクティブ)
 キー   log[/var/log/test.log,"error"]
 データ型 ログ
 更新間隔 10(s)
 ヒストリ 90(d)
 ログの時間形式 -
 アプリケーション <上位のアプリケーション名>
 有効   ■

<トリガー>
 名前   {HOST.NAME}ログ監視エラー
 条件式  {xxxx:log[/var/log/test.log,"error"].nodata(600)}=0
 障害イベントを継続して生成 ■
 深刻度  軽度の障害
 有効   ■
-----------------------------

まずは、データが収集できることを確認したいと思ってます。
ご助勢願いたく。
宜しくお願い致します。

ユーザー TNK の写真

>ポート番号10051で、Zabbixエージェントからの通知を受け付ける
ようになっています。
⇒lsofにて確認しました。
 Agent:10050/tcp :○
 Server:10051/tcp :○

lsofでの確認だけでは不十分です。
CentOS 7とのことですので、firewalldの設定は行われましたか?

  また、AllowRootも「1」に設定しています。

rootで実行しなければならない処理があるのですか?
どうしてもZabbixエージェントをrootで起動しなければならない時
以外は、AllowRootは0にすることをお勧めします。

rootで動かしているのであれば、ファイルのパーミッションに関し
ては、SELinuxなどで制限されない限り大丈夫でしょう。

あとは、アイテムを作成後、/var/log/test.logに「error」という
文字列を含むログを出力させましたか?

もう一つ、Zabbixサーバ上に登録したホストの名前と、
zabbix_agentd.conf内のHostnameに設定した文字列とが、
大文字小文字含めて一致しているかをもう一度確認してくだ
さい。