Zabbix 6.2连接PostgreSQL失败:用户zabbix密码认证错误
排查步骤
- 检查PostgreSQL的pg_hba.conf配置文件(通常路径为
/etc/postgresql/<你的PostgreSQL版本>/main/pg_hba.conf),确认本地连接(针对zabbix用户或127.0.0.1/localhost)的认证方式为md5或scram-sha-256(这两种是密码认证模式),而非peer或ident。修改后需重启PostgreSQL服务:systemctl restart postgresql。 - 手动测试zabbix用户的数据库连接:执行命令
psql -U zabbix -d zabbix -h localhost,输入设置的密码尝试登录。如果登录失败,说明数据库端的用户密码或权限仍存在问题;如果登录成功,检查/etc/zabbix/zabbix_server.conf中的DBHost配置是否正确——若使用本地套接字连接,可将DBHost留空或设置为/var/run/postgresql。 - 检查
zabbix_server.conf的密码配置是否存在格式问题:用grep -n "DBPassword" /etc/zabbix/zabbix_server.conf查看配置行,确认DBPassword=后无多余空格,若密码包含特殊字符,需确认是否符合PostgreSQL的密码规则(无需额外转义,直接填写即可)。 - 查看PostgreSQL的详细日志(路径通常为
/var/log/postgresql/postgresql-<版本>-main.log),日志中会记录认证失败的具体原因,比如连接来源、使用的认证方式等,能帮助精准定位问题。 - 检查zabbix用户的连接限制:登录PostgreSQL执行
SELECT usename, connlimit FROM pg_user WHERE usename='zabbix';,若connlimit为0(禁止连接),执行ALTER USER zabbix CONNECTION LIMIT -1;解除限制。
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

