查看“Zabbix通过Python/Shell对HTTP服务状态的监控”的源代码
←
Zabbix通过Python/Shell对HTTP服务状态的监控
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
=py脚本= ==py2版本== <pre> #!/usr/bin/python # -*- coding: utf-8 -*- #mon.web.py import urllib2 import sys def monitor_http(url): response = None try: response = urllib2.urlopen(url,timeout=5) #print response.info() # header print response.getcode() except urllib2.URLError as e: if hasattr(e, 'code'): print e.code elif hasattr(e, 'reason'): print e.reason finally: if response: response.close() url = sys.argv[1] monitor_http(url) #usage python2 1.py 'http://www.baidu.com' #就判 404吧 #UserParameter=mon.web[*],/data/app/zabbix/bin/monitor_http.py $1 </pre> ==py3版本脚本== <pre> #!/usr/bin/python3 # -*- coding: utf-8 -*- #mon.web.py import urllib import sys import urllib.request #import urllib.error import urllib.error def monitor_http(url): response = None try: #response = urllib.urlopen(url,timeout=5) response = urllib.request.urlopen(url,timeout=5) #print response.info() # header print("%s" %(response.getcode())) except Exception as e: # except urllib.URLError as e: if hasattr(e, 'code'): print (e.code) elif hasattr(e, 'reason'): print (e.reason) finally: if response: response.close() url = sys.argv[1] monitor_http(url) </pre> =整合到Zabbix= ==首先在ZabbixAgent配置文件中配置一条UserParameter== <pre> # zabbix client UserParameter=mon.web[*],/data/mon/mon.web.py $1 </pre> ==然后配置item:== <pre> 名 api status code 键值 mon.web[http://market-api.cailuw.com] </pre> ==接下来配置一个Trigger:== <pre> 右边添加 双击 选择刚才有关的 监控项 特别是 respo 什么的那个 然后不等于 我这里是 404 一般正常应该是200 这里我们定义http状态码不为404(一般情形是200)时发出告警 </pre> on zbx server zabbix_get -s 10.3.10.143 -k "mon.web[http://market-api.cailuw.com]" 404 =see also= [https://www.jianshu.com/p/43050495ba57 如何通过Python/Shell对HTTP服务状态的监控?] [[category:zabbix]]
返回至
Zabbix通过Python/Shell对HTTP服务状态的监控
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息