当前位置:   article > 正文

记一次CentOS7下zabbix4.0的安装记录_zabbix4.0 connection to database failed 2002

zabbix4.0 connection to database failed 2002

偶然看到群里发的一篇"ZABBIX从入门到精通v3.0.1"的pdf, 想着照着里面的流程来搭建zabbix练手.

不过教程里的Nginx和PHP全都是编译安装, 在过程中因未知原因卡住了, 最后选择了用yum来安装.

将中间遇到的一些小问题做个记录.

 

确认yum仓库有你要装的包zabbix-server-mysql和zabbix-web-mysql

  1. yum search zabbix
  2. ...内容省略, 找到你的包名...
  3. yum install -y zabbix40-server-mysql zabbix40-web-mysql

安装数据库, 随后建立zabbix数据库账号及初始数据库

  1. # 选用开源MariaDB代替MySQL
  2. yum install -y mariadb-server
  3. # 启动数据库服务
  4. systemctl start mariadb
  5. # 确认数据库可用, 执行命令后能看到数据库欢迎信息
  6. mysql -uroot
  7. MariaDB [(none)]>\q
  8. # 数据库root密码设置, 同时会有些安全项的设置, 很易懂的英文, 按照自己需求来设置即可
  9. mysql_secure_installation
  10. # 进入数据库建立zabbix服务所用账号
  11. mysql -uroot -p
  12. ## 建立zabbix数据库
  13. MariaDB [(none)]>create database zabbix character set utf8 collate utf8_bin;
  14. ## 建立zabbix账户, 设定密码
  15. MariaDB [(none)]>grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
  16. ## 刷新数据库权限
  17. MariaDB [(none)]>flush privileges;
  18. MariaDB [(none)]>\q
  19. # 导入zabbix库文件
  20. cd /usr/share/zabbix-mysql/
  21. mysql -uzabbix -pzabbix zabbix < schema.sql
  22. mysql -uzabbix -pzabbix zabbix < image.sql
  23. mysql -uzabbix -pzabbix zabbix < data.sql

 

配置zabbix-server和httpd

  1. vim /etc/zabbix_server.conf
  2. # 找到DBUser=zabbix行, 添加密码信息
  3. DBPassword=zabbix
  4. vim /etc/httpd/conf.d/zabbix.conf
  5. # 在<IfModule mod_php5.c>段末尾加入时区配置
  6. php_value date.timezone Asia/Shanghai

 

启动httpd和zabbix-server

systemctl start httpd zabbix-server

 

尝试访问http://Server-IP/zabbix, 会发现无法访问, 因为防火墙拦截了

  1. # 需要永久生效再带上--permanent参数
  2. firewall-cmd --add-service=http

再试, 还不行, 用systemctl status检查httpd和zabbix-server状态, 会发现zabbix-server没起起来

查看日志/var/log/message、/var/log/zabbixsrv/zabbix_server.log(其实后者才有有效信息, 不过按照排查逻辑, 当然先看系统日志~)

cannot start preprocessing service: Cannot bind socket to "/var/lib/zabbixsrv/tmp/zabbix_server_preprocessing.sock": [13] Permission denied.

 必应一下, 发现极大可能是SELinux相关问题.

当然你可以选择关掉SELinux, 或者将它设置成调试模式, 但这都不是解决问题的根本办法.

我需要不动SELinux同时运行zabbix.

  1. # 清空audit.log
  2. :>/var/log/audit/audit.log
  3. # 重启zabbix-server以记录audit日志
  4. systemctl restart zabbix-server
  5. # 根据audit日志生成zabbix-server规则
  6. grep AVC /var/log/audit/audit.log | audit2allow -M zabbix-systemd-allow
  7. # 写入SELinux规则
  8. semodule -i zabbix-systemd-allow.pp
  9. # 查看是否成功写入
  10. semodule -l
  11. # 再次尝试重启zabbix-server并查看其状态
  12. systemctl restart zabbix-server
  13. systemctl status zabbix-server

 

能看到zabbix服务成功启动了, 这时候再访问http://Server-IP/zabbix, 开启zabbix4.0之旅吧~

 

补充:

遇到SELinux相关问题时, 可以借助于setroubleshoot工具, 该工具在鸟哥的基础篇有介绍.

 

补充1:

报错

[Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 

处理方式

setsebool -P httpd_can_network_connect_db=1

 

[参考链接]

Zabbix安装部署

ZABBIX BUGS AND ISSUES

Zabbix server is not running:the information displayed may not be current .

Zabbix连接数据库失败解决办法

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/article/detail/49562
推荐阅读
相关标签
  

闽ICP备14008679号