利用zabbix的low level discovery 功能来监控网站的url即返回状态码

本文详细介绍如何使用Zabbix 2.4版本进行网站状态的自动发现与监控。通过编写shell脚本实现对多个网站URL的健康检查,并在Zabbix Agent中配置自定义键值,实现数据的自动收集。此外,还介绍了如何在Zabbix Web界面中创建模板、应用和触发器,以便于监控和警报设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考 :
http://blog.youkuaiyun.com/qq942477618/article/details/53928951
http://hao360.blog.51cto.com/5820068/1653638/

说明:zabbix版本用的是2.4的版本

一 zabbix 客户端配置
1 写一个自动发现脚本 ,脚本的目录在/usr/local/zabbix/scripts/web_site_code_status.sh (,脚本的名字自定义)

cat web_site_code_status.sh
#!/bin/bash
# function:monitor web site code status from zabbix
# License: GPL
# mail:admin#itnihao.com
# version:1.0 date:2012-12-09
     source /etc/bashrc >/dev/null 2>&1
    source /etc/profile  >/dev/null 2>&1
#/usr/bin/curl -o /dev/null -s -w %{http_code} http://$1/
WEB_SITE_discovery () {
WEB_SITE=($(cat  /home/usr/local/zabbix/scripts/WEB1.txt|grep -v "^#"))
        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 () {
        /usr/bin/curl -o /dev/null -s http://$1ttp://$1ttp://$1
}
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

2 同样的在/usr/local/zabbix/scripts/WEB1.txt下面建立一个文件里面写上你要监控网站的url ##域名前面不需要加http

www.ihnhlife.com
m.ihnhlife.com
s.ihnhlife.com
www.baidu.com
www.qq.com

3 编辑zabbix_agentd配置文件,自定义key

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

4 服务端测试 ,在服务端输入 zabbix_get -s 192.168.127.130 -k web.site.discovery,返回下面的内容即为正常。(130是客户端Ip)

 zabbix_get -s 192.168.127.130 -k web.site.discovery
{
        "data":[
                {
                        "{#SITENAME}":"www.baidu.com"},
                {
                        "{#SITENAME}":"www.qq.com"},
                {
                        "{#SITENAME}":"www.ihnhlife.com"},
                {
                        "{#SITENAME}":"s.ihnhlife.com"},
                {
                        "{#SITENAME}":"m.ihnhlife.com"}]}

5 在服务端测试


zabbix_get -s 192.168.127.130 -k web.site.codewww.baidu.com]
200

第二种写法:
/home/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10050 -k web.site.code[http://58.116.122.250/op/generate.aspx]
200

二 web页面操作
1 创建模板

利用zabbix的low level discovery 功能来监控网站的url即返回状态码

2 点击application ,然后单击create application
利用zabbix的low level discovery 功能来监控网站的url即返回状态码

设置组的名称为web_site_code_status
利用zabbix的low level discovery 功能来监控网站的url即返回状态码

3 单击discovery rules,然后create discovery rule
利用zabbix的low level discovery 功能来监控网站的url即返回状态码

利用zabbix的low level discovery 功能来监控网站的url即返回状态码

4)添加items, 注意:(在自动发现规则里面添加)单击item prototypes----create item prototype

利用zabbix的low level discovery 功能来监控网站的url即返回状态码

5 创建trigger 单击trigger prototypes

利用zabbix的low level discovery 功能来监控网站的url即返回状态码

点击add之后会出现下面的这个
利用zabbix的low level discovery 功能来监控网站的url即返回状态码

6 创建图像单击graph prototypes---create graph prototype

利用zabbix的low level discovery 功能来监控网站的url即返回状态码

到此,模板创建完成了,然后给相应的主机倒入模板即可

如果你还想监控别的网站,在客户端里面的WEB1.txt里面直接添加网址即可。
如果有现成的模板直接导入即可。

模板见 https://down.51cto.com/data/2462893

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值