Zabbix——监控Windows下某个文件夹的所有文件变化
获取所有的指定路径下的文件列表
以D:\Apps这个文件夹下的所有文件为例,我需要找到这个文件夹里面的子文件夹中的所有文件,但是排除backup这个文件夹,下面我们来看怎么操作
在scripts目录下创建check_file_in_D_Apps.ps1文件,内容如下
$Path = "D:\Apps"
$files = Get-ChildItem -Path $Path -File -Recurse | Where-Object {
-not ($_.FullName -like "*\backup\*")
} | ForEach-Object {
@{
"{#FULLPATH}" = $_.FullName
}
}
$files | ConvertTo-Json -Depth 1
修改zabbix agent conf file
UserParameter=file_check_D_Apps,powershell -NoProfile -ExecutionPolicy Bypass -File "C:\Program Files\zabbix\scripts\check_file_in_D_Apps.ps1"
重启zabbix agent
由于这里是windows服务器,所以直接去任务管理器中service那边重启即可
配置LLD
按照上图所示,使用vfs.dir.size来监控每一个文件的大小,一旦有文件大小发生变化就立即触发报警