Docker部署Zabbix:active checks失败及自动注册拒绝问题求助
解决Docker部署Zabbix Agent2自动注册报错及主机未找到问题
一、处理自动注册拒绝TLS with PSK的问题
日志明确提示autoregistration from "172.17.0.1" denied... connection type "TLS with PSK" is not allowed for autoregistration,核心原因是Zabbix Server默认未配置自动注册支持PSK加密连接,以下是两种解决方式:
方案1:配置自动注册动作支持PSK(推荐生产环境)
- 登录Zabbix Web管理界面(VPS地址:8080)
- 进入【配置】->【动作】,找到默认的「自动注册」动作并编辑
- 切换到【操作】标签页:
- 确认操作包含「添加主机」,若没有则点击「新的」添加该操作
- 在操作的【主机接口】设置中,填写Agent的实际IP(日志显示为
172.17.0.1),端口保持10050 - 展开【加密】选项,选择「TLS with PSK」,并填写与Agent配置一致的
PSK身份和PSK值(对应Agent配置里的TLSPSKIdentity和TLSPSKFile中的十六进制内容)
- 保存动作配置
方案2:临时允许无加密自动注册(仅测试用)
- 进入zabbix-server-mysql容器:
docker exec -it zabbix-server-mysql /bin/bash - 编辑
zabbix_server.conf,修改参数:AllowUnencryptedConnections=1 - 重启Server容器生效:
docker restart zabbix-server-mysql
二、解决主机「cb6b283d07ce」未找到的问题
日志报错host [cb6b283d07ce] not found,核心原因是Agent配置的Hostname未在Zabbix Server中注册,处理步骤如下:
修正Agent的Hostname配置
- 编辑
zabbix-agent2.conf,将Hostname=cb6b283d07ce改为有意义的固定名称(比如zabbix-agent-local),避免使用随机容器ID - 确保其他关键配置正确:
Server=172.17.0.4 # Zabbix Server容器IP ServerActive=172.17.0.4:10051 TLSConnect=psk TLSAccept=psk TLSPSKIdentity=你的PSK身份标识 TLSPSKFile=/path/to/psk/file # 替换为实际PSK文件路径 - 重启Agent服务:若Agent部署在宿主机执行
systemctl restart zabbix-agent2,若为容器部署则重启对应Agent容器
- 编辑
手动注册主机(若自动注册仍未生效)
在Zabbix Web界面手动创建主机:- 进入【配置】->【主机】,点击「创建主机」
- 主机名称填写与Agent配置一致的
Hostname(比如zabbix-agent-local) - 选择主机群组(如「Linux servers」)
- 添加Agent接口:IP填
172.17.0.1,端口10050 - 切换到【加密】标签页,选择「TLS with PSK」,填写对应的PSK身份和PSK值
- 关联合适的监控模板(如「Template OS Linux by Zabbix agent」),保存配置
三、验证修复效果
- 查看Agent日志:
tail -f /var/log/zabbix/zabbix-agent2.log,确认无host not found报错 - 查看Server日志:
docker logs -f zabbix-server-mysql,检查是否有自动注册成功或主动检查正常的日志 - 在Web界面【监测】->【最新数据】,确认目标主机有监控数据上报
内容的提问来源于stack exchange,提问作者corol
相关产品推荐
相关产品推荐

