目录
当机子多的时候不可能手工一个一个添加,这样效率低下,尤其是云主机的时候,一般只要机子启动就自动添加进监控,这样才是比较合理的,所以今天要用到自动发现,然后通过action自动添加监控。
当使用agent端作自动发现的时候,只支持被动模式,主动模式发现不了。子要用到后面的自动注册功能才行。
一、自动发现简介
1.1 自动发现概述
Zabbix提供了网络自动发现功能,该功能可以基于FTP、SSH、Web、LDAP、POP3、IMAP、SMTP、TCP、SNMP、Telnet、zabbix_agent等,主动扫描网络中的协议和服务,当它们存在时,即认为主机和设备存在,表示该IP地址存活,而是否添加到监控,则由Action来决定。在Zabbix中,网络自动发现和自动注册都具有以上提到的功能。
Zabbix提供了对多变的监控项自动发现监控的功能。比如,服务器有两块网卡,再增加两块网卡,那么新增加的两块网卡如何做到自动监控?再比如磁盘分区、硬盘设备等,它们存在不确定的因素,一台服务器可能只有一块硬盘,也可能有多块,那么如何做到自动监控?如上问题,都可以用Zabbix的LLD功能轻松解决。即对于监控项中具有相同的属性,但存在部分变量配置不同的情况,完成自动添加监控项。
基于Zabbix的这两个功能,我们可以实现:
- 自动添加主机、模板,自动分组,自动添加监控项、触发器等。
- 自动添加监控项中有规律的“变量”
1.2 自动发现功能
如下图所示:
从上图可以看出,自动发现是:配置discovery+action 完成的
二、例子
2.1 实验环境说明
不多说,直接上例子,我以是《zabbix5 agent配置主动模式》基础上进行的,相关配置如下表所示:
主机名 | IP地址(外网) | IP地址(内网) | 描述 |
vm82 | ens32:192.168.128.82 | ens33:192.168.3.82 | Zabbix5.0服务端 |
vm821 | ens32:192.168.128.21 | ens33:192.168.3.21 | Zabbix5.0客户端 配置了被动模式 |
vm822 | ens32:192.168.128.22 | ens33:192.168.3.21 | Zabbix5.0客户端 配置了主动模式 |
在实验开始之前,我把之前手工添加的host主机全部删除掉,方便实验,
2.2 创建和自动自动发现discovery
2.2.1 创建discovery
下面我用agent的system.uname判断,系统和版本一样的话 system.uname是一样的
Name:名称,可以填写能代表服务功能的名称,便于识别。
Discovery by proxy:是否通过代理。
IP range:IP地址的范围,可以写一段地址,也可以写多段地址。
Update interval:检测时间周期,默认值是3600,即1小时才能发现服务。
Checks:检测命令,这里选择ICMP ping,用Zabbix-Agent来检测。
Device uniqueness criteria:设备的唯一名称,此处采用IP地址。
Enabled:发现功能是否激活。
底部会创建一个新的自动发现项,如下图所示:
2.2.2 查看效果
我们配置一个功能就检查一个功能的原则,看一下“监控”中的“自动发现”否发现设备,如下图所示:
发现纯agent发现发现时候,主动模式无效!
从上图可以看出,它只发现了192.168.3.21,没有发现192.168.3.22,我们用get测试一下
#被动模板能获取key
[root@vm82 ~]# zabbix_get -s 192.168.3.21 -k system.uname
Linux vm821 4.18.0-193.el8.x86_64 #1 SMP Fri May 8 10:59:10 UTC 2020 x86_64
#主动模式,发现获取不到key
[root@vm82 ~]# zabbix_get -s 192.168.3.22 -k system.uname
zabbix_get [8837]: Check access restrictions in Zabbix agent configuration
PS: 如果要主动模式也能识别出来,我这里再添加多一个判断,用tcp 10050端口
最后 点最下方的 update 更新一下即可 ,等1分钟,再看一下 “监控”中的“自动发现”变化,如下:
那如何区分被动模式和主动模式呢?可以自定义一个key,但是配置action的时候,主动模式获取不到任何agent key的值。
2.3 添加对应的动作action
2.3.1 创建自动发现对应的动作action
操作如下:
2.4 查看效果
等大概1分钟,去看一下192.168.3.21有没有自动添加到hualinux组,并自动添加了创建了host添加了监控模板 emplate OS Linux by Zabbix agent,如下图所示: