zabbix批量监测WEB页面
我们都知道zabbix具备WEB监测功能,单纯的添加几个、十几个的话,手工添加也行,稍费点事而已,可一旦数量太多,那手工添加明显不太合适了。最近就遇见这么个需求,要一次性添加200多个页面,这…着实有些为难老夫了。硬着头皮添加了二十来个,挠下一把头发后才想起来,老夫我也是多多少少会些脚本人,何不偷个懒呢。于是在网上找了找教程,适当的做了些改造,总算搞定了。分享给大家,希望能给大家带来帮助。
1、环境说明
ubuntu 22.04 / zabbix 6.0
2、URL测试
这一步主要是为了确定下给定的URL是否正确,如果我们能够确定URL没有任何问题,这一步可以略过。先看下我手中的数据格式
这一步使用以下脚本实现vim url_test.py import xlrd import requests #先获取这个excel文件 worksheet = xlrd.open_workbook(r"E:url.xlsx") #获取这个文件里所有的sheet sheet_names = worksheet.sheet_names() #本文件中有两个sheet,分别为"Sheet2", "Sheet1" print(sheet_names) #循环这两个sheet # for sheet_name in sheet_names: #通过sheet名称来获取单个sheet的所有数据 # sheet = worksheet.sheet_by_name(sheet_name) #将第三列的数据存储到url_name中 # url_name = sheet.col_values(2) # print(url_name) #我这里没有做循环,因为就一个sheet里有数据 sheet =worksheet.sheet_by_name("Sheet2") url_name = sheet.col_values(2) # print(url_name) headers = { "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" } for url in url_name[1:]: try: req = requests.get(url,headers=headers,timeout=5) print("域名"+ url + "返回码: " + str(req.status_code)) except Exception as e: print("域名"+ url + "访问出现如下异常:%s" %e)
输出结果是这个样子的域名http://europhil.aaa.com返回码: 403 域名http://www.aaa.com返回码: 200 域名http://cs.aaa.com返回码: 200
这样就把访问异常的页面提前筛选出来,可以提前核实下文件中的内容是否正确。
3、重组数据
重组数据后的数据比较简单,只是将路径那一列删除了,没什么鸟用,当然不删也行,就是单纯的为了好看些。不过这个数据需要存储在.txt获取.log文件中,否则后面无法读取,格式是这样的站点名称1,http://cs.aaa.com 站点名称2,http://bwb.aaa.com 站点名称3,http://wy.aaa.com
我将这个文件放到了/usr/lib/zabbix/customscripts中,下面需要用到的脚本文件也都放到了这个目录中,这里一定要注意,文件中不要有重复数据 。
4、配置自动发现和页面状态检测脚本
首先配置自动发现脚本cd /usr/lib/zabbix/customscripts vim web_discovery.sh #脚本内容如下: #!/bin/bash WEB_SITE=($(grep -v "^#" /usr/lib/zabbix/customscripts/sd_url.txt | awk -F "," "{print $1}")) WEB_URL=($(grep -v "^#" /usr/lib/zabbix/customscripts/sd_url.txt | awk -F "," "{print $2}")) length=${#WEB_SITE[@]} printf "{ " printf " """data":[" for ((i=0;i<${#WEB_SITE[@]};++i)) do printf " {" printf ""{#URLNAME}":"${WEB_SITE[$i]}","{#URL}":"${WEB_URL[$i]}"}" if [ $i -lt $[$length-1] ];then printf "," fi done printf " ] " printf "} "
接着来配置页面状态检测脚本,这个脚本完全照搬网上的vim web_status.sh #脚本内容如下: #!/bin/bash url=$1 status=$2 http_code () { /usr/bin/curl -o /dev/null -s -w %{http_code} $url } time_total () { /usr/bin/curl -o /dev/null -s -w %{time_total} $url|awk "{print $1*1000}" } time_connect () { /usr/bin/curl -o /dev/null -s -w %{time_connect} $url|awk "{print $1*1000}" } time_starttransfer () { /usr/bin/curl -o /dev/null -s -w %{time_starttransfer} $url|awk "{print $1*1000}" } speed_download () { /usr/bin/curl -o /dev/null -s -w %{speed_download} $url|awk "{print $1/1024}" } case $status in http_code) http_code ;; time_total) time_total ;; time_connect) time_connect ;; time_starttransfer) time_starttransfer ;; speed_download) speed_download ;; *) echo "Usage:$0 {[URL] http_code|time_total|time_connect|time_starttransfer|speed_download}" ;; esac
5、zabbix agent配置
在安装有zabbix agent的主机上创建配置文件cd /etc/zabbix/zabbix_agentd.d vim url.conf #添加如下内容 UserParameter=web.discovery,/usr/lib/zabbix/customscripts/web_discovery.sh UserParameter=web.status[*],/usr/lib/zabbix/customscripts/web_status.sh $1 $2 #修改agent配置文件,默认为0,修改为1,否则可能会不能正确执行脚本 vim /etc/zabbix/zabbix_agentd.conf UnsafeUserParameters=1 #修改后重启agent systemctl restart zabbix-agent
6、zabbix 服务端配置
修改zabbix配置文件,不是完全必要,但建议修改下#执行脚本可能会超时,可以调大一下超时时间,默认3 Timeout=15
在页面中添加自动发现规则,可以添加成模板,我这里直接在zabbix server中进行添加
这里注意箭头标识的地方,一定要和上一步中url.conf中键值一致
接下来就是添加监控原型了,示例如下,注意和url.conf中的键值,以及web_status.sh中的字段对应起来。
将其他四个依次添加上。
7、结果查看
执行自动发现后,结果是这样的后面配置告警和图形就不说了,比较通用。
后面配置告警和图形就不说了,比较通用,大家自行配置即可。
手机到底是苹果好还是安卓好?早两三年前苹果手机比安卓手机好,不卡机,中国人有卖肾,脱光衣服行夜街都是为一部苹果手机。现在近1年来华为,小米,O安卓手机,内存,拍照像素等配置性价比都苹果手机好。小米8,荣耀P2
有小孩成绩很差被老师要求不参加期末考试的吗?实话说,这种情况存在!在唯分数升学的环境下,自然是八仙过海,各显神通!我们知道,取得好的分数成绩,应该有主客观两个方面的原因。是教与学二者合一的结果,尤其是学生的智商。我在头条看到
北控又像上赛季高开低走,被挤出季后赛吗?这赛季能好一点,上赛季主要是孙悦老化,王子瑞年纪没什么潜力,这个赛季张帆更厉害了,廖三宁天赋肉眼可见,八一系球员大肘子越打越好,王俊杰和罗凯文进入轮换,这赛季绝对比上个赛季厉害一些
粤媒怒斥李霄鹏不如李铁,为何某些球迷和媒体这么喜欢落井下石?中足球一代不如一代让国人彻底失望抠鼻抠鼻抠鼻打脸因为李霄鹏进一步证明了国足这十几年,是逆水行舟,不进则退。与某些人标榜的中国足球最好的十年相悖。所以当然会有人不去分析中日足球天差地
请问,在NBA的历史上,有没有一场比赛中五双的球员?得分,助攻,篮板,抢断,盖帽?NBA比赛中,我们经常看到某某球员疯狂砍下三双数据,而威少更是连续三个赛季收获三双,似乎先今联盟三双成了标配般,不那么的被看重。那在NBA历史上,有没有球员获得过四双五双呢?从NB
欧洲五大联赛的豪门俱乐部,哪个队在中国的球迷最多?感谢邀请回答对于哪个球队在中国的球迷最多这个问题,我仔细分析一下,中国的球迷年龄段不一样,喜欢的球队肯定也不一样。对于60后70后的球迷来说,估计喜欢意甲的球迷很多,毕竟中国接触欧
做好支架后需要吃许多药,胃不舒服,有好的建议吗?周五来了一个患者,55岁,3个月前因为心肌梗死做了心脏支架,可是最近胃口不舒服,他认为是吃心脏病药物引起的,不想再吃药了,于是来问问能不能把药停了!我先表扬了他,我说多亏您来了,先
男生该怎么减掉多年的胖肚子?不知你是否有这样的体会,腹部的脂肪最为难解,就算你全身上下四肢都瘦下来了,可能你的肚子还坚挺着。有很多人理所当然地认为,想要减肚子就要多做腹部运动,比如卷腹等,卷腹可减不了这样的顽
嘿,大家都来说说,为什么这么喜欢玩?说到底就是一个玩。玩没有界线,只有兴趣,爱文的喜欢读别人一些文章,了解一些各方面的新闻与知识,爱唱,爱跳,爱舞,爱说的都上抖音,西瓜,快手,火山了。但是现在发现一个态势,头条的参于
孕妇如果杀人,法律上是怎样处理的?谢邀。孕妇如果杀人,在法律上应该这样处理的女性在怀孕期间杀人的,同样涉嫌故意杀人罪,但因为其怀孕,一般情况都由公安机关依据法律规定,采取取保候审措施,不应进行刑事拘留或逮捕(罪大恶
12年的士官,转业回地方选什么单位好?关于士官转业安置的问题,转业女兵来解答。我的建议是不要选择转业,选择自主就业,一次性领取退伍安置费。否则可能会后悔一辈子。下面我从自己服役十几年中接触到的士官退役后的情况以及自己的