一、脚本配置

1.监控脚本

/etc/zabbix/zabbix_agent2.d/scripts/web_site_code_status.sh

#!/bin/bash

url_discovery() {
WEB_SITE=($(grep -v "^#" /etc/zabbix/zabbix_agent2.d/scripts/urllist.txt))
printf '{\n'
printf '\t"data":[\n'
for((i=0;i<${#WEB_SITE[@]};++i))
{
num=$(echo $((${#WEB_SITE[@]}-1)))
tmp=${WEB_SITE[$i]}
arr=(${tmp//\|\|/ })
name=${arr[0]}
url=${arr[1]}
code=${arr[2]}
text=${arr[3]} if [[ "$i" != ${num} ]]
then
printf "\t\t{ \n"
printf "\t\t\t\"{#WEBNAME}\":\"${name}\",\n"
printf "\t\t\t\"{#WEBURL}\":\"${url}\",\n"
printf "\t\t\t\"{#WEBCODE}\":\"${code}\",\n"
printf "\t\t\t\"{#WEBTEXT}\":\"${text}\"\n\t\t},\n"
else
printf "\t\t{ \n"
printf "\t\t\t\"{#WEBNAME}\":\"${name}\",\n"
printf "\t\t\t\"{#WEBURL}\":\"${url}\",\n"
printf "\t\t\t\"{#WEBCODE}\":\"${code}\",\n"
printf "\t\t\t\"{#WEBTEXT}\":\"${text}\"\n\t\t}"
printf "\n\t]\n}\n"
fi
}
} function get_url_code(){
tmp=`curl --connect-timeout 10 -i "$1" 2> /dev/null`
code=`echo $tmp | grep 'HTTP' | awk '{print $2}'`
#判断$3是否为空
text=$3
if [ -z "$text" ];then
textline=1
else
textline=`echo $tmp | grep $3 | wc -l`
fi #判断是否为数字
expr $code + 0 1>/dev/null 2>&1
if [ $? -ne 0 ];then
code=0
fi #汇总判断
if [ $code -eq $2 -a $textline -gt 0 ];then
echo 正常
else
echo 异常
fi
} case "$1" in
web_site_discovery)
url_discovery
;;
web_site_code)
#url,code,text
get_url_code $2 $3 $4
;;
*)
echo "Usage:$0 {web_site_discovery|web_site_code URL NAME}"
;;
esac

2.监控项

路径可脚本内修改/etc/zabbix/zabbix_agent2.d/scripts/urllist.txt

#项目名||url||状态码||关键字
百度||https://www.baidu.com||200||baidu
163||www.163.com||200||163
test||www.test.com||200||ok

3.监控命令配置

/etc/zabbix/zabbix_agent2.d/web_check.conf

UserParameter=urlcheck.discovery,/etc/zabbix/zabbix_agent2.d/scripts/web_site_code_status.sh web_site_discovery
UserParameter=urlcheck.code[*],/etc/zabbix/zabbix_agent2.d/scripts/web_site_code_status.sh web_site_code $1 $2 $3 $4

4.修改agent2配置文件,启用不安全用户参数,设置下超时

Timeout=15
UnsafeUserParameters=1

5.重启agent2服务

systemctl restart zabbix-agent2
systemctl restart zabbix-server

6.测试脚本是否正常-zabbix-server端测试

zabbix_get -s 192.168.1.200 -p 10050 -k "urlcheck.discovery"
zabbix_get -s 192.168.1.200 -p 10050 -k "urlcheck.code[http://www.baidu.com,200,百度]"

二、模板配置

1.创建模板

2.创建自动发现规则

3.创建监控原型

4.创建触发器类型

5.监控主机套上模板即可,查看主机监控项是否发现。

Zabbix自定义模板监控多个url接口的更多相关文章

  1. zabbix自定义模板——监控TCP连接状态

    TCP十二种连接状态说明 可以使用man netstat查看 LISTEN - 侦听来自远方TCP端口的连接请求: SYN-SENT -在发送连接请求后等待匹配的连接请求: SYN-RECEIVED ...

  2. zabbix自定义模板监控oracle

    zabbix服务器端安装:zabbix-3.2.6.tar.gzzabbix client端安装:zabbix-agent-3.2.6-1.x86_64.rpm 1.首先必须在目标机器安装zabbix ...

  3. 2.zabbix自定义模板

    zabbix自定义模板 zbx_base_templates.xml <?xml version="1.0" encoding="UTF-8"?> ...

  4. zabbix 自定义mysql监控

    一.配置zabbix-agent 编辑 /etc/zabbix/zabbix_agentd.conf文件  增加如下两个配置 1.vim /etc/zabbix/zabbix_agentd.conf ...

  5. zabbix 自定义 nginx 监控模板

    打开zabbix首页→配置→模板→创建模板模板名称:Template App NGINXagent 需添加自定义监控项:UserParameter=nginx.status[*],/bin/bash ...

  6. 使用Zabbix官方模板监控Redis运行状况

    运行环境: OS:CentOS 6.8 / Python: 2.6.6 / Pip: 7.1.0 / Redis:3.0 / Zabbix:3.0.3 Zabbix官方提供的监控模板. 项目地址:ht ...

  7. zabbix自定义key监控memcache状态及其他服务进程

    一.在客户端 1.到/usr/loca/zabbix/conf/zabbix_agentd.conf里添加         UserParameter=memcached_stats[*],(echo ...

  8. zabbix自定义key监控redis

    一.启动redis-server cd /data/redis redis-server redis.conf (根据自己的环境启动redis) 测试脚本(写入1000个数据): seq |while ...

  9. zabbix 自定义脚本监控activemq

    1. 编写获取activemq队列积压消息(check-amq.sh) #!/bin/bash QUEUENAME=$ MQ_IP='172.16.1.56' curl -uadmin:admin h ...

随机推荐

  1. selenium之 定位以及切换frame(iframe)(转)

    frame标签有frameset.frame.iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe对selenium定位而言是一样的,seleni ...

  2. 《GNU_Makefile》第4章——makefile规则

    规则明确在什么情况下,使用什么方法,重构文件,该文件称为目标. make的唯一目的是重构终极目标.终极目标默认是第一个目标. 1. 2.规则语法 TARGETS : PREREQUISITES COM ...

  3. 从ceph对象中提取RBD中的指定文件

    前言 之前有个想法,是不是有办法找到rbd中的文件与对象的关系,想了很久但是一直觉得文件系统比较复杂,在fs 层的东西对ceph来说是透明的,并且对象大小是4M,而文件很小,可能在fs层进行了合并,应 ...

  4. My SQL的基本操作(总结)

    My SQL的基本操作(总结) 因为本人目前是学生,前一段时间因为一些原因没有按时更新博客,今天我来总结一下My SQL的基本操作. 一.下载与安装 windows版本MySQL下载地址: http: ...

  5. 异或加密 - cr2-many-time-secrets(攻防世界) - 异性相吸(buuctf)

    Crib dragging attack 在开始了解 Crib dragging attack 之前,先来理一理 异或. 异或加密 [详情请戳这里] XOR 加密简介 异或加密特性: ① 两个值相同时 ...

  6. Mac读写ntfs软件究竟哪一款适合我们?

    生活中我们免不了会使用一些硬盘设备来存储文件或者是数据,然而绝大多数的移动硬盘都是ntfs格式.Mac读写ntfs软件有很多,究竟哪一款适合我们? 首先,我们一起了解一下什么是ntfs格式.ntfs, ...

  7. FL Studio CPU面板讲解

    在FL Studio中,其CPU面板主要是由CPU使用表.内存使用表和复音数这几个部分组成的.这些对刚接触这款音乐制作软件的同学来说是非常陌生的吧!因为不知道这些是什么,主要的作用是什么.所以小编这里 ...

  8. guitar pro系列教程(三):Guitar Pro7乐谱页面显示模式设置

    大家好,又到了guitar pro系列教程的时间 本章节我们采用图文结合的方式为大家讲解一下guitar pro 7乐谱的页面显示设置,有兴趣的小伙伴都可以进来看看哦.首让我们先看下图: 如上图所示, ...

  9. Ubuntu无法telnet

    1.Ubuntu无法telnet的原因 (1)/etc/hosts被修改过 (2)防火墙没有关闭 (3)没有安装相关服务 (4)/etc/inetd.conf文件没有telnet相关内容 2.解决办法 ...

  10. jenkins master/slave模式

    master是主机,只有master装jenkins slave是小弟机无需装jenkins,主要执行master分配的任务 一.新建slave 1.新建slave的方法:点击magian jenki ...