zabbix监控URL是否正常

wget命令

[[email protected] ~]# wget --spider -T 5 -q -t 2 www.jd.com

[root@oldboy ~]# echo $? #<==利用返回值确定网站是否正常。
0

curl命令

1、利用curl命令返回值确定网站是否正常

[[email protected] ~]# curl -s -o /dev/null www.xxxx.com

[root@zabbix ~]# echo $?

0

2、获取命令执行后的状态码(200表示正常)

[[email protected] ~]# curl -I -m 5 -s -w "%{http_code}\n" -o /dev/null  www.baidu.com

200

方法一:wget

#!/bin/sh
function usage() {     #<==帮助函数
    echo $"usage:$0 url"
    exit 1
}
function check_url() { #<==检测URL函数。
    wget --spider -q -o /dev/null --tries=1 -T 5 $1
   #<==采用wget返回值方法,这里的$1就是函数传参。
    #curl -s -o /dev/null $1 #<==采用curl返回值方法也是可以的。
    if [ $? -eq 0 ]
    then
        echo "$1 is yes."
        exit 0
    else
        echo "$1 is fail."
        exit 1
    fi
}
function main() {   #<==主函数。
     if [ $# -ne 1 ]   #<==如果传入的多个参数,则打印帮助函数,提示用户。
     then
         usage
     fi
     check_url $1     #<==接收函数的传参,即把结尾的$*传到这里。
}
main $*            #<==这里的$*就是

测试

[[email protected] ~]# sh checkurl.sh www.jd.com

www.jd.com is ok

[root@oldboy ~]# sh checkurl.sh www.baidu.com

www.baidu.com is ok

[root@oldboy ~]# sh checkurl.sh 10.0.0.8

10.0.0.8 is fail

方法二:curl

[[email protected] ~]# cat checkurl1.sh
#!/bin/bash
usage(){
    echo "Usage:$0 url"
    exit 1
}
checkurl(){
    local num=`curl -I -m 5 -s -w "%{http_code}\n" -o /dev/null|grep 200|wc -l`
    if [ $num -eq 1 ] #<==采用获取状态码,并转为数字的方式判断,如果301认为正确也可以加上egrep过滤。
    then
        echo "$1 is ok"
    else
        echo "$1 is fail"
    fi
}
main(){
    if [ $# -ne 1 ]
    then
        usage
    fi
    checkurl $1
}
main $*

测试

[[email protected] ~]# sh checkurl.sh www.jd.com

www.jd.com is ok

[root@oldboy ~]# sh checkurl.sh www.baidu.com

www.baidu.com is ok

[root@oldboy ~]# sh checkurl.sh 10.0.0.8

10.0.0.8 is fail

文章来源:https://mp.weixin.qq.com/s?__biz=MzAxOTE5NjQwOA==&mid=2650114763&idx=1&sn=4628f1b5080ae882f5672d39b39518ec&chksm=83cb9a5cb4bc134ab106b0d07a6cbb88ca2ae23d4c6e14325cf4564a0df66e6256dd96c0d557&mpshare=1&scene=23&srcid=0702cR1hmz7WwthkWMTRHVPX#rd

原文地址:https://www.cnblogs.com/HByang/p/9256929.html

时间: 2024-10-13 05:27:44

zabbix监控URL是否正常的相关文章

zabbix监控URL

选在相应主机,并添加Web监控 按照方式新建Web场景 注意: 名称统一规则:web_check_相应的域名 应用集:新建一个,名称为"web状态" 更新间隔:改为30s,默认为1m 尝试次数:改为2次,默认1次 客户端:选择谷歌windows客户端 添加步骤: 注意: 名称使用和场景名称一样即可: web_check_域名地址 URL:复制nagios的URL地址,将域名替换为zabbix上的宏:端口"{HOST.IP}:80" 如:http://http://d

zabbix监控url返回状态

参考 http://john88wang.blog.51cto.com/2165294/1565973 cd /usr/local/zabbix/bin [[email protected] bin]# cat warn_web.py #!/usr/bin/env python # -*- coding: utf-8 -*- import subprocess import json args = '''awk -F' ' '{print $1}' /usr/local/zabbix/scrip

zabbix自动发现监控url

1.在监控客户机上 web_site_code_status.sh: #!/bin/bash # function:monitor tcp connect status from zabbix 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_

Zabbix监控Low level discovery实时监控网站URL状态

今天我们来聊一聊Low level discovery这个功能,我们为什么要用到loe level discovery这个功能呢? 很多时候,在使用zabbix监控一些东西,需要对类似于Itens进行添加,这些items具有一些共同特性, 如果说某些特定的参数是变量,而其他设置都一样,例如:一个程序有多个端口,需要多端口进行监控并配置Itmes,还有磁盘分区,·网卡名称等等, 都是具有不确定性,如果我们配置固定的Items的话,会出现无法通用的问题,所以呢,我们需要来了解一下low level 

zabbix监控nginx

上一篇介绍了zabbix安装,这里接着说说zabbix监控nginx 安装zabbix-agent 在实际应用中,我们server和agent部在同一机器上,所以需要分开安装,其实上一篇已经说了,在编译安装zabbix-server的时候也安装了zabbix-agent,如果只安装zabbix-agent # 切换到zabbix解压目录 cd zabbix-3.0.3 # 编译配置 ./configure --prefix=/usr/local/zabbix-agent --enable-age

zabbix监控之二----Zabbix受控端及监控项

4.station32受控端安装zabbix 4.1:下载所需要用的的程序包:只有受控端是主动模式时才需要装zabbix-sender [[email protected]]# yum -y localinstall \ zabbix-2.2.3-1.el6.x86_64.rpm\               # 主程序server端/agent端都需要 zabbix-agent-2.2.3-1.el6.x86_64.rpm\         # 受控端安装agent程序 zabbix-send

使用zabbix监控oracle基本使用情况

使用zabbix监控oracle这里我们使用开源的orabbix项目,软件下载地址: https://nchc.dl.sourceforge.net/project/orabbix/orabbix-1.2.3.zip 附件也可以下载 部署方法 下载完成后放到zabbix server服务器(推荐),也可以放到其它服务器,只要这台服务器能与zabbix server和oracle server通讯就可以 cd /usr/local/src/ && mkdir orabbix &&am

zabbix监控nginx性能状态

nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态做一些监控,来发现出来出现的问题.nginx处理流程图具体如下: 注释:Accepts(接受).Handled(已处理).Requests(请求数)是一直在增加的计数器.Active(活跃).Waiting(等待).Reading(读).Writing(写)随着请求量而增减 名称 描述 指标类型 Accepts(接受) NGINX 所接受的客户端连接数 资源: 功能 Handled(已处理) 成功的客户端连接数 资源: 功能

提取zabbix监控平台单台服务器图形并发邮件python实现

需求:希望每天邮件发出当天某台服务器的监控状态,如果某天都登陆zabbix截图很麻烦,而且并不能保证每天都准点操作,于是写了一段脚本实现自动抓取图片,并组装成html,通过定时邮件发送,实现日报自动化. 一.效果图: 二.代码: #!/usr/bin/env python # -*- coding: utf-8 -*- import MySQLdb import datetime import cookielib, urllib2,urllib import smtplib from email