Windowsの名前が可変するファイルのサイズ監視について

いつも大変お世話になっております。

首題の件、監視対象がWindowsOSで名前が変わる(その時の日付)ファイルのサイズ監視について
ご教示頂けますでしょうか。

■構成
・Zabbix Server:4.0.0
・Zabbix Agent:4.0.0
・監視機器:Windows OS
・監視対象ファイル:c:\TEST\yyyymmddhhmmss_*_Faild.csv
※実ファイル:20190308100306_TEST2016-AD_Administrator_Failed.csv

■実現したい内容
監視対象ファイルのサイズが4KB以上になればアラート

vfs.file.size にてファイルサイズを取得しようと考えておりましたが、ファイル名が変わってしまうため、うまく取得できませんでした。
※ファイル名を固定で指定すると取得可能

名前が固定ではないファイルのサイズ監視方法について、何か良い方法がないかご教示頂けますでしょうか。

以上、よろしくお願いいたします。

コメント表示オプション

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

名前が変わるというのは、ファイルの実体は同じで毎日リネームされるということですか?
もしそうであれば、ハードリンクを作成しておいて、そちらを監視するのはどうでしょうか。
(Windowsでのハードリンクの作り方は、検索すればたくさん出てきます)

毎日新しいファイルが作成されるなら・・・
ZabbixAPIを使って監視対象を変更するスクリプトを一日一回cronで実行する、でしょうか。
時間や秒まで変わってくるなら難しそうですが。

ユーザー mori123 の写真

heya様

早速のご返信ありがとうございます。

ファイルの名前が変わるというのは、ファイルに付与される"yyyymmddhhmmss"の部分のこととなります。
また、ファイルは新たに生成されますので、実体も変わります。
検証環境にてvfs.file.sizeでファイル名を指定するやり方では実現が難しいと思っております。。。
以下、確認した内容となります。

監視可能:vfs.file.size["C:\TEST\20190412_Faild.csv"]
監視不可:vfs.file.size["C:\TEST\.*._Faild.csv"]

⇒Cannot obtain file information: No such file or directory

実施したい内容としましては、yyyymmddhhmmss_Faild.csvという名前で生成されるファイルのサイズが4KB以上であればアラートを出す
となります。
その他、よい監視方法が別途ございましたら、お力を頂きたいと思っております。

ユーザー fripper の写真

対象Windowsホストに、外部コマンドやスクリプト等を追加インストールできるのであれば
UserParameter設定を併用して

「今日の日付に合致するファイル名を持つファイルのファイルサイズを返す」
という cmd スクリプト等を用意して、そちらを実行させるのはいかがでしょうか?

整数型を返すようなユーザ定義のアイテムとして定義しておくことで
ファイルサイズ数値を定期的に(数分おきなど)収集すれば
良いかと思います

 https://www.eisscholle.net/spickzettel/zabbix/userparameters
 https://stackoverflow.com/questions/483864/windows-command-for-file-size-only

ユーザー mori123 の写真

fripper様

ご回答ありがとうございます。

作成されるファイルは、デイリー処理になりますので本日の日付に合致するファイルのファイルサイズを返すというスクリプトで対応しようと思います。

一旦、検証してみます。