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

需求:

现在有大量url需要监控,形式如http://www.baidu.com ,要求url状态不为200即报警。

需求详细分析:

大量的url,且url经常变化,现在监控用的是zabbix,如果手动添加模板,会造成大量重复工作,如果利用脚本+mail,无法图形呈现

解决方案:

zabbix有discovery功能,即可轻松解决此问题

首先我们找一个随便找一个zabbix客户端来实现接下来要做的功能

首先我们从头来,我们来装一下zabbix客户端

[root@test_ha_nginx ~]# yum install -y gcc gcc-c++ make pcre* openssl* cmake ncurses-devel gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel
[root@test_ha_nginx src]# tar -xf zabbix-3.0.3.tar.gz 
[root@test_ha_nginx src]# cd zabbix-3.0.3
[root@test_ha_nginx zabbix-3.0.3]# ./configure   --prefix=/data/usr/local/zabbix  --enable-agent
[root@test_ha_nginx zabbix-3.0.3]# make && make install
[root@test_ha_nginx zabbix-3.0.3]# groupadd zabbix
[root@test_ha_nginx zabbix-3.0.3]# useradd zabbix -g zabbix
[root@test_ha_nginx init.d]# /etc/init.d/zabbix_agentd restart
[root@test_ha_nginx scripts]# pwd
/data/usr/local/zabbix/scripts
[root@test_ha_nginx scripts]# vim web_site_code_status.sh

脚本内容为:
zabbix自动发现功能实现批量web url监控zabbix自动发现功能实现批量web url监控

1 #!/bin/bash 
 2 # function:monitor tcp connect status from zabbix 
 3  
 4 source /etc/bashrc >/dev/null 2>&1 
 5 source /etc/profile  >/dev/null 2>&1 
 6 #/usr/bin/curl -o /dev/null -s -w %{http_code} http://$1/ 
 7  
 8 web_site_discovery () { 
 9 WEB_SITE=($(cat  /data/usr/local/zabbix/sbin/WEB.txt|grep -v "^#")) 
10         printf '{n' 
11         printf 't"data":[n' 
12 for((i=0;i<${#WEB_SITE[@]};++i)) 
13 { 
14 num=$(echo $((${#WEB_SITE[@]}-1))) 
15         if [ "$i" != ${num} ]; 
16                 then 
17         printf "tt{ n" 
18         printf "ttt"{#SITENAME}":"${WEB_SITE[$i]}"},n" 
19                 else 
20                         printf  "tt{ n" 
21                         printf  "ttt"{#SITENAME}":"${WEB_SITE[$num]}"}]}n" 
22         fi 
23 } 
24 } 
25  
26 web_site_code () { 
27 /usr/bin/curl -o /dev/null -s -w %{http_code} https://$1 
28 } 
29  
30 case "$1" in 
31 web_site_discovery) 
32 web_site_discovery 
33 ;;
34 web_site_code) 
35 web_site_code $2 
36 ;; 
37 *) 
38  
39 echo "Usage:$0 {web_site_discovery|web_site_code [URL]}" 
40 ;; 
41 esac

View Code
[root@test_ha_nginx scripts]# chmod a+x web_site_code_status.sh

2.创建WEB.txt文件

[root@test_ha_nginx sbin]# pwd
/data/usr/local/zabbix/sbin

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

3.客户端配置文件添加以下几行内容

[root@10-19-6-138 etc]# cat zabbix_agentd.conf | grep -v "^$" | grep -v "^#"
LogFile=/tmp/zabbix_agentd.log
Server=123.20.20.20
ServerActive=123.20.20.20
Hostname=test_web_174
##新加入以下内容
Include=/data/usr/local/zabbix/etc/zabbix_agentd.conf.d/*
UnsafeUserParameters=1
UserParameter=web.site.discovery,/data/usr/local/zabbix/scripts/web_site_code_status.sh web_site_discovery  
UserParameter=web.site.code[*],/data/usr/local/zabbix/scripts/web_site_code_status.sh web_site_code $1

4.现在我们重启一下客户端,然后在服务端测试一下

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

我们发现我们是能够测试成功的

此时返回状态为200

至此,脚本,客户端配置文件OK

接下来要做的就是zabbix 服务端的配置了

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

创建应用集

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

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

点击add

然后去创建发现规则

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

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

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

现在开始创建item

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

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

接下来要做的就是创建trigger报警了

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

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

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

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

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

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

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

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

这里需要注意的是,web.txt中的URL地址要是写错了的话,这边会一直报警,就算你给他改成正确的,我这边还是在报哪个错误的URL地址的警

这里的解决方法就是

到该主机监控项下面,把那个错误的监控项给停了

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

文章摘自:http://itnihao.blog.51cto.com/1741976/1129725

参考文档:https://www.zabbix.com/documentation/2.0/manual/discovery/low_level_discovery

此外,还可以参考我写的文档:http://code.google.com/p/auto-task-pe/downloads/list zabbix自动发现监控http端口.pdf 如遇到问题,请先仔细阅读这2个文档

原文链接: https://www.cnblogs.com/smail-bao/p/6043726.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/243620

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午11:27
下一篇 2023年2月13日 下午11:28

相关推荐