• 欢迎访问蜷缩的蜗牛博客 蜷缩的蜗牛
  • 微信搜索: 蜷缩的蜗牛 | 联系站长 kbsonlong@qq.com
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Zabbix批量添加web监控模板

Zabbix 蜷缩的蜗牛 2年前 (2017-02-20) 77次浏览 已收录 0个评论

本文参考自 清风拂面 《python 实现 zabbix 批量监控 WEB 网站和批量监控主机端口》 修改,使得以后添加 web 时更加方便,zabbix agent 端完成 1-3 步,在 zabbix web 端直接导入模板即可使用。

web 监控模板(zbx_web_monitor_templates.xml)

1、agent 端批量添加脚本/data/zabbix/scripts/web_site_moniter.py

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

import os, sys, json

# 将要监控的 web 站点 url 添加到 urllist 列表
# urllist = ["http://baidu.com",
#            "http://www.qq.com",
#            "http://www.sina.com.cn/"]
files='/etc/zabbix/test/WEB.txt'

fd = open(files,'r')
urllist=[]
for i in fd.readlines():
    if i[0] != '#':
        urllist.append(i.strip('\n'))
fd.close()

# 这个函数主要是构造出一个特定格式的字典,用于 zabbix

def web_site_discovery():
    web_list = []
    web_dict = {"data": None}

    for url in urllist:
        url_dict = {}
        url_dict["{#SITENAME}"] = url
        web_list.append(url_dict)

    web_dict["data"] = web_list
    jsonStr = json.dumps(web_dict, sort_keys=True, indent=4)
    return jsonStr

# 这个函数用于测试站点返回的状态码,注意在 cmd 命令中如果有%{}这种字符要使用占位符代替,否则
# 会报错

def web_site_code():
    cmd = 'curl -o /dev/null -s -w %s %s' % ("%{http_code}", sys.argv[2])
    reply_code = os.popen(cmd).readlines()[0]
    return reply_code


if __name__ == "__main__":
    try:
        if sys.argv[1] == "web_site_discovery":
            print web_site_discovery()
        elif sys.argv[1] == "web_site_code":
            print web_site_code()
        else:
            print "Pls sys.argv[0] web_site_discovery | web_site_code[URL]"
    except Exception as msg:
        print msg
        # 这里对脚本传递进来的第一个参数做判断去执行不同的函数,为什么要这样,因为通过一个脚本写了两个功能
 

2、zabbix agent 配置文件添加如下内容,内容含义请参考《python 实现 zabbix 批量监控 WEB 网站和批量监控主机端口》 已经详细解释说明

UnsafeUserParameters=1
UserParameter=web_site_discovery,/data/zabbix/scripts/web_site_moniter.py web_site_discovery
UserParameter=web_site_code[*],/data/zabbix/scripts/web_site_moniter.py web_site_code $1

3、zabbix agent 添加需要监控 web /data/zabbix/test/WEB.txt

http://www.ttlsa.com/zabbix/zabbix-zabbix_get-get-items/
#www.qq.com
www.baidu.com
www.sina.com

#号将表示取消 web 监控

修改 zabbix agent 配置后需要重启 agent 生效

4、导入 web 监控模板 zbx_web_monitor_templates.xml

Configuration —>  Templates —>  Import  —>选择模板 zbx_web_monitor_templates.xml

image

image

5、模板导入之后 Configuration —>  Templates 可以找到 Templates Web Monitor 模板

image

6、选择 Templates Web Monitor 模板进行管理主机组或者主机

image
7、Configuration —>  Hosts  —>某主机 Applications
可以发现 Templates Web Monitor: Web Monitor Service 监控项目

image

8、查看监控项目

image

image

web 监控模板


蜷缩的蜗牛 , 版权所有丨如未注明 , 均为原创丨 转载请注明Zabbix 批量添加 web 监控模板
喜欢 (1)
[]
分享 (0)

您必须 登录 才能发表评论!