テキストファイルの値をとりたい

バージョン:ZABBIX 2.2.3
監視対象:WIndows server 2008 R2

ZABBIX初心者で知識が足らず困っております。
アドバイス頂ければうれしいです。

業務内でdefaultrouteの宛先数をチェックする必要があり、
.batをタスクスケジューラで一時間ごとに叩き、テキストファイルを作成するようにしました。

countした結果をテキストファイルに出力するようになっており、[1]という値が取れれば正常としています。
その結果をZABBIXで監視したいです。

二通り試しましたが、
値が取れずうまくいきませんでした。

1パターン目
名前:defaultroute_count
タイプ:サメックスエージェント(アクティブ)
キー:log[D:\ZABBIX_check\ZABBIX_check.txt,"([0-9])"]
データ型:ログ
値のマッピングの使用:なし

2パターン目
CONFファイルのOptipn:UserParameterに以下を記述
UserParameter=defaultroute_count,powershell type D:\ZABBIX_check\ZABBIX_check.txt

名前:defaultroute_count
タイプ:サメックスエージェント(アクティブ)
キー:defaultroute_count
データ型:文字列、テキスト、数値 試しましたがうまくいかず。
値のマッピングの使用:なし

説明が分かりづらく、大変申し訳ないです。
よろしくお願いいたします。

コメント表示オプション

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

アイテムのキーを以下のようにしてみてください。

 vfs.file.contents[D:\ZABBIX_check\ZABBIX_check.txt]

データ型は、数値(整数)です。

log[]は、追記され続けるログファイルを監視する時に使用します。
今回のように数が常に上書きされるようなファイルの内容を参照す
る用途には適していません。
UserParameterの方は、ファイルの内容を見るためだけにpowershell
を呼び出すと余計な処理時間がかかるのでやめた方がよいでしょう。

最初に書いた通り、標準で用意されているアイテムキーで実現でき
ると思いますので、試してみてください。

ユーザー poypoy の写真

早々の返信ありがとうございます!
log[]の使い方、UserParameterの使い方、とても勉強になりました。

タイプ:Sammexエージェント(アクティブ)
キー:vfs.file.contents[D:\ZABBIX_check\ZABBIX_check.txt]
データ型:数値(整数)

以上のように試してみたのですが、
やはり値が「-」となってしまい、値がとれません。
ログでは以下のように表示されていました。
active check "defaultroute_count" is not supported

他に問題があるのでしょうか。

ユーザー poypoy の写真

TNKさん

タイプをZABBIXエージェントに変更したら値をとることができました。
ずっと悩んでいましたが、解決できてよかったです、本当に助かりました。
ありがとうございました!

ユーザー TNK の写真

他のアイテムでもタイプが「Zabbixエージェント(アクティブ)」で
あるアイテムの値も取得できないのではありませんか?

Zabbixエージェント(アクティブ)で値が取得できないのであれば、
Zabbixエージェントの設定ファイルであるzabbix_agentd.conf内で
ServerActiveの設定をしているかや、Zabbixエージェント側から
Zabbixサーバー側にデフォルトだとポート番号10051でアクセスで
きるかを確認してください。

アイテムのタイプが「Zabbixエージェント」でよいのであれば、
特に作業は必要ありません。

ユーザー poypoy の写真

二点確認してみます。ありがとうございます。