• zabbix 3.0.2自定义脚本


    http://blog.51cto.com/xiao987334176/1769766


    有一个通知队列,如果超过了一定的值,就需要报警一下

    查询接口可以返回队列的数量,格式是json,data后面的数量就是队列的数量

    {"code":0,"message":"成功","data":22}

    在zabbix客户端编辑配置文件zabbix_agentd.conf

    vim /usr/local/zabbix-agent/zabbix_agentd.conf

    添加蓝色部分

    LogFile=/tmp/zabbix_agentd.log

    ###zabbix 服务端地址

    Server=192.168.1.110

    ##agent服务监听地址,也就是本机地址

    #ListenIP=192.168.1.105

    ServerActive=192.168.1.110

    ##zabbix-server端主机地址(zabbix server)

    Hostname=zabbix server

    #允许所有字符的参数传递给用户定义的参数

    UnsafeUserParameters=1

    #用户自定义key,格式: UserParameter=key名,执行命令

    #例如:serParameter=system.test,who|wc -l

    UserParameter=inform_queue,/usr/local/php/bin/php /usr/local/zabbix-agent/script/inform_queue.php

    创建目录script

    mkdir script

    直接用shell过滤不太好,用php是比较好的

    vim inform_queue.php

    代码如下:

    <?php

    $str = file_get_contents('http://10.x.x.x/app/inform_queue');

    $json=json_decode($str);

    echo $json->data;

    ?>

    测试执行php代码就可以得到数字22

    重启zabbix客户端

    killall -9 zabbix_agentd

    /usr/local/zabbix-agent/sbin/zabbix_agentd -c /usr/local/zabbix-agent/etc/zabbix_agentd.conf

    进入zabbix服务器,使用zabbix_get

    zabbix_get参数说明:

    -s --host: 指定客户端主机名或者IP

    -p --port:客户端端口,默认10050

    -I --source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的时候,你指定一个。

    -k --key:你想获取的key

    测试key值是否生效

    /usr/local/zabbix/bin/zabbix_get -s 192.168.1.105 -p10050 -k inform_queue

    有数字返回说明就可以了。

    进入zabbix服务器的后台页面

    点击配置->主机,点击名称下面的一台主机(修改配置文件的那台)

    点击监控项->创建监控项

    输入名称,选择类型,信息类型是数字,因为脚本执行返回的格式是数字

    输入应用集名称

    点击更新

    wKiom1coYD2hh1KAAABT2NgQK1g528.png

    点击触发器->创建触发器

    输入名称

    表达式: {host_1:inform_queue.min(1m)}>3

    表示队列最后1分钟内超过3那么触发器表达式将会返回true

    选择严重性,点击更新

    wKiom1coZOeCJUayAAA56NJiOt8491.png

    点击图形->创建图形

    输入名称,选择纵轴固定,可固定

    添加监控项,点击更新

    wKioL1coYoGSQ5sfAABJ85RQoIs025.png

    点击监测中->图形

    选择主机,选择图形inform_queue

    等待几分钟,就会有数据了。

    wKiom1coYinjKmZFAABcHuAIpbU000.png

  • 相关阅读:
    html5中input弹窗时,不弹出输入法弹出。
    ajax异步提交
    WinForm更新文件
    固态硬盘上安装Windows8(ghost)启动问题
    刷新页面Js
    流媒体
    WebOffice上传Word限制设置
    js页面传参中文乱码问题
    weboffice(点聚)在传参为汉字时的乱码问题
    Linq中Lanbda表达式做参数
  • 原文地址:https://www.cnblogs.com/wangmo/p/9679253.html
Copyright © 2020-2023  润新知