码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix 自定义自动发现的key! low level discovery

时间:2016-04-20 23:55:41      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:zabbix 自定义 自动发现的key

1 意义和目的,在这里不讨论,只讨论是实现方法

2 学习的前提,你会编写常规的key! 和理解模板,item知识


系统环境

master端:

[root@master zabbix_agentd.conf.d]# ifconfig  eth0| sed -n ‘s#.*inet addr:\(.*\) B.*#\1#gp‘
192.168.100.10
client端
[root@slave zabbix]# ifconfig  eth0| sed -n ‘s#.*inet addr:\(.*\) B.*#\1#gp‘ 
192.168.100.13


分两块,zabbix-server 的web界面 进行创建,和agent端脚本实现

[root@slave ~]# grep -i "Include" /etc/zabbix/zabbix_agentd.conf | egrep -v "^#|^$"
Include=/etc/zabbix/zabbix_agentd.conf.d/
[root@slave ~]# cat /etc/zabbix/zabbix_agentd.conf.d/web_site_discovery.conf 
#web sitec code
UserParameter = web.site.discovery, python /etc/zabbix/scripts/web_site_code_status.py
UserParameter = test.test, sh /etc/zabbix/scripts/test.sh
UserParameter= web.site.code[*], sh /etc/zabbix/scripts/check_web_code.sh $1
[root@slave ~]#


第一步、在agent上看如何写自动发现的key,web.site.discovery 脚本

[root@slave ~]# cat /etc/zabbix/scripts/web_site_code_status.py
#!/usr/bin/env python
#encoding=utf8
import os
import json
r = file(‘/etc/zabbix/scripts/web.txt‘)
devices = []
for f in r.readlines():
    devices.append({"{#SITENAME}": f.strip()})
print json.dumps({‘data‘: devices}, sort_keys=True, indent=4)
[root@slave ~]# cat /etc/zabbix/scripts/web.txt 
www.baidu.com
www.sina.com.cn
www.pingan.com.cn
www.weibo.com

zabbix中low level discovery 的key的返回值是一个Json格式。且格式一定要如下k/v

[root@slave ~]# python /etc/zabbix/scripts/web_site_code_status.py
{
    "data": [
        {
            "{#SITENAME}": "www.baidu.com"
        }, 
        {
            "{#SITENAME}": "www.sina.com.cn"
        }, 
        {
            "{#SITENAME}": "www.pingan.com.cn"
        }, 
        {
            "{#SITENAME}": "www.weibo.com"
        }
    ]
}
[root@slave ~]#



验证在master上使用zabbix-get 测试是否这个key有效

[root@master zabbix_agentd.conf.d]# /usr/local/zabbix/bin/zabbix_get -s 192.168.100.13 -k web.site.discovery
{
    "data": [
        {
            "{#SITENAME}": "www.baidu.com"
        }, 
        {
            "{#SITENAME}": "www.sina.com.cn"
        }, 
        {
            "{#SITENAME}": "www.pingan.com.cn"
        }, 
        {
            "{#SITENAME}": "www.weibo.com"
        }
    ]
}


根据上面,值,这个key已经生效!




第二步,在master的web端界面上创建一个自动发现(在你需要的模板上创建)


a.

技术分享





b. 在创建一个自动发现的item(注意区分其他正常的item)

技术分享



技术分享





呈现的状态:

技术分享


第三步、把agent这台主机关联到这个模板上(这个你因该要懂得操作)


这个主机的itme中会出现


技术分享




本文出自 “崔德华运维打工从业路” 博客,请务必保留此出处http://cuidehua.blog.51cto.com/5449828/1766027

zabbix 自定义自动发现的key! low level discovery

标签:zabbix 自定义 自动发现的key

原文地址:http://cuidehua.blog.51cto.com/5449828/1766027

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!