zabbix结合自动发现机制实现站点/hs页面健康监控(代码片段)

author author     2022-12-04     412

关键词:

ZABBIX结合自动发现机制实现站点/hs页面健康监控

需求:为了防止业务假死,我们需要对服务hs页面进行监控

前提:项目标准化程序较高,已经规划/hs页面的使用

说明:ZABBIX本身也有web监控项,但是不够灵活,每次配置一个域名都需要一连串配置才可以,在微服务站点多切变化频繁时管理将会十分低效

通过自动发现监控的逻辑:

1、zabbix通过脚本或者其他形式首先发现识别json域名列表进行引用

2、当zabbix自动发现完成,将发现的值配置为变量,将变量配置为item中

要点:自动发现需要对发现的内容json化,以便于ZABBIX识别。

亮出配置文件:

UserParameter=webhs.discovery,/bin/cat /etc/zabbix/scripts/domain.list  ##用于获取域名列表
UserParameter=webhs[*],/bin/bash /etc/zabbix/scripts/webhs.sh $1    ##用于探测域名是否正常

准备需要被监控的站点json文件:

## 这里的json文件请务必保证格式,建议编写后在http://json.cn/进行测试
## 获取域名的形式可以通过脚本调CMDB接口获得,也可以自己编写json文件,通过cat命令调用,但输出请严格保证json
## json文件位置与配置文件中cat调用的相对应

[root@mgt-elastalert-server1 scripts]# cat domain.list 

    "data": [
        "#DOMAIN":"userinfo.prod.xxxx.com",
        "#DOMAIN":"gateway.xxxx.com",
        "#DOMAIN":"shenjing.xxxx.com",
        "#DOMAIN":"gatewayadmin.prod.xxxx.com",
        ...省略很多,大概一百多个
        "#DOMAIN":"ppdquery.prod.xxxx.com"
]

测试zabbix-server是否可以正常拿到域名列表信息

[root@mgt-zabbix-server1 ~]# zabbix_get -s 10.3.2.105 -k webhs.discovery

    "data": [
        "#DOMAIN":"userinfo.prod.tarsapi.com",
        "#DOMAIN":"gateway.tarsplus.com",
        "#DOMAIN":"shenjing.tarsplus.com",
        "#DOMAIN":"gatewayadmin.prod.tarsapi.com",
        ...省略很多,大概一百多个
        "#DOMAIN":"ppdquery.prod.xxxx.com"
]

准备检测域名健康状态的脚本

域名列表可以拿到后配置检测健康状态的脚本。原理就是zabbix拿到域名,然后将域名通过位置变量传递给检测脚本执行得到返回值(失败返回1,成功返回0),zabbix服务器根据返回值制定触发器

[root@mgt-elastalert-server1 scripts]# vim webhs.sh ## 保证zabbix有可执行x权限
#!/bin/bash

result=`curl -I -m 10 -o /dev/null -s -w %http_code $1/hs`   ##$1位置变量
if [ $result -eq 200 ];then
    echo "0"
elif [ $result -eq 302 ];then
    echo "0"
elif [ $result -eq 301 ];then
    echo "0"
else
    echo "1"
fi

配置ZABBIX平台方面

一切准备就绪,新建ZABBIX模板(Templates)并配置自动发现(Discovery)

配置发现域名列表

技术图片

技术图片

配置自动发现item

技术图片

配置自动发现的trigger

技术图片

配置完毕后将模板套用到准备了webhs.sh和domain.list文件的客户端机器上即可,两分钟后会发现已经自动发现并监控了

技术图片

zabbix监控自动发发现了监控主机,为啥在host里面看不到

参考技术A那是因为没有配置Action自动将发现的主机加入到相应的主机组以及链接模板!首先,Discovery实现的是状态监测,而想实现主机监控还需要配置相应的Action条件与响应动作。其次,如果想把两者结合起来只需要在Action的Di... 查看详情

zabbix/自动发现规则

  对于zabbix我们并不陌生他是开源的监控系统,现在的一部分企业都在用zabbix,今天给大家分享的是企业级监控zabbix的自动发现规则,有了它我们自定义健康的时候根据宏值可以让他自动发现对应的value从而省去我们一部... 查看详情

zabbix实现网络发现自动注册自动监控

网络发现是zabbix最具特色的功能之一,它能够根据用户事先定义的规则自动添加监控的主机或服务等Zabbix的网络发现功能可以基于如下信息进行    ip地址范围    可用的服务(ftp,ssh,http,tcp,....)  ... 查看详情

zabbix自动发现与自动注册自定义监控的实现(代码片段)

一、自动发现与自动注册Zabbix的发现主要包括三种类型:1)Zabbix的自动网络发现Zabbix提供非常有利和灵活的自动网络发现功能。通过网络发现,可以实现加速Zabbix部署、简化管理、在不断变化的环境中使用Zabbix而不需要过多的... 查看详情

zabbix结合bat脚本实现多个应用程序状态监控

...经济损失或者影响工作效率,后果如此严重。所以想通过zabbix进行多程序状态的监控,一旦这些重要的窗口程序中断,里面产生告警,通知运维人员去修复。提前准备好,两个bat脚本,findexe.bat(把要监控的exe程序做成自动发现)... 查看详情

zabbix结合bat脚本实现多个应用程序状态监控

...经济损失或者影响工作效率,后果如此严重。所以想通过zabbix进行多程序状态的监控,一旦这些重要的窗口程序中断,里面产生告警,通知运维人员去修复。提前准备好,两个bat脚本,findexe.bat(把要监控的exe程序做成自动发现)... 查看详情

zabbix自动发现与自动注册.

...现要添加很多台主机的时候,一台台添加难免太过于繁琐,zabbix提供自动注册,自动发现,可以实现主机的批量添加,  zabbix的发现包括三种类型:#自动网络发现(Networkdiscovery)#主动客户端自动注册,(Activeagentauto-registration)#低级别发现(l... 查看详情

开源监控系统中zabbix和nagios哪个更好

我比较看好zabbix这款监控软件,理由如下:1.分布式监控,天生具有的功能,适合于构建分布式监控系统,具有node,proxy2种分布式模式2.自动化功能,自动发现,自动注册主机,自动添加模板,自动添加分组,是天生的自动化运... 查看详情

zabbix通过自动发现功能实现自动识别网络设备接口

...。。。。。。那就该废了,于是迫于压力今天来测试使用zabbix的自动发现功能实现自动发现网络设备接口,并且自动获取接口的流量值,生成流量图等功能。  这样的话就能节省大量时间,时间就是生命啊,把时间浪费在... 查看详情

zabbix快速部署

zabbix具备常见的商业监控软件所具备的功能:主机性能监控、网络设备监控、数据库监控等支持多种报警机制支持自动发现网络设备和服务器可以通过配置自动发现服务器规则来实现支持分布式,能集中展示、管理分布式的监控... 查看详情

zabbix自动发现url以及对http返回状态码监控实现告警

...2019-06-0418:39:12目的:批量监控业务URL的返回状态码,通过zabbix监控判断业务好坏。1、zabbix安装请查看此永久链接:https://www.cnblogs.com/small-wei/p/10911769.html2、编写监控脚本cd  /usr/lib/zabbix/externalscripts      #本人存放... 查看详情

zabbix自动发现及自动添加主机

1.zabbix版本本次采用的是zabbix4.02.自动发现主机配置--自动发现--创建发现规则名称:testIP范围:192.168.1.1-254更新间隔:10s检查:新的--检查类型(zabbix客户端)--端口范围(10050)--键值(system.hostname)--添加设备唯一性准则:IP地址已启用:... 查看详情

zabbix自动发现和自动注册批量添加100台主机(代码片段)

zabbix自动发现和自动注册批量添加100台主机使用ansible批量zabbix-agent添加到目标主机我只用普通权限,所以要是使用sudo权限版本:zabbix5.0ssh脚本免密登陆sudovimkey_cert.sh#!/bin/bash#利用sshpass批量实现基于key验证#2020-06-22#Authorpansnssh-key... 查看详情

zabbix监控解决方案

思通运维监控主要用来监控IT基础设施组件的可用性和性能。监控项目是不受限制的,并且可以对IT基础设施健康状态进行复杂分析。通过确定IT系统问题的“来源”,使用户快速响应故障来降低宕机成本。 网络运维自... 查看详情

开源监控系统中zabbix和nagios哪个更好

...。但是如果牵涉到画图方面,感觉nagios+cacti的结合是不如zabbix的allinone方式的。Zabbix维护相对困难,Nagios维护相对容易Nagios的监控相对独立(插件机制,每次执行一条命令),而Zabbix的监控相对集中。而zabbix把报警、画图全包办... 查看详情

7zabbix使用进阶

本节知识点:zabbix自动发现web监控zabbix自动发现  官网:https://www.zabbix.com/documentation/4.0/zh/manual/discovery/network_discovery1、zabbix提供了网络发现功能:networkdiscovery基于HTTP、ICMP、SSH、LDAP、TCP、SNMP、Telnet、Zabbix_agent等协议的一... 查看详情

zabbix系列zabbix3.0.4探索主机discovery自动发现agent主机和zabbix-agent自动注册详细图文教程

Zabbix自动发现(Discovery)功能使用随着监控主机不断增多,有的时候需要添加一批机器,特别是刚用zabbix的运维人员需要将公司的所有服务器添加到zabbix,如果使用传统办法去单个添加设备、分组、项目、图像…..结果应该... 查看详情

zabbixserver端自动发现和zabbixagent端自动注册

一.zabbix自动发现利用zabbix的discovery功能可以实现自动批量添加主机的功能。Zabbix自动发现实现自定义主机名:通过自动发现添加的客户端主机的Hostname是以IP地址命名的,该怎么解决:方法一:直接在zabbixserver端的/etc/hosts文件里... 查看详情