[自动化分布式] 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
相关推荐
测试员周周14 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
北京耐用通信17 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
在角落发呆18 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
齐潇宇18 小时前
Zabbix 7 概述与配置
linux·zabbix·监控告警
裴东青20 小时前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化
哎呦,帅小伙哦20 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
sxgzzn20 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能
张小姐的猫20 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
迁移科技20 小时前
告别人工分拣!迁移科技 AI+3D 视觉让机器人 “看懂” 无序抓取
人工智能·科技·3d·机器人·自动化·视觉检测
CodeMartain20 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器