zabbix使用jsonpath和javascrits配合做mysql用户密码过期自动发现监控
脚本采集基础数据特定格式
用户名称 | 用户密码多久未修改 |
---|---|
admin | 123456 |
sdk | 123456 |
配置zabbix配置文件
UserParameter=mysql.monitor[*], /bin/bash /app/patrol/zabbix_agents/scripts/mysql/mysql_monitor.sh $1 $2 $3 $4 $5 $6
配置获取基础数据监控项
创建监控项
获取测试数据
增加步骤处理通过javascripts处理基础数据,json格式化
result = value.split("\n")
var result_array = []
var result_map={}
for(var i=1;i<result.length;i++)
{
r=result[i].split(/\s+/)
result_array.push({"USER":r[0], "SIZE":r[1]})
}
return JSON.stringify({"data":result_array})
配置自动发现
配置进程自动发现用户名
JSONPATH:$.data.[*]["USER"]
javascripts:
db = eval(value)
db_arr = db.length
result_array =[]
for(var i=0;i<db_arr;i++)
{
result_array.push({"{#USER}":db[i]})
}
return JSON.stringify({"data":result_array})
创建监控项
JSONPATH:$.data[?(@.USER=='{#USER}')]['SIZE']
javascripts:
return eval(value)[0]
如有不明白的地方可留言,或者加getsetgogo