自动化运维之监控篇---利用zabbix自动发现功能实现批量web url监控-阿里云开发者社区

开发者社区> 科技小先锋> 正文

自动化运维之监控篇---利用zabbix自动发现功能实现批量web url监控

简介:
+关注继续查看

需求:

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

需求详细分析:

    大量的url,且url经常变化,现在监控用的是zabbix,如果手动添加模板,会造成大量重复工作,造成人力财力的浪费,造成休息时间的浪费,得不尝失,如果利用脚本+mail,无法图形呈现

解决方案:

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

zabbix客户端配置


  1. #########cat /etc/zabbix/zabbix_agentd.conf|grep -v "^#"|grep -v "^$"##########

  2. ##此处省略N多信息,

  3. Include=/etc/zabbix/zabbix_agentd.conf.d/   #配置文件路径

  4. UnsafeUserParameters=1                      #自定义key


  1. ###########自动发现脚本编写

  2. ########################cat /etc/zabbix/scripts/web_site_code_status##############

  3. #!/bin/bash

  4. # function:monitor tcp connect status from zabbix

  5. # License: GPL

  6. # mail:itnihao@qq.com

  7. # version:1.0 date:2012-12-09

  8. source /etc/bashrc >/dev/null 2>&1

  9. source /etc/profile  >/dev/null 2>&1

  10. #/usr/bin/curl -o /dev/null -s -w %{http_code} http://$1/

  11. WEB_SITE_discovery () {

  12. WEB_SITE=($(cat  WEB1.txt|grep -v "^#"))

  13.        printf '{\n'

  14.        printf '\t"data":[\n'

  15. for((i=0;i<${#WEB_SITE[@]};++i))

  16. {

  17. num=$(echo $((${#WEB_SITE[@]}-1)))

  18.        if [ "$i" != ${num} ];

  19.                then

  20.        printf "\t\t{ \n"

  21.        printf "\t\t\t\"{#SITENAME}\":\"${WEB_SITE[$i]}\"},\n"

  22.                else

  23.                        printf  "\t\t{ \n"

  24.                        printf  "\t\t\t\"{#SITENAME}\":\"${WEB_SITE[$num]}\"}]}\n"

  25.        fi

  26. }

  27. }

  28. web_site_code () {

  29. /usr/bin/curl -o /dev/null -s -w %{http_code} http://$1

  30. }

  31. case "$1" in

  32. web_site_discovery)

  33. WEB_SITE_discovery

  34. ;;

  35. web_site_code)

  36. web_site_code $2

  37. ;;

  38. *)

  39. echo "Usage:$0 {web_site_discovery|web_site_code [URL]}"

  40. ;;

  41. esac

客户端配置文件


  1. #########cat /etc/zabbix/zabbix_agentd.conf.d/web_site_discovery.conf  ###########

  2. UserParameter=web.site.discovery,/etc/zabbix/scripts/web_site_code_status web_site_discovery  

  3. UserParameter=web.site.code[*],/etc/zabbix/scripts/web_site_code_status web_site_code $1  

域名如下


  1. ######### cat /etc/zabbix/scripts/WEB.txt###########

  2. www.qq.com

  3. www.baidu.com

  4. www.sina.com.cn

测试:


  1. zabbix_get -s 127.0.0.1 -k web.site.discovery

141247897.jpg


  1. zabbix_get -s 127.0.0.1 -k web.site.code[www.qq.com]

此时返回状态为200

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

接下来是web的添加

141545913.jpg




141712888.jpg


141759366.jpg


141915946.jpg


141938414.jpg


142017973.jpg



142113835.jpg



142153267.jpg

报警级别的设置:3个报警级别

142234553.jpg


142323632.jpg

利用以上方法,哪怕是1000个url监控,也是分分钟的事情

总结:工欲善其事,必先利其器



本文转自it你好 51CTO博客,原文链接:http://blog.51cto.com/itnihao/1129725,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
运维编排场景系列----检测MFA功能状态
应用场景 Multi-Factor Authentication (MFA)是一种简单有效的最佳安全实践方法,它能够在用户名和密码之外再额外增加一层安全保护。当一个主账号下拥有多个子账号时,为了检测主账号下的每个子账户是否开启MFA功能,需要每天或自定义时间去做定时检测,并将未开启MFA功能的用户发送给指定的钉钉用户。
2127 0
从零开始运维之旅:如何监控你的 Windows?
不过选择什么来监控呢。向大神们用的 Zabbix 和 Nagios 这等开源神器我这入门小弟暂时也不会用啊。思来想去先上网上找找看有没有什么别的工具可以快速简单入门的 。 探索之旅就这样从百度开始了,功夫不负有心人,我搜到这么一篇文章 “可能是监控 Windows 最简单的产品-Cloud I
2608 0
RedisManager使用手册(六)-- 监控功能介绍
RedisManager Monitor功能和query功能介绍,Monitor模块对Redis 集群的重要指标进行监控,如平均内存占用、客户端连接数、cache命中率,节点内存碎片等,Monitor 模块中支持查看 Config、Info、Slowlog 和查询数据功能。
1878 0
6967
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载