解决监控大数据集群时zabbix web页面中zabbix server is not running问题
问题的出现
zabbix web配置完成后,但是web端出现Zabbix service is not running
解决过程
1、查看日志
tail -500 /var/log/zabbix/zabbix_server.log
初步感觉应该是和连接数据库有关,于是查看数据库的相关配置
2、问题分析
zabbix的service端和web端都会有数据库的连接
查看web端的连接配置文件
sudo vim /etc/zabbix/web/zabbix.conf.php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'hadoop102';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'root';
$DB['PASSWORD'] = '000000';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'hadoop102';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
此处想用mysql的root管理员用户对mysql进行访问,用户名正确,密码正确。
查看service端配置文件
sudo vim /etc/zabbix/zabbix_server.conf
可以通过 “/DB”搜索与数据库相关的内容,此时找到问题所在。
看上去是没什么问题,但是正是这里出现了问题!!!!!!!!
DBName,DBUser,DBPassword是有它自己默认的配置,由于配置文件的读取是从上往下进行读取的,那么我们的配置被下面的配置覆盖了,继续往下找发现。。。。。。。。。
3、总结
方法一:修改server端的配置文件中的DBUser=root,DBPassword=000000(无论是user,还是password都应该是自己的mysql中自己配置的)。
方法二:在mysql中增加zabbix用户设置自己用户的password和使用权限。
最后将配置文件修改正确后重新启动service服务,然后回到web界面便可以看到正确的效果了
sudo systemctl stop zabbix-server httpd
sudo systemctl disable zabbix-server httpd
sudo systemctl start zabbix-server httpd
sudo systemctl ensable zabbix-server httpd
由于本人直接用的root用户,可以直接运行了,便不再创建zabbix用户进行操作
补充:本人在配置错误的情况下查看service服务的运行状况时,仍然显示service服务运行中,大家不要被误导。