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

目的:

批量监控业务url的返回码,通过返回码的监控来判断业务的好坏。

解决方案:

使用zabbix的discovery功能来实现监控。

1、安装zabbix,跳过
2、通过脚本实现:
cd /usr/local/zabbix/etc/zabbix_scripts.d/
vim web_site_code_status.sh

#!/bin/bash
source /etc/profile >/dev/null 2>&1
WEB_SITE_discovery () {
        WEB_SITE=($(grep -v "^#" /usr/local/zabbix/etc/zabbix_script.d/WEBURL.txt))
        printf '{\n'
        printf '\t"data":[\n'
for((i=0;i<${#WEB_SITE[@]};++i))
{
                num=$(echo $((${#WEB_SITE[@]}-1)))
                if [[ "$i" != ${num} ]]
                then
                        printf "\t\t{ \n"
                        printf "\t\t\t\"{#SITENAME}\":\"${WEB_SITE[$i]}\"},\n"
                else
                        printf "\t\t{ \n"
                        printf "\t\t\t\"{#SITENAME}\":\"${WEB_SITE[$num]}\"}]}\n"
                fi
}
}

web_site_code () {
#下面注释的是也可以使用域名+端口号
#        host=$(echo "$1"|awk -F "/" '{print $3}')
#   port=$(echo "$1"|awk -F "/" '{print $3}'|awk -F':' '{print $2}')
#   if [[ -z $port ]]
#   then
#       ntlocal="127.0.0.1"
#   else
#       ntlocal="127.0.0.1:$port"
#   fi
#        http_uri=$(echo "$1"|awk -F "/" '{for(i=4;i<=NF;i++) printf "/" $i;printf "\n"}')
#        /usr/bin/curl -H "Host:$host" -o /dev/null -s -w %{http_code} $ntlocal${http_uri}
    /usr/bin/curl -I "$1" 2> /dev/null | grep 'HTTP' | awk '{print $2}'
}

case "$1" in
        web_site_discovery)
                WEB_SITE_discovery
        ;;
        web_site_code)
                web_site_code $2
        ;;
        *)
        echo "Usage:$0 {web_site_discovery|web_site_code URL}"
        ;;
esac

3、创建url列表:vim WEBURL.txt

http://www.baidu.com
www.df.com
www.sdfdsfa.com
www.sdfsd.cn

注意:这里也可以在后面加端口号
4、在zabbix_agentd.conf中添加相关的key

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

或者:
在zabbix_agentd.conf.d目录下创建文件,web_site_discovery.conf

UserParameter=web.site.discovery,/usr/local/zabbix/etc/zabbix_script.d/web_site_code_status web_site_discovery
UserParameter=web.site.code[*],/usr/local/zabbix/etc/zabbix_script.d/web_site_code_status web_site_code $1 

5、重启agent就可以实现了。
6、zabbix仪表板配置:
这里写图片描述
先创建一个模板
7、设置自动发现规则,键值为发现url的keys
这里写图片描述
8、设置监控原型,键值为httpcode的keys,后面括号里是发现的url列表的前缀说明,如图:
这里写图片描述

这里写图片描述
9、设置触发器类型:
这里写图片描述
10、设置图形原型:
这里写图片描述
11、到此为止全部完成,等待看图
这里写图片描述

希望能帮上大家!温暖在此祝大家工作顺利!

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值