[自动化分布式] Zabbix自动发现与自动注册

abbix 自动发现(对于 agent2 是被动模式)

zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。

缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大

部署

添加zabbix 客户端主机 (192.168.17.31)

bash 复制代码
systemctl stop firewalld
setenforce 0

hostnamectl set-hostname zbx-agent2

服务端和客户端都配置时间同步

bash 复制代码
yum install -y ntpdate
ntpdate -u ntp.aliyun.com

设置 zabbix 的下载源,安装 zabbix-agent2

bash 复制代码
rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo


yum install -y zabbix-agent2

修改 agent2 配置文件

bash 复制代码
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.17.66			#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.17.66		#133行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent2			#144行,指定当前 zabbix 客户端的主机名

启动 zabbix-agent2

bash 复制代码
systemctl start zabbix-agent2
systemctl enable zabbix-agent2

netstat -natp | grep zabbix

在服务端测试连通性

bash 复制代码
zabbix_get -s '192.168.17.31' -p 10050 -k 'agent.ping'
1

zabbix 自动发现与自动注册

1.确保客户端上的 zabbix-agent2 服务状态正常

bash 复制代码
systemctl is-active zabbix-agent2.service 
active

2.在 Web 页面删除原有的客户端主机

3.服务端和客户端都设置 hosts 解析

bash 复制代码
cat > /etc/hosts << EOF
92.168.17.30 zbx-server
192.168.17.66 zbx-agent1
192.168.17.31 zbx-agent2
EOF

4.在 Web 页面配置自动发现

bash 复制代码
点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】
【名称】设置成 mynetwork
【IP范围】设置成 192.168.80.1-254
【更新间隔】设置成 30s
【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10050,【键值】设置成 system.uname
【设备唯一性准则】选择 IP地址
【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选 【已启用】,点击 【添加】
bash 复制代码
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【发现动作】
勾选 【Auto discovery. Linux servers.】,点击 【启用】
bash 复制代码
点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机

等待时间有点漫长

可在服务端查看 zabbix 日志

bash 复制代码
tail -f /var/log/zabbix_server.log

zabbix 自动注册(对于 agent2 是主动模式)

zabbix agent2 会主动上报自己的信息,发给 zabbix server。

缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server

1.环境准备

点击左边菜单栏【配置】中的【发现动作】,勾选发现规则,点击 禁用

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

服务端和客户端都设置 hosts 解析

bash 复制代码
vim /etc/hosts
192.168.17.30 zbx-server
192.168.17.66 zbx-agent1
192.168.17.31 zbx-agent2

2.修改 zabbix-agent2 配置文件 (客户端)

bash 复制代码
vim /etc/zabbix/zabbix_agent2.conf
......
HostnameItem=system.hostname		#152行,取消注释


egrep -v "^#|^$" /etc/zabbix/zabbix_agent2.conf  #输入后会输出

PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.17.30
ServerActive=192.168.17.30
Hostname=zbx-agent2
 HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
PluginSocket=/run/zabbix/agent.plugin.sock
ControlSocket=/run/zabbix/agent.sock
Include=./zabbix_agent2.d/plugins.d/*.conf


systemctl restart zabbix-agent2

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

bash 复制代码
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【自动注册动作】,点击【创建动作】
【名称】设置成 Auto registration
点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 zbx-agent
点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击 【Add】
再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击 【Add】
再点击【添加】,【操作类型】选择 与模板关联,【模板】搜索 Linux,选择 Linux by Zabbix agent,点击 【Add】
点击下方的【添加】

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

在服务端查看 zabbix 日志

bash 复制代码
tail -f /var/log/zabbix_server.log
相关推荐
风流倜傥唐伯虎18 分钟前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Doro再努力19 分钟前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene23 分钟前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
忧郁的橙子.31 分钟前
02-本地部署Ollama、Python
linux·运维·服务器
醇氧40 分钟前
【linux】查看发行版信息
linux·运维·服务器
No8g攻城狮1 小时前
【Linux】Windows11 安装 WSL2 并运行 Ubuntu 22.04 详细操作步骤
linux·运维·ubuntu
做人不要太理性1 小时前
CANN Runtime 运行时与维测组件:异构任务调度、显存池管理与全链路异常诊断机制解析
人工智能·自动化
酷酷的崽7981 小时前
CANN 生态可维护性与可观测性:构建生产级边缘 AI 系统的运维体系
运维·人工智能
做人不要太理性2 小时前
CANN Runtime 运行时组件深度解析:任务调度机制、存储管理策略与维测体系构建逻辑
android·运维·魔珐星云
souyuanzhanvip2 小时前
ServerBox v1.0.1316 跨平台 Linux 服务器管理工具
linux·运维·服务器