使用Zabbix监控目录文件

LLD工作流中监控项预处理的功能结合新版本中的javascript预处理步骤,使得目录文件内容的监控非常简单,下面来给大家做具体的分享。

 

技巧是使用javascript预处理步骤将文件list转换成LLD格式。文件list就可通过system.run key(需要在agent配置文件中启动EnableRemoteCommands参数)或使用用户参数(agent配置文件中的UserParameter)获取到。

基于system.run key创建发现规则:

system.run[find /etc/* -maxdepth 0 -type f]

添加javascript预处理步骤,将文件list转换成Zabbix低级别发现数据:

var lld = [];
var lines = value.split("\n");
var lines_num = lines.length;
for (i = 0; i < lines_num; i++)
{
 var row = {};
 row["{#FILE}"] = lines[i]
 lld.push(row);
}
return JSON.stringify(lld);

脚本获取文件list和命令输出,并转化成json格式:

[
 {
   "{#FILE}": "<full path to file>"
 },
 {
   "{#FILE}": "<full path to file>"
 }
]

添加监控项原型用于监控文件是否发生变化:

最后,设置触发器用于事件触发:

 

发表评论