Zabbix自定义模板监控多个url接口
一、脚本配置
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接口的更多相关文章
- zabbix自定义模板——监控TCP连接状态
TCP十二种连接状态说明 可以使用man netstat查看 LISTEN - 侦听来自远方TCP端口的连接请求: SYN-SENT -在发送连接请求后等待匹配的连接请求: SYN-RECEIVED ...
- zabbix自定义模板监控oracle
zabbix服务器端安装:zabbix-3.2.6.tar.gzzabbix client端安装:zabbix-agent-3.2.6-1.x86_64.rpm 1.首先必须在目标机器安装zabbix ...
- 2.zabbix自定义模板
zabbix自定义模板 zbx_base_templates.xml <?xml version="1.0" encoding="UTF-8"?> ...
- zabbix 自定义mysql监控
一.配置zabbix-agent 编辑 /etc/zabbix/zabbix_agentd.conf文件 增加如下两个配置 1.vim /etc/zabbix/zabbix_agentd.conf ...
- zabbix 自定义 nginx 监控模板
打开zabbix首页→配置→模板→创建模板模板名称:Template App NGINXagent 需添加自定义监控项:UserParameter=nginx.status[*],/bin/bash ...
- 使用Zabbix官方模板监控Redis运行状况
运行环境: OS:CentOS 6.8 / Python: 2.6.6 / Pip: 7.1.0 / Redis:3.0 / Zabbix:3.0.3 Zabbix官方提供的监控模板. 项目地址:ht ...
- zabbix自定义key监控memcache状态及其他服务进程
一.在客户端 1.到/usr/loca/zabbix/conf/zabbix_agentd.conf里添加 UserParameter=memcached_stats[*],(echo ...
- zabbix自定义key监控redis
一.启动redis-server cd /data/redis redis-server redis.conf (根据自己的环境启动redis) 测试脚本(写入1000个数据): seq |while ...
- zabbix 自定义脚本监控activemq
1. 编写获取activemq队列积压消息(check-amq.sh) #!/bin/bash QUEUENAME=$ MQ_IP='172.16.1.56' curl -uadmin:admin h ...
随机推荐
- JS控制Video播放器(快进、后退、播放、暂停、音量大小)
思路: 一.首先监听触发事件. 比如:向上键对应的keyCode为38,向下键对应的keyCode为40,向左键对应的keyCode为37,向右键对应的keyCode为39,空格键对应的keyCode ...
- WeihanLi.Npoi 1.13.0 更新日志
WeihanLi.Npoi 1.13.0 更新日志 Intro 在 Github 上收到 Issue 收到网友反馈希望支持自动分 Sheet 导出,有兴趣的可以参考 Issue https://git ...
- tp5配置引入使用redis
1.首先你的php得是已经安装了redis扩展的 2.在tp里找到config.php配置文件,找到cache,改成下面的样子 'cache' => [ // 选择模式 'type' => ...
- MFC读写文件详解
1.CFile类提供了对文件进行打开,关闭,读,写,删除,重命名以及获取文件信息等文件操作的基本功能,足以处理任意类型的文件操作. 虽然使用CArchive类内建的序列化功能是保存和加载持久性数据的便 ...
- linux qt 5.12.6 编译mysql驱动
环境:ubuntu 18.4 x64.qt 5.12.6 问题:安装后是没有mysql的驱动的 解决过程: 各种搜索,先后安装了mysql mysql-client,mysql-server,和各种l ...
- 精尽MyBatis源码分析 - SQL执行过程(二)之 StatementHandler
该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...
- 【VUE】7.组件通信(二)子组件修改父组件
1. 前提&知识点 1./components/Father.vue 是父组件, Son.vue 是子组件 2.子组件修改父组件 emit 2. 组件通信 1. 首先对子组件绑定一个事件 ch ...
- 安装git和lsof
yum install git yum install lsof 查看80端口 lsof -i:80
- Python基础整理,懒得分类了,大家对付看看吧
第一次搞这么多图
- 【python】Matplotlib作图中有多个Y轴
在作图过程中,需要绘制多个变量,但是每个变量的数量级不同,在一个坐标轴下作图导致曲线变化很难观察,这时就用到多个坐标轴.本文除了涉及多个坐标轴还包括Axisartist相关作图指令.做图中label为 ...