Zabbix服务器端运行中 显示为 否 No 的解决方案

Zabbix配置后显示 否/NO/10051端口未开启


有时候我们已经配置好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
添加上面查到的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

### Zabbix "No such file or directory" 错误解决方案 #### MySQL头文件缺失问题 当在CentOS 7.5上源码编译安装Zabbix 4.0时,如果遇到`fatal error: mysql.h: No such file or directory`错误,则表明缺少MySQL开发包中的头文件。可以通过安装相应的软件包来解决这个问题[^1]。 对于基于RPM的Linux发行版,可以使用yum命令安装这些依赖项: ```bash sudo yum install mariadb-devel ``` 这会提供必要的MySQL/MariaDB库和头文件以便成功构建Zabbix。 #### Python解释器路径配置不当 针对`/usr/bin/env: ‘python\r’: No such file or directory`以及`/usr/bin/python3: bad interpreter: No such file or directory`这类错误消息,在ROS环境中尝试运行rosrun脚本或是在Zabbix服务器端发送通知时出现问题可能是由于Python版本不匹配或者是Windows风格换行符(\r\n)混入Unix/Linux风格换行符(\n),从而破坏了shebang行(`#!`)指向正确位置的能力[^2][^3]。 为了修正此情况,应该做两件事情: - 确认系统确实已安装所需版本的Python; - 使用dos2unix工具清理可能存在的DOS格式化的新行字符; 验证Python是存在并获取其确切的位置: ```bash which python3 ``` 接着转换有问题的脚本至UNIX格式: ```bash apt-get install dos2unix # 对于Debian系操作系统 yum install dos2unix # 对于RedHat系操作系统 dos2unix your_script.py # 将your_script.py替换为实际文件名 ``` #### 数据库连接失败 最后一种情形涉及到了数据库连通性的障碍——即提示无法找到名为`mysql.sock`的数据接口文件。通常来说这是因为PHP试图访问非默认位置下的socket文件所致[^4]。 要修复上述状况,需编辑PHP配置文件以指定正确的套接字地址: 查找当前系统的php.ini所在目录,并打开它进行修改: ```bash find / -name php.ini vim /path/to/php.ini # 替换成真实的路径 ``` 定位到如下参数并将之设置成适当值(例如 `/var/lib/mysql/mysql.sock` 或者其他由MySQL服务定义的地方),保存更改后重启相关服务使改动生效: ```ini pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock ; 修改这里为你自己的mysqld.sock路径 mysqli.default_socket=/var/run/mysqld/mysqld.sock ; ``` 完成以上操作后再依次重启各个组件确保一切正常运作: ```bash systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值