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

简介:

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

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


系统环境

master端:

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


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

1
2
3
4
5
6
7
8
[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 脚本

1
2
3
4
5
6
7
8
9
10
[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  in  r.readlines():
     devices.append({ "{#SITENAME}" : f.strip()})
print json.dumps({ 'data' : devices}, sort_keys=True, indent= 4 )
1
2
3
4
5
[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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[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有效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[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.

wKioL1cXk9_BJNj2AABpgbAarUA790.png





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

wKiom1cXlHrjgpL-AABqVKJbces515.png



wKiom1cXlHvw0FErAACMPMMuzAQ406.png





呈现的状态:

wKioL1cXlhyhNJXIAABebkCfFxc352.png


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


这个主机的itme中会出现


wKioL1cXlaPBmLnGAABHWLxjyLY498.png

本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1766027如需转载请自行联系原作者


cuizhiliang


相关文章
|
监控
zabbix如何添加自定义监控项
zabbix如何添加自定义监控项
513 0
|
监控
zabbix利用grafana自定义监控图形展现(十一)
zabbix利用grafana实现监控图形展现 1.修改已有的system load监控图像 下面这张图是现在已经有的系统负载监控图,可以看到只有15分钟的负载并没有1分钟和5分钟的负载,我们现在修改一下图形,让他支持1分钟和5分钟的系统负载
1116 0
zabbix利用grafana自定义监控图形展现(十一)
|
8月前
|
监控 关系型数据库 应用服务中间件
zabbix自定义监控、钉钉、邮箱报警
zabbix自定义监控、钉钉、邮箱报警,实验准备,安装,添加监控对象,添加自定义监控项,监控mariadb,监控NGINX,钉钉报警设置,邮件报警
358 0
QGS
|
监控 网络安全
zabbix5.0添加自定义的key模板,邮件报警
zabbix5.0添加自定义的key模板,邮件报警
QGS
176 0
zabbix5.0添加自定义的key模板,邮件报警
|
监控 应用服务中间件 PHP
zabbix用户自定义参数监控 php-fpm 服务的状态及导出模板和自定义参数
zabbix用户自定义参数监控 php-fpm 服务的状态及导出模板和自定义参数
218 0
zabbix用户自定义参数监控 php-fpm 服务的状态及导出模板和自定义参数
|
监控 Linux
【zabbix教程六】——自定义item和trigger当内存不足10%时触发报警
【zabbix教程六】——自定义item和trigger当内存不足10%时触发报警
190 0
【zabbix教程六】——自定义item和trigger当内存不足10%时触发报警
|
监控 Linux
【zabbix教程四】——zabbix3.0监控磁盘IO与自定义模板
【zabbix教程四】——zabbix3.0监控磁盘IO与自定义模板
442 0
【zabbix教程四】——zabbix3.0监控磁盘IO与自定义模板
|
监控 安全 Java
使用 Docker 安装 Zabbix,并配置自定义监控项
Zabbix 可以用来监控各种网络参数,来保证服务器和系统的安全运行。并且 Zabbix 还提供了灵活的通知机制,以此来让系统管理员快速定位/解决存在的各种问题。是一个基于 Web 界面提供的分布式系统监控以及网络监控功能的企业级开源解决方案。
1243 0
使用 Docker 安装 Zabbix,并配置自定义监控项
|
监控 Java 数据安全/隐私保护
zabbix添加自定义监控项&告警(邮件)
有的时候zabbix提供的监控项目,不能满足我们生产环境下的监控需求,此时我们就要按照zabbix的规范自定义监控项目,来达到监控的目的。
283 0
zabbix添加自定义监控项&告警(邮件)
|
监控 网络协议 网络安全
zabbix自定义TCP 11种状态监控模板(十四)
zabbix自定义TCP 11种状态监控模板 如果一直对多个主机同时增加监控项那么会非常麻烦,在实际生产中有很多时候我们都需要对一批机器同时增加多个相同的监控项,如果一个一个手动添加将会非常麻烦,因此就有了模板的诞生,我们只需要创建一个模板,让需要监控的主机链接模板即可
312 0
zabbix自定义TCP 11种状态监控模板(十四)