searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

巧用zabbix自动发现规则实现动态监控项创建

2023-08-23 07:28:04
88
0

1. Zabbix及监控项添加简介

       Zabbix是一个开源的网络监控工具,可以监视网络设备和服务器的性能,检测并记录任何故障,并在事件发生时发送邮件或短信通知。Zabbix非常灵活、通用,可以适应各种应用场景,因此在全球范围受到广泛欢迎。

      利用Zabbix web,可以轻松地创建所需的Zabbix监控项,一般来说,创建监控项可以按如下步骤进行:

  1. 创建主机群组
  2. 创建主机、选择主机群组
  3. 创建监控项

      创建监控项时,可以选择不同类型,例如“Zabbix 客户端”,“Zabbix采集器”等。

   “键值”是监控采集时真正使用的数据字段。点击“选择”,会展示Zabbix的标准检测器,可以选择自己需要的;也可以直接输入自己自定义的键值。

     通过以上方法,能够简单轻松地为主机添加静态监控项。借助zabbix提供的模板机制,也能方便地为同类主机批量添加监控项。

 

2. 动态添加监控项的必要性及方法

       然而,在实际应用过程中,当所需的监控项数量较多时,手动通过web去添加和维护这些监控项可能会变得非常繁琐和费时。此外,静态监控项不能自动适应应用程序或系统的变化,因此需要手动更新和修改监控项。

      比如某个系统监控的主机需要探测多个客户指定的地址,以获取链路连通性;而每台主机需要探测的地址不同,且随时可能进行增删。在这种情况下,简单通过模板的方式,无法满足需要,此时我们需要动态创建监控项。

      在Zabbix上,一般来说,有两种方法可以动态创建监控项。一种方法是,上层应用直接调用zabbix API,按照客户需求为每个主机自动创建和删除监控项。这种方式简单直接,也比较灵活,就是需要一定开发量。

      下面,本文介绍另外一种方法,即利用自动发现规则,来实现监控项的动态创建。

3. 利用自动发现规则动态创建监控项

      首先我们创建一个主机群组 test_group,并在此群组下创建主机test_host,主机链接到模板 test_template。

      在模板 test_template中,我们添加自动发现规则:

      示例:名称: 自动发现规则

                类型:为了演示方便,这里选择了zabbix采集器作为监控项类型,您可以根据自身需要进行选择。

                键值:test.autodis

                资源周期不足:代表的是该监控项无法发现了,监控数据需要保存的时长。

                点击“添加”按钮    

             

 

      创建好该自动发现规则后,我们进一步添加监控项原型:     

     

          【注】: 键值里头{}中的字母一定都要大写

 

       在server端web配置好以上规则后,在client端 通过zabbix_sender命令(因为发现规则的监控项类型为zabbix采集器),即可自动创建监控项。如以下命令可实现创建2个监控项:test.item[float_item1]和test.item[float_item2]:

zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "test.autodis" -o "[{"{#CTCC_ITEM_FLOAT}":"float_item1"}, {"{#CTCC_ITEM_FLOAT}":"float_item2"}]

创建好的监控项如下所示:

       创建监控项后,可再通过zabbix_sender命令(因为监控项原型里类型为zabbix采集器),为新创建的监控项上报监控数据。

       需注意的是,第一次上报有可能失败。这是因为刚刚添加好的监控项,需要时间来生效并同步到客户端。过一会儿再上报就可以成功了。     

      综上,采用该方法可以在上层应用不变的情况下,由监控设备自身决定要添加/删除哪些监控项。

0条评论
0 / 1000
云中漫步
3文章数
0粉丝数
云中漫步
3 文章 | 0 粉丝
云中漫步
3文章数
0粉丝数
云中漫步
3 文章 | 0 粉丝
原创

巧用zabbix自动发现规则实现动态监控项创建

2023-08-23 07:28:04
88
0

1. Zabbix及监控项添加简介

       Zabbix是一个开源的网络监控工具,可以监视网络设备和服务器的性能,检测并记录任何故障,并在事件发生时发送邮件或短信通知。Zabbix非常灵活、通用,可以适应各种应用场景,因此在全球范围受到广泛欢迎。

      利用Zabbix web,可以轻松地创建所需的Zabbix监控项,一般来说,创建监控项可以按如下步骤进行:

  1. 创建主机群组
  2. 创建主机、选择主机群组
  3. 创建监控项

      创建监控项时,可以选择不同类型,例如“Zabbix 客户端”,“Zabbix采集器”等。

   “键值”是监控采集时真正使用的数据字段。点击“选择”,会展示Zabbix的标准检测器,可以选择自己需要的;也可以直接输入自己自定义的键值。

     通过以上方法,能够简单轻松地为主机添加静态监控项。借助zabbix提供的模板机制,也能方便地为同类主机批量添加监控项。

 

2. 动态添加监控项的必要性及方法

       然而,在实际应用过程中,当所需的监控项数量较多时,手动通过web去添加和维护这些监控项可能会变得非常繁琐和费时。此外,静态监控项不能自动适应应用程序或系统的变化,因此需要手动更新和修改监控项。

      比如某个系统监控的主机需要探测多个客户指定的地址,以获取链路连通性;而每台主机需要探测的地址不同,且随时可能进行增删。在这种情况下,简单通过模板的方式,无法满足需要,此时我们需要动态创建监控项。

      在Zabbix上,一般来说,有两种方法可以动态创建监控项。一种方法是,上层应用直接调用zabbix API,按照客户需求为每个主机自动创建和删除监控项。这种方式简单直接,也比较灵活,就是需要一定开发量。

      下面,本文介绍另外一种方法,即利用自动发现规则,来实现监控项的动态创建。

3. 利用自动发现规则动态创建监控项

      首先我们创建一个主机群组 test_group,并在此群组下创建主机test_host,主机链接到模板 test_template。

      在模板 test_template中,我们添加自动发现规则:

      示例:名称: 自动发现规则

                类型:为了演示方便,这里选择了zabbix采集器作为监控项类型,您可以根据自身需要进行选择。

                键值:test.autodis

                资源周期不足:代表的是该监控项无法发现了,监控数据需要保存的时长。

                点击“添加”按钮    

             

 

      创建好该自动发现规则后,我们进一步添加监控项原型:     

     

          【注】: 键值里头{}中的字母一定都要大写

 

       在server端web配置好以上规则后,在client端 通过zabbix_sender命令(因为发现规则的监控项类型为zabbix采集器),即可自动创建监控项。如以下命令可实现创建2个监控项:test.item[float_item1]和test.item[float_item2]:

zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "test.autodis" -o "[{"{#CTCC_ITEM_FLOAT}":"float_item1"}, {"{#CTCC_ITEM_FLOAT}":"float_item2"}]

创建好的监控项如下所示:

       创建监控项后,可再通过zabbix_sender命令(因为监控项原型里类型为zabbix采集器),为新创建的监控项上报监控数据。

       需注意的是,第一次上报有可能失败。这是因为刚刚添加好的监控项,需要时间来生效并同步到客户端。过一会儿再上报就可以成功了。     

      综上,采用该方法可以在上层应用不变的情况下,由监控设备自身决定要添加/删除哪些监控项。

文章来自个人专栏
云中漫步
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0