在zabbix监控中,我们可以通过自带item的可以和自定义key进行监控,但是当所需要的监控项不确定,比如key会根据时间进行变化时,这时候我们就不能把item的key定义死,要通过自发现这个高级功能来动态的添加key和下架key,自发现key其实也很简单,步骤分为如下:

1、首先要自定义两个脚本,一个用于key的自发现,一个用于当做key的名称,根据key返回值,不啰嗦了,直接上脚本:

一个用于自发现的脚本:必须输出为json的格式,并且json的key值也有要求,必须是“{#XXXX}”这样的格式作为json格式里面的key,例如定义key的dict["{#P_ROLE}"],其中的{#P_ROLE}会由于定义的key,用于动态生成key

脚本可以用shell,也可以用Python

例如有:discovery.py

import json

def create_json(path):

json_list = []

with open(path) as f:

for line in f.readlines():

dict = {}

split = line.split("|")

dict["{#IP}"] = split[0]

dict["{#PORT}"] = split[1]

dict[“{#TIME}”]=split[2]

json_list.append(dict)

sum = {}

sum["data"] = json_list

sum = json.dumps(sum)

print sum

if __name__ == '__main__':

path = "/data/ alert_output/segment_conf.txt"

create_json(path)

如上代码/data /alert_output/segment_conf.txt中的数据格式是根据“|”进行连接的数据:例如

192.168.110.88|8088|2019-05-05|value_a|value_b……等,这样我们就可以更具ip,port,time唯一确定一行,也是唯一的一个key。

接下来我们写一个更具key值返回唯一的值,这里写一个shell脚本,由于上面根据ip,port,time三个值唯一确定一个key,所以在shell脚本中我们也通过输入三个参数作为key用于获取值。例如:alert.sh

执行:sh alter.sh ip port time

#!/bin/bash

[ $# -ne 3 ] && exit 1

path=/data/ alert_output/ segment_conf.txt

value=`cat $path | grep $1 | grep $2 | grep $3 | awk -F "|" '{print $4}'`

if [ $value -gt 0 ]

then

echo 1  #用于对应于item之key的触发器告警的值

else

echo 0  #用于恢复,这里可以根据不同的需求写不同的输出

fi

 

到这里位置,我们要的脚本已经写好了,现在我们需要配置zabbix agent的配置文件,在zabbix agent文件夹中的../etc/zabbix_agent.conf中修改配置文件如下:

PidFile=/usr/local/zabbix-agent/zabbix_agentd.pid

LogFile=/usr/local/zabbix-agent/zabbix_agentd.log

Server=zabbix server ip

ServerActive= zabbix server ip

Hostname=nn1

EnableRemoteCommands=1

LogRemoteCommands=1

UnsafeUserParameters=1

UserParameter=discovery.test [*],python xxx/xxx/ discovery.py

UserParameter=alert.test [*], sh xxx/xxx/alert.sh  $1 $2 $3 #这里表示传入三个参数

如上就配置好了zabbix的agent的配置文件了,接下来重启zabbix的agent,如果没有配置重启命令,就可以通过ps 和kill干掉zabbix的进程,然后启动zabbix,如果配置了启动命令,service zabbix_agentd restart就可以了

接下来就到zabbix的页面进行配置了

第一步,配置自发现

找到一台主机进入如下页面

然后点击创建

这样我们就配好自发现的脚本,接下来来配置key了

如上图所示,就是我们配好的一个自发现,然后在配好的自发现的基础上点击配置key

好,到此为止,已经配置好自发现key,然后需要配置trigger了,用于告警,这个就很简单了,也是在自发现的基础上配置,如下图所示

然后点击创建触发器

这里很简单,就不详细介绍配置了,直接点击add

然后就可以选择直接配置好的key了,下面的trigger配置就不介绍了,因为都是通用的配置,到这里一个自发现的key就介绍完了

zabbix自发现item监控的更多相关文章

  1. Zabbix自动发现并监控磁盘IO、报警

    本文转载自: https://www.93bok.com 引言 Zabbix并没有提供模板来监控磁盘的IO性能,所以我们需要自己来创建一个,由于一台服务器中磁盘众多,如果只有一两台可以手动添加,但服务 ...

  2. 添加zabbix自动发现(监控多tomcat实例)

    说明 何为自动发现?首先我们监控多tomcat实例,如果一个个实例地添加或许可以完成当前需求.但是日后随着实例的增多,再手动一个个去添加就十分不方便了.这时候需要自动发现这个功能,来帮助我们自动添加监 ...

  3. Zabbix 自动发现并监控磁盘IO、报警 引言

    引言 Zabbix并没有提供模板来监控磁盘的IO性能,所以我们需要自己来创建一个,由于一台服务器中磁盘众多,如果只有一两台可以手动添加,但服务集群达到几十那就非常麻烦,因此需要利用自动发现这个功能,自 ...

  4. Zabbix lld发现磁盘监控

    一.软件版本 操作系统:CentOS-6.5-x86_64 zabbix版本:3.0.3 二.脚本编写: 1.python版本: #!/usr/bin/env python import json i ...

  5. zabbix自动发现与监控内存和CPU使用率最高的进程,监测路由器

    https://cloud.tencent.com/info/488cfc410f29d110c03bcf0faaac55b2.html         (未测试) https://www.cnblo ...

  6. ss命令结合zabbix对socket做监控

    本文为博客园作者所写: 一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 最近天冷了,socket也出问题了,一直没有做监控,现在就把监控加起来,目前我们使用的有z ...

  7. zabbix自动发现功能实现批量web url监控

    需求: 现在有大量url需要监控,形式如http://www.baidu.com ,要求url状态不为200即报警. 需求详细分析: 大量的url,且url经常变化,现在监控用的是zabbix,如果手 ...

  8. 运维监控-使用Zabbix Server 添加自定义 item

    运维监控-使用Zabbix Server 监控自定义 item  作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客就直接开门见山如何使用Zabbix Server 监控自定义 ...

  9. Zabbix整合MegaCLI实现物理硬盘的自动发现和监控

    MegaCLI是LSI提供的用户空间管理RAID卡(LSI芯片)工具,适用于大多数的Dell服务器. MegaCLI介绍: http://zh.community.dell.com/techcente ...

随机推荐

  1. java截取避免空字符丢失

    1. 场景描述 数据后端是Hbase等nosql数据库,返回的数据以逗号分隔,java后端获取数据后,需要新增组装数据后再返回给前端. 2. 问题解决 2.1 问题定位 本来用的java的split进 ...

  2. python 写入excel数据而不改变excel原有样式

    目标:python写数据到excel,不改变原有样式 解决:在打开excel时,加入该参数formatting_info=True

  3. Python 爬虫:煎蛋网妹子图

    使用 Headless Chrome 替代了 PhatomJS. 图片保存到指定文件夹中. import requests from bs4 import BeautifulSoup from sel ...

  4. ElasticSearch01--安装ElasticSearch服务(Linux)

    在linux系统上安装ElasticSearch服务 Linux系统要求: 1.centos6或centos7 2.jdk1.8及以上 1. 新建用户 新建一个用户 useradd yuank 修改用 ...

  5. CF1195C Basketball Exercise (dp + 贪心)

    题解出处:https://www.luogu.org/problemnew/solution/CF1195C 很水的一道C题……目测难度在黄~绿左右.请各位切题者合理评分. 注意到可以选择的球员编号是 ...

  6. vs2013类模板的修改

    很多人一起写程序,往往都有规定的代码模板,比如要求每个类都有注释,说明开发者是谁,类的功能以及其他信息.如果每次建一个类,手工去复制这些信息很麻烦,也很容易遗漏.我们可以直接修改VS2013创建类的时 ...

  7. 利用git 找到应该对问题代码负责的人--代码定责

    场景 有时候突然发现 某部分代码存在明显的问题,代码作者的态度需要调整. 或者发现某些代码存在特意留下的bug或漏洞,代码作者需要出来担责. 这时候我们就需要找出来 需要为有问题代码承担责任的同事,或 ...

  8. 【MySQL】目录、文件权限问题

    详情如下: $ cat /usr/local/mysql/data/Phoenix-slow.log cat: /usr/local/mysql/data/Phoenix-slow.log: Perm ...

  9. 【Java】设置 JPanel 宽度

    panel.setSize(200, 300); //该方法无效 panel.setPreferredSize(new Dimension(800, 0)); //使用该方法 参考链接: http:/ ...

  10. 【iOS】Interface Builder 预览

    Interface Builder 为最顶层视图提供了 Simulated Metrics,预览用户界面的各种外观设置效果,例如顶部有导航栏或底部有标签栏的效果,如图所示: