zabbix 自动发现/zabbix自动发现规则

心不动则不痛 提交于 2020-12-29 13:24:55

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到期会自动删除

查看最新数据,也可以看到已经获取到数据

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!