zabbix 自动发现/zabbix自动发现规则
zabbix通过自动发现规则,根据脚本自动动态的定义监控的key,再根据key获取值
discovery.py动态获取key
#!/usr/bin/env python import json import sys def get_ip(): a={ "data":[ {"{#IP}":"127.0.0.4"}, {"{#IP}":"127.0.0.5"}, {"{#IP}":"127.0.0.6"} ] } print json.dumps(a,sort_keys=True, indent=2) get_ip()
脚本模拟动态获取访问最多的ip,并通过zabbix自动发现把ip作为key。这个脚本数出来的格式必须是json格式,用于zabbix去识别发现,而且里面的键要是data。
#!/usr/bin/env python import sys a={"127.0.0.4":1,"127.0.0.5":2,"127.0.0.6":3} ip=sys.argv[1] print a[ip]
此脚本模拟根据key获取value
配置zabbix的配置文件
UserParameter=discovery_gsd_ip_num,/opt/script/discovery.py
UserParameter=gsd_ip_num[*],/opt/script/get.py $1
zabbix页面添加自动发现规则
添加监控原型
zabbix 定义了一个变量 {#IP} = ip 也就是我们在任何一个脚本里面都可以将这个变量加传递进去!
注意,这是在模板的自动发现规则里面的监控项原型定义的监控项 并不是 模板里面的监控项 两者是不同的,当你把监控项原型定义之后,他会自动发现里面的规则,然后帮助我们自动在监控项里面添加
然后查看监控项,可以看到我们定义的动态的key已经生成,失效的key到期会自动删除
查看最新数据,也可以看到已经获取到数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)