LLD处理重复对象

Zabbix LLD可以有效发现规则性对象,节省手动添加对象时的重复性操作,但如果是相同的对象,监控项原型在生成的时候就会不可避免的冲突。以下是我在处理该问题上用到的一个小技巧:
下面以发现tuxedo中间件psr信息为例:

  1. tmadmin进入tuxedo命令行,psr查看节点的进程的信息。
    LLD处理重复对象
    图一
    如图一所示,Prog Name列有重复的值,如果ZABBIX自动发现规则想使用Prog Name列内容作为监控项原型名称,就会不可避免地出现冲突现象。
  2. 图二是比较常规的一个生成JSON的shell脚本,该脚本会把{#PROG_NAME}作为键、Prog Name列内容作为值存到JSON中以供ZABBIX LLD使用,JSON内容见图三。
    LLD处理重复对象
    图二
    LLD处理重复对象
    图三
  3. 如果我就是想用ProgName作自动发现,那可以在现在JSON的基础上再一个键值用来区分ProgName,比如前面图一中的ID列就不存在重复值,我们可以用该列作值去区分ProgName,这有点像数据库的联合主键。如图四,JSON内容见图五
    LLD处理重复对象
    图四
    LLD处理重复对象
    图五
  4. 这样的话LLD冲突的监控项原型名称问题就解决了。如图六;
    同理:如果两个JSON键值还冲突的话,可以再加一个键值区分。
    LLD处理重复对象
    图六

猜你喜欢

转载自blog.51cto.com/14483703/2531229