• zabbix实现自定义自动发现的流程


    前言

    本章介绍如何去自定义一个zabbix自动发现的整个流程

    过程

    首先需要在模板当中创建一个自动发现的规则,这个地方只需要一个名称和一个键值,例如

    • 名称:Ceph Cluster Pool Discovery
    • 键值:ceph.pools

    过滤器中间要添加你需要的用到的值宏
    我的数据是:

    [root@lab8106 ~]# zabbix_get -s 127.0.0.1 -k ceph.pools
    {"data":[{"{#POOLNAME}":"rbd"},{"{#POOLNAME}":"metedata"},{"{#POOLNAME}":"data"}]}
    

    这里我的宏就是

    {#POOLNAME}
    

    然后要创建一个监控项原型:
    也是一个名称和一个键值:

    - 名称:test on $1
    - 键值:ceph.pools.used[{#POOLNAME}]
    

    这个地方名称可以用参数形式,包含的就是下面的那个键值中的参数对应的位置的值

    然后需要去写一个这样的键值的收集

    UserParameter=ceph.pools, python /sbin/ceph-status.py pools
    UserParameter=ceph.pools.used[*], python /sbin/ceph-status.py pool_used $1
    

    测试下效果:

    [root@lab8106 ~]# zabbix_get -s 127.0.0.1 -k ceph.pools.used["rbd"]
    888
    

    这个地方,上面的是去做的自动发现,下面的键值就是根据上面的自动发现返回的值去作为一个参数进行新的查询,后面的$1就是将参数传到收集的脚本里面去的,这样就能根据自动发现的不同的名称返回来不同的值,从而添加不同的监控项目,而不需要自己一个个添加了

    总结

    自动发现实际上就是需要首先去获得需要监控的值,然后将这个值作为一个新的参数传递到另外一个收集数据的item里面去,这样就可以了,这里是做的最基本的单项数据的获取,后面应该会遇到多重变量的情况,就需要赋值多重变量,到时需要用到再记录下

    变更记录

    Why Who When
    创建 武汉-运维-磨渣 2016-10-28
  • 相关阅读:
    在vi或者vim中显示行号
    Ubuntu 14.10 下进程实时IO监控iotop命令详解
    Ubuntu 14.10 下网络流量实时监控ifstat iftop命令详解
    Ubuntu 14.10 下运行进程实时监控pidstat命令详解
    Ubuntu 14.10 下CPU实时监控mpstat命令详解
    Ubuntu 14.10 下awk命令详解
    Ubuntu 14.10 下sort,uniq,cut,wc命令详解
    Ubuntu 14.10 下sed命令详解
    Ubuntu 14.10 下grep命令详解
    Ubuntu 14.10 下Ganglia监控Spark集群
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13575379.html
Copyright © 2020-2023  润新知