zabbix自动发现和自动注册

发布时间 2023-04-13 16:32:11作者: 靖安yj
  • 文章目录
  • 一、概述
  • 二、自动发现(被动模式)配置
  • 三、自动注册(主动模式)配置

 

一、概述
手动添加客户端非常耗时间,增加人力、时间成本。为了满足监控企业成千上万台服务器,zabbix提供了自动发现与自动注册的功能,自动批量发现局域网中的服务器,并自动添加到zabbix监控平台

自动发现(被动模式):由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中IP服务器、设备。实现自动将发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目(item)、自动创建图像等功能。缺点:当 Agent服务器过多的时候采用自动发现,zabbix-server压力会比较大,自动添加主机进度就会非常慢。

自动注册(主动模式):Zabbix Server 等待 Zabbix Agent主动上报。由客户端主动发起,客户端必须安装并启动Agentd,否则无法被自动注册添加至主机列表。对于使用SNMP的要采用自动发现。缺点:agent有可能找不到Server。

PS:主动还是被动是基于agent而言,不管是主动还是被动模式都是在agent端进行配置

二、自动发现(被动模式)配置

客户端安装zabbix-agent,并配置

[root@test01 ~]# sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config 
[root@test01 ~]# setenforce 0
[root@test01 ~]# systemctl stop firewalld
[root@test01 ~]# systemctl disable firewalld
[root@test01 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.0-1.el7.x86_64.rpm
[root@test01 ~]# vim /etc/zabbix/zabbix_agentd.conf
[root@test01 ~]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
DenyKey=system.run[*]
Server=192.168.217.104
ListenPort=10050
# ServerActive=
# Hostname=
Include=/etc/zabbix/zabbix_agentd.d/*.conf

 

注:

自动发现会根据客户端的主机名来配置WEB端名称。如果该配置文件中 Hostname 配置的值与主机名不一致,那么在zabbix的web监控页面是以真实的主机名来命名。

如果你没有在zabbix_agentd.conf中特别定义Hostname, 则服务器将使用agent的系统主机名命名主机。Linux中的系统主机名可以通过运行hostname命令获取。最后成功添加的主机名称也是该选项设置的值。

Server 和 ServerActive 都指定 zabbix_server 的 IP 地址,不同的是,前者是自动发现(被动模式)开启的,后者是自动注册(主动模式)开启的。也就是说 Server 这个配置是用来允许 192.168.126.70 这个 ip 的zabbix-server来获取当前zabbix-agent的数据。而serverActive = 192.168.126.70 的意思是,zabbix-agent客户端主动提交数据给zabbix-server端。

启动zabbix-agent

[root@test01 ~]# systemctl start zabbix-agent
[root@test01 ~]# ss -alnutp | grep 10050
tcp    LISTEN     0      128       *:10050                 *:*                   users:(("zabbix_agentd",pid=3350,fd=4),("zabbix_agentd",pid=3349,fd=4),("zabbix_agentd",pid=3348,fd=4),("zabbix_agentd",pid=3347,fd=4),("zabbix_agentd",pid=3346,fd=4))
tcp    LISTEN     0      128      :::10050                :::*                   users:(("zabbix_agentd",pid=3350,fd=5),("zabbix_agentd",pid=3349,fd=5),("zabbix_agentd",pid=3348,fd=5),("zabbix_agentd",pid=3347,fd=5),("zabbix_agentd",pid=3346,fd=5))

WEB界面配置

 

 

 

创建动作:配置 >> 动作 >> Discovery actions >> 创建动作

 

 

 配置触发动作

 

 

 

 

⑥发现客户端 

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【发现动作】
勾选 【发现动作】,点击 【启用】

 

 

 

 

⑦验证发现结果

点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机 ,需要等待一段时间。

 

 

zabbix自动注册(对于 agent2 是主动模式)
zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。

1.环境准备
点击左边菜单栏【配置】中的【自动发现】,勾选发现规则,点击 禁用

 

 

 

 

2.修改 zabbix-agent2 配置文件

 

 

 

 

 

 

3.在 Web 页面配置自动注册

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【Autoregistration actions】,点击【创建动作】

 

【名称】设置成

 

 

点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 zbx-agent01

 

 

 点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击 【add】

 

 

 

 

 再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击 【add】

 

 

 再点击【添加】,【操作类型】选择 与模板关联,【模板】搜索 Linux,选择 Template OS Linux by Zabbix agent,点击 【add】

 

 

 点击下方的【添加】

 

 

 点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机

 

 

 在服务端查看 zabbix 日志