zoukankan      html  css  js  c++  java
  • zabbix 监控https URL

    由于生产环境的需要,zabbix 需要监控https的url,但是因为zabbix 是aws ec2 zabbix web绑定了域名,所以没有办法所代理。 有兴趣的可以看官方文档
    https://www.zabbix.com/documentation/4.0/_export/xhtml/zh/manual/web_monitoring
    所以只能用脚本来实现了
     

    一、agent 客户端服务器操作

    先贴上来脚本
    #!/usr/bin/python
    # coding: UTF-8
    import StringIO
    import pycurl
    import sys
    import os
    class Test:
        def __init__(self):
            self.contents = ''
        def body_callback(self,buf):
            self.contents = self.contents + buf
    def test_gzip(input_url):
        t = Test()
        #gzip_test = file("gzip_test.txt", 'w')
        c = pycurl.Curl()
        c.setopt(pycurl.WRITEFUNCTION,t.body_callback)
        c.setopt(pycurl.ENCODING, 'gzip')
        c.setopt(pycurl.URL,input_url)
        c.perform()
        http_code = c.getinfo(pycurl.HTTP_CODE)
        http_conn_time = c.getinfo(pycurl.CONNECT_TIME)
        http_pre_tran = c.getinfo(pycurl.PRETRANSFER_TIME)
        http_start_tran = c.getinfo(pycurl.STARTTRANSFER_TIME)
        http_total_time = c.getinfo(pycurl.TOTAL_TIME)
        http_size = c.getinfo(pycurl.SIZE_DOWNLOAD)
       #此处可选多个,因为需要所以只选了TOTAL_TIME
        print " %f"%(http_total_time)
    if __name__ == '__main__':
        input_url = sys.argv[1]
        test_gzip(input_url)
     

    1、脚本放在/etc/zabbix/目录下

    2、修改agent 配置文件

    #添加内容
    UserParameter=url.state[*],/etc/zabbix/url-status.py $1
    3、重启客户端
    service zabbix-agent restart

    二、web 设置

    1、配置 》》 主机 》》选择agent 主机 》》点击监控项

    2、右上角点击创建监控项

    a.名称随意
    b. 类型选择客户端
    c.键值这个非常重要
    UserParameter=url.state[*],/etc/zabbix/url-status.py $1
    url.state [] 相当于命令名字,他是key
    其中UserParameter用来自定义键值,(类似于net.if.in),自己写的脚本往往会有参数,[*] 表示他有自己的参数,所以需要加[*],这是固定写法,
    如果脚本压根就没有什么参数,那么这个就省了。
    逗号后面就是我们写的脚本的路径了,再后面就是要用到的参数,有几个就写几。
    如果没有参数,后面的 $1 还有前面的 [*] 就都可以省略。
    d、e、自己选择一个适合的
    最后点击添加

    页面展示

     
  • 相关阅读:
    VC 中Combo Box的使用 Chars
    毕业论文摘要的书写方法和技巧 Chars
    VC调用DLL Chars
    《CLR via C#》Part1之Chapter3 共享程序集和强命名程序集(二)
    委托的使用(转)
    新概念系列之《Lesson 133 Sensational news》
    《CLR via C#》Part1之Chapter2 生成、打包、部署及管理应用程序及类型
    新概念系列之《Part2 Lesson 17 Always young》
    新概念系列之《Part2 Lesson 4 An exciting trip》
    新概念系列之《Part2 Lesson 16 A polite request》
  • 原文地址:https://www.cnblogs.com/xuewenlong/p/12882213.html
Copyright © 2011-2022 走看看