2020-09-10

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

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

    图六

技术交流欢迎加入Q群:177428068

你可能感兴趣的:(技术干货,zabbix,json)