ログファイルから数値を取り出しグラフ化する方法について

お世話になっております。

【環境:Zabbix3.2.11】

ログファイルから数値を取り出してグラフ化したく以下のURLを参考にためしに設定してみましたがうまくいきません。

https://qiita.com/kenchang100kg/items/e2b6db8a53853f4b07ae

以下に設定した内容を記載します。

【テスト用ログファイル】
/tmp/zabbix/test.log
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[23/Dec/2016:06:10:17 +0000] "request: GET / HTTP/1.1" "status: 200" "body_bytes_sent: 18006" "http_referer: -" "resquest_time: 0.112"
[23/Dec/2016:06:10:17 +0000] "request: GET /favicon.ico HTTP/1.1" "status: 200" "body_bytes_sent: 5" "http_referer: http://xxxxxxxx/" "resquest_time: 0.003"
[23/Dec/2016:06:10:19 +0000] "request: GET / HTTP/1.1" "status: 200" "body_bytes_sent: 18006" "http_referer: -" "resquest_time: 0.112"
[23/Dec/2016:06:10:19 +0000] "request: GET /favicon.ico HTTP/1.1" "status: 200" "body_bytes_sent: 5" "http_referer: http://xxxxxxxx/" "resquest_time: 0.003"
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【アイテム】
名前:test
タイプ:Zabbixエージェント(アクティブ)
キー:logrt[/tmp/zabbix/test.log,"status: (200)",,,,\1]
データ型:数値(整数)
データの形式:10進数

【グラフ】
名前:test
各項目デフォルト
アイテム:サーバ名:test

上記の設定をしてグラフを開いても[データなし]となってしまいます。
URLによると縦軸200のグラフができるようなのですが。。。

ログファイルから特定の項目の数値を取り出しグラフ化することは可能なのでしょうか。

よろしくお願いします。

コメント表示オプション

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

該当アイテムのヒストリにデータが入っていますか。
あと、表示期間はデータの存在する期間が指定されていますか。

ユーザー aloha0810 の写真

コメントありがとうございます。
すみませんzabbix初心者なものでヒストリにデータが入っているかどうかはどこを参照するとわかりますでしょうか。
またグラフを開きますと現在の時刻から1時間前まで表示されておりますがグラフを開いた状態で/tmp/zabbix/test.logを
更新してもデータなしのままです。

ユーザー TNK の写真

「監視データ」->「最新データ」で参照できませんか?

また、「設定」->「ホスト」でホストの一覧を表示させ、対象のホ
ストの「アイテム」をクリックしてアイテムの一覧を表示させると、
エラーが発生して値が取得できないアイテムに関しては、赤いマー
クが表示されます。
対象のアイテムの右端に赤いマークが表示されていないか確認して
ください。

赤いマークが表示されていたら、そこにマウスのポインタを移動さ
せるとエラーの詳細が表示されるはずです。

あとは、他にタイプが「Zabbixエージェント(アクティブ)」のアイ
テムで値が取得できていますか?
できていないのであれば、Zabbixエージェント側からZabbixサーバー
に接続できない状態になっていないか、Zabbixエージェントのログ
を確認してみてください。

ご確認ください。

おまけ:
Zabbix 3.0の新機能:ログファイルから数値を取得
https://qiita.com/atanaka7/items/0e7ad1735d281adcec45

ユーザー aloha0810 の写真

コメントありがとうございます。

「監視データ」->「最新データ」を確認しましたところ[ヒストリがないアイテムを表示]にチェックをつけた状態で
対象のアイテムが表示されました。しかし対象のアイテムの[最新のチェック時刻]、[最新の値]は空の状態です。

「設定」->「ホスト」でホストの一覧から対象ホストのアイテム一覧を確認しましたところ特に赤いマーク等はなく
ステータスは有効の状態です。
ちょっとテスト的に今回使用している/tmp/zabbix/test.logを別名に変更してみたのですが赤いマークがでません。
通常、キーに指定しているファイルがない場合はそのようなエラーが赤マークとともにでると思っていたのですが・・・

対象サーバの/var/log/zabbix/zabbix_agentd.logにはなにも書かれていませんでした。
zabbix_agentd.confのDebugLevelはデフォルトのままなのでもっと詳細なログが書かれるように設定変更が
必要でしょうか?

zabbix_getコマンドにて実行してみましたがうまくいきませんでした。
=====================================================================
# zabbix_get -s [zabbixエージェントサーバ] -k logrt[/tmp/zabbix/test.log,"status: (200)",,,,\1]
ZBX_NOTSUPPORTED: Accessible only as active check.
=====================================================================

ユーザー yk_taiko の写真

●文字列によるフィルタを掛けず、単純に logrt[/tmp/zabbix/test.log] とした場合にデータが取得できるかどうかをまず確認してみてください。
※ 監視対象のログ監視ができているかどうかの確認

・上記ができるようであれば監視設定のフィルターによるものである可能性が高いので、出力しているログと監視設定でかけているフィルタが空白の文字なども含めて
 合致しているかを確認してみてください。

・上記のフィルタ掛けないものも取れないようであれば、そもそも対象ログの監視自体ができていないこととなりますので、
 ほかのログは監視できるのか、そもそもアクティブチェックの監視は正常に動くのかということを確認する必要がでてきます。

※zabbix_get は『Zabbixエージェント』タイプの確認はできますが、『Zabbixエージェント(アクティブ)』タイプの確認はできません。

ユーザー aloha0810 の写真

コメントありがとうございます。

zabbix_getは、『Zabbixエージェント(アクティブ)』タイプの確認できないのですね!
今回のlogrt以外の、『Zabbixエージェント(アクティブ)』タイプのアイテムもヒストリには[最新のチェック時刻]も
[最新の値]も空の状態です!
ということはアクティブチェックの監視が正常ではない可能性があるということですね!

ユーザー yk_taiko の写真

Zabbix エージェント→Zabbixサーバへの通信が失敗した場合のログは、一度しか出ません。zabbix_agentd.log に何も出力が無いということですので、
Zabbixエージェントを再起動して、起動後のログに 「Zabbixサーバと通信できないログ」が出力されるかどうか見てみてください。

出るようであれば、Zabbix エージェント→Zabbixサーバ(10051ポート) への通信が失敗していることとなりますので、通信が通るようにする必要がありますね。

ユーザー aloha0810 の写真

おはようございます!返信ありがとうございます。

「Zabbix エージェント→Zabbixサーバへの通信が失敗しているかも」についてなのですがタイプがZabbixエージェントとなっている
アイテムについては最新のチェック時刻なども表示され通信できているように見えるのですがタイプがZabbixエージェント(アクティブ)の
アイテムはまた別ということですか?

ユーザー yk_taiko の写真

通常の「Zabbixエージェント」タイプのものは「Zabbixサーバ→Zabbixエージェント」の通信が最初に行われます。
「Zabbixサーバ→Zabbixエージェント」の通信が許可されていれば、通常、その通信の応答は許可されます。

アクティブのものは最初に「Zabbixエージェント→Zabbixサーバ」が行われるので、それが弾かれている可能性が考えられますね。

ユーザー aloha0810 の写真

なるほど!
ちょっと調査したところzabbixサーバもzabbixエージェントサーバもfirewalldは動いていませんでした。。。
zabbixサーバのzabbix_server.confになにか設定なと必要でしょうか?
ListenPortは設定されていなかったのでデフォルトの10051ですよね?
ListenIPが127.0.0.1になっています。。。これzabbixエージェントのServerActiveに指定したzabbixサーバの
IPアドレス書く必要ありますよね?

ユーザー yk_taiko の写真

127.0.0.1 だと、自分自身のものしか受けられないようになっていると思われますね。

受信するインターフェースでリッスンするようにしてあげてください。

※参考 zabbix_server.conf の設定値
- https://www.zabbix.com/documentation/3.2/manual/appendix/config/zabbix_s...
- https://www.zabbix.com/documentation/2.2/jp/manual/appendix/config/zabbi...

ユーザー aloha0810 の写真

ちょっとテスト環境をつくってやってみたいと思います!
ありがとうございます!

ユーザー aloha0810 の写真

みなさまご教授ありがとうございます。
本日は時間になりましたので来週また調査する予定です。
またお力をお貸しいただければ幸いです。