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 - 投稿数: 319
名前が変わるというのは、ファイルの実体は同じで毎日リネームされるということですか?
もしそうであれば、ハードリンクを作成しておいて、そちらを監視するのはどうでしょうか。
(Windowsでのハードリンクの作り方は、検索すればたくさん出てきます)
毎日新しいファイルが作成されるなら・・・
ZabbixAPIを使って監視対象を変更するスクリプトを一日一回cronで実行する、でしょうか。
時間や秒まで変わってくるなら難しそうですが。
mori123 - 投稿数: 36
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 - 投稿数: 495
対象Windowsホストに、外部コマンドやスクリプト等を追加インストールできるのであれば
UserParameter設定を併用して
「今日の日付に合致するファイル名を持つファイルのファイルサイズを返す」
という cmd スクリプト等を用意して、そちらを実行させるのはいかがでしょうか?
整数型を返すようなユーザ定義のアイテムとして定義しておくことで
ファイルサイズ数値を定期的に(数分おきなど)収集すれば
良いかと思います
https://www.eisscholle.net/spickzettel/zabbix/userparameters
https://stackoverflow.com/questions/483864/windows-command-for-file-size-only
mori123 - 投稿数: 36
fripper様
ご回答ありがとうございます。
作成されるファイルは、デイリー処理になりますので本日の日付に合致するファイルのファイルサイズを返すというスクリプトで対応しようと思います。
一旦、検証してみます。