zabbix4.0学习七:自动发现和发现原型(监控原型,触发器原型)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/achenyuan/article/details/87859401

zabbix4.0学习七:自动发现和发现原型(监控原型,触发器原型)

前言

zabbix的自动发现包括发现主机和发现监控项/触发器/图形功能。

  1. 主机自动发现和主机自动注册是放在一起的概念,主要是发现主机,可参考Zabbix自动发现和自动注册学习发现主机
  2. low_level-discovery自动发现主要是发现监控项/触发器/图形。与主机或模板绑定。
    下面主要讲low_level-discovery低级别自动发现。
    底层发现执行需要在特定的主机之上才可以执行,工作原理:
  3. 通过采集主机的特定指标,获得一个JSON对象
  4. 解析JSON对象,匹配原型,获得需要执行的添加项的具体内容
  5. 检查该模型是否已经添加,有则结束
  6. 添加具体的内容,如果有多项,则添加多项(监控项,触发器,图,其他主机)

low_level-discovery

以自动发现windows服务为便讲监控项原型/触发器原型/图形原型。

自定义监控项

在zabbix-agent目录下创建discoverservice.bat,脚本实现自动获取windows服务

@echo off
echo {
echo         "data":[
for /F "skip=1 eol=命 tokens=*" %%i IN ('net start') DO echo                 {"{#SERVICE_NAME}":"%%i"},
echo                 {"{#SERVICE_NAME}":"Zabbix Agent"}
echo         ]
echo }

关键语句是:for /F “skip=1 eol=命 tokens=*” %%i IN (‘net start’) DO echo {"{#SERVICE_NAME}":"%%i"}
意思是,去掉第一行和以命开头的行,返回json格式数据,%%i是每行的变量值。
想进一步学习可搜索for /F命令

zabbix-agent配置自定义监控项

打开D:\zabbix_agents\conf\zabbix_agentd.win.conf文件(每个人的安装目录可能不一样)添加如下

EnableRemoteCommands=1
UnsafeUserParameters=1
UserParameter=servicestate,D:\zabbix_agents\discoverservice.bat

添加low_level-discovery自动发现规则

有2种,1.与主机绑定,2.与模板绑定。下面介绍与主机绑定的,与模板绑定的也一样配置,只是入口位置不一样。在模板里创建的话,只要赋模板就会与主机绑定。
选中主机,点击后面的自动发现
在这里插入图片描述

创建发现规则

名称:Service State Discovery
类型:zabbix 客户端
键值:填写上面在agent端定义的自定义监控项,servicestate
其它默认即可,完整配置如下
在这里插入图片描述

创建自动发现的监控项原型

在自动发现规则列表里,点击监控项原型去创建监控项,你要知道监控项原型是与自动发现规则在一起的,所以在哪找创建监控项原型入口知道了吗?
名称:Service {#SERVICE_NAME},{#SERVICE_NAME}是返回的服务名
类型:zabbix客户端
键值:service.info[{#SERVICE_NAME},state],监控服务运行状态
其它默认,完整配置效果如下:
在这里插入图片描述

查看监控数据

监测中->最新数据
在这里插入图片描述

创建触发器原型

如果有需要创建服务没运行报警的需求,可以创建触发器原型,位置也在主机的自动发现里。
和普通创建触发器过程一样,唯一不同的时监控项选择上面创建的监控项原型<kbd>
完整效果图如下
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/achenyuan/article/details/87859401