• 基于Zabbix 3.2.6版本的low-level-discover(lld)


    个人使用理解:
         1、使用一个返回值是JSON的KEY,在Templates或者Hosts中创建一个Discovery规则。该key的返回值类似于: 索引key -- value 类型
              例如zabbix自带的net.if.discovery,返回值为:{"data":[{"{#IFNAME}":"lo"},{"{#IFNAME}":"eth18"},{"{#IFNAME}":"eth16"},{"{#IFNAME}":"eth19"},{"{#IFNAME}":"eth17"}]}
              该key共检测到五个网络接口,第一个IFNAME为lo,第二个IFNAME为eth18
              
         2、根据JSON返回的KEY值,创建我们需要的正则表达式,过滤出我们需要的值。(上例中我们不需要监控“lo”的流量,监控其他物理接口的流量,那么无论我们的目标主机上共有多少个物理接口,我们使用lld规则,只需要建立一条规则就能将所有的物理接口的流量进行监控,在加上模板的应用简化工作量)
     
    具体实现步骤:
         1、根据不同需求创建正则表达式,此处我们使用系统自带的Network interfaces for discovery
    创建完成后,可在Test中检查是否正确,正则中仅插件value不检查索引 key。"{#IFNAME}":"lo" ,仅处理lo字符串,不处理其他
    eth0检查结果:
    lo检测结果:
         
         2、在Templates或者Hosts中创建一个Discovery规则
     
    创建discovery rule需要两步,第一步定义可返回JSON值的KEY,第二步设置正则表达式
    net.if.discovery :返回JSON值的KEY
    Macro:填写返回值的索引key
    Regular expression: 使用“@”+第一步创建的正则表达式名称
     
         3、为Discovery规则创建监控项,触发器、图形等
              注意第二步创建的lld规则使用的key并不是我们需要监控item,我们需要的使用该key返回的值自动的创建我们需要的新item
     
    以item为例:使用keynet.if.in监控网络接口传入流量
     
    在为lld创建item时,我们的key传入的参数使用我们lld传回给server的所以key即可完成创建
     
    lld监控效果:
    我们将拥有lld的模板custom_1链接至我们的主机观察lld监控结果:
    我们能够看到使用lld创建了一个item,但是我们的lld规则给我们的lld的item传递了四个符合正则表达式的[#IFNAME]的值,那么将该lld规则应用到主机上之后,我们就能实现监控所有物流网口流量的需求。
     
    返回JSON格式的KEY我们也可以自定义来完全满足我们的监控需求,不过需要会JSON编程。
  • 相关阅读:
    hadoop集群单点配置
    CentOS6.x环境通过yum命令在线安装或重装zookeeper-server
    层层递进——宽度优先搜索(BFS)
    解救小哈——DFS算法举例
    浅谈深度优先搜索
    CodeCombat森林关卡Python代码
    用OpenGL进行曲线、曲面的绘制
    CodeCombat地牢关卡Python代码
    转载:程序员都应该访问的最佳网站
    用OpenGL实现动态的立体时钟
  • 原文地址:https://www.cnblogs.com/armo/p/7077323.html
Copyright © 2020-2023  润新知