有时候我们已经配置好zabbix,但是在管理界面发现端口未开启:
原因分析
查看报错日志(根据自己的zabbix日志目录调整代码)
cat /var/log/zabbix/zabbix_server.log
有如下报错信息:
[Z3001] connection to database 'zabbix'
failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
报错信息一表示Zabbix服务不能用/var/lib/mysql/mysql.sock 成功连接数据库
[Z3001] connection to database 'zabbix'
failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: YES)
报错信息二表示Zabbix服务不成功连接数据库
解决方案
对于报错一,查找MySQL.socket并将位置添加到zabbix_server 配置文件
[root@neo ~]# find / -name mysql.sock
/usr/local/mysql/mysql.sock
修改zabbix配文件并添加mysql.sock
vim /etc/zabbix/zabbix_server.conf
添加上面查到的mysql.sock
对于报错二,检查zabbix用户在数据库中的权限。并赋予localhost权限。
show grants for 'zabbix'@'%'; SELECT DISTINCT
CONCAT('User:''',user,'''@''',host,''';')AS query FROM mysql.user;
修改前:
连接数据库,赋予zabbix服务localhost数据库权限
GRANT all ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'admin123';
修改后:
刷新权限
flush privileges;
并重启http,mysql,zabbix_server服务
systemctl restart httpd.service
systemctl restart httpd.service
systemctl restart zabbix-server.service
修复!
参考
[1]: https://www.landui.com/help/show-9800.html