美文网首页马哥Linux运维原创作者投稿
zabbix 使用curl命令完成URL监控

zabbix 使用curl命令完成URL监控

作者: 进击的胖达 | 来源:发表于2018-01-05 09:57 被阅读143次

记录一个简单的zabbix的URL监控小脚本。
在本机测试中curl命令其实可以写在一句命令中,但是由于用到if else的结构,分号之后的部分zabbix调用脚本的时候好像会截断,所以本地执行正常,但是通过zabbix-server端调用总是会出错,无奈还是把这个写成一个脚本使用

1、在要监控URL的主机的zabbix-agent目录下的scripts目录下新增一个脚本文件,比如checklt.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import commands
from sys import argv

name, urlpath = argv
comm = "sudo curl -I -m 10 -o /dev/null -s -w %{http_code} " + urlpath
[stat, rtv] = commands.getstatusoutput(comm)
if rtv == "200":
    print "200"
else:
    print "0"

这里只简单的判断了200为正常,有时根据需要可能如301等也是正常的值,可以根据实际情况调整脚本,返回值这里设置了200和0.
2、向zabbix注册方法
在zabbix_agent.conf中或者在其include的文件中添加

UserParameter=checklt_stats[*],sudo python /etc/zabbix/scripts/checklt.py $1

3、重启zabbix-agent

/etc/init.d/zabbix-agent restart

4、登录zabbix-server端测试返回结果

zabbix_get -s 192.168.0.0 -k checklt_stats[url_path]

如果返回预期的结果则表示成功。
5、添加监控项


图1

使用右上角的搜索框找到要添加的主机,点击监控项出现如图界面,点击添加监控项


图2
点击完成,添加成功。
6、添加触发器
选择添加触发器,选择要添加的主机,选择对应的监控项,表达式就选择系统自带的T不等于n即可,然后设置n=200,设置相应的报警级别,完成。

相关文章

网友评论

本文标题:zabbix 使用curl命令完成URL监控

本文链接:https://www.haomeiwen.com/subject/iusjnxtx.html