zabbix web页面打开提示Database error(已解决)

今天早上给zabbix做数据库迁移,步骤如下:

  1. 从1.2迁移到1.3
  2. 先从1.2导出sql
  3. 1.3创建数据库,zabbix用户名密码(之前用户名和数据库名都叫zabbix,现在把用户名改了monitor)
  4. sql传到1.3上,导入sql
  5. 修改zabbix-server.conf配置文件,数据库IP,用户名密码都换了,重启zabbix-server
  6. 访问浏览器是可以出来web页面,迁移成功
  7. 1.2的zabbix库和用户可以删掉了

然后过了一会,要看一下数据库备份的情况,打开web提示Database error,如下图

zabbix web页面打开提示Database error(已解决)_第1张图片

出现错误,然后去检查,先看了数据库连接,有来自zabbix-server的monitor用户的连接,数据库连接应该是没问题的,然后我用monitor用户连接到1.3上,对表修改也可以,不是权限问题,然后看zabbix日志,没有错误输出,百思不得解,然后又创建了个用户试试,还是不行,还是提示这个,然后百度,给的答案大多都是一致,下图

zabbix web页面打开提示Database error(已解决)_第2张图片

 

 

我的zabbix-server是yum安装的,没有配置过zabbix.conf.php文件,根据图中描述,所在的路径是网站根目录下的conf/zabbix.conf.php,我去该目录下查看,没有这个php文件,只有个示例文件,有点疑惑,为啥我没配置就可以用?

然后试了试,复制这个文件成zabbix.conf.php 文件,修改数据库,抱着看希望的态度去F5 zabbix的web页面

zabbix web页面打开提示Database error(已解决)_第3张图片

 

然后就nice,还是不行

zabbix web页面打开提示Database error(已解决)_第4张图片

 

后来又试试换个用户,还是不行,然后给zabbix.conf.php文件删了,然后想了一下,之前没配合zabbix.conf.php就可以,应该是自动获取的,提示这个,会不会是/etc/zabbix/zabbix_server.conf文件读不到?没有权限读到用户名密码变量,所以提示这个??

然后去看了一下,然后发现,server文件的属主属组是root,很可能跟这个有关

zabbix web页面打开提示Database error(已解决)_第5张图片

然后我就 chown -R root:zabbix /etc/zabbix ,这样整个/etc/zabbix目录的属主属组就变了,都有权限可以获取到了,然后访问web

页面发生变化,500错误,提示网页加载失败,我当时还真有关,不过为啥报500的错,然后查资料,看日志,没发现什么问题,

然后Apache的错误日志有输出,一些什么Zbse.php,查看文件没问题,都没动过,也没有异常,我忽然想到了什么,看上一图,

是不是有个很熟悉的字眼 apache ,可能是web需要读/etc/zabbix/web目录,而我刚好把这个改了,Apache没有权限了,所以报错500,我试试改回来,再一访问,嘿嘿

zabbix web页面打开提示Database error(已解决)_第6张图片

 

恩,对,没错,它又出来了,俺整个人有点沮丧,放弃了,俺重装总可以吧,先备份一下zabbix_server.conf文件

zabbix web页面打开提示Database error(已解决)_第7张图片

 

啊,朋友再见,啊,朋友再见~

看了一眼,web文件没删,我感觉我需要删了它,感觉它可能是哪个地方有缓存什么的,推倒重来应该是没问题的,

看了一眼,zabbix_server.conf文件没了,然后注意到了/etc/zabbix/web目录,恩?这个小东西是什么?

看到了两个php文件,没当回事,然后我想起了,刚才访问页面500是因为这俩文件访问不到,那这两个应该挺重要,我想了一下

先备份,然后删除,然后我看到了我之前的备份文件,我想着,新的我改了IP和密码,之前的我没记,跟server文件应该没关系了,其他的我也没改,这俩东西对比一下看看有没有变化的?

震惊!!! 俩文件竟然一样,额。。。其实也对哈,这俩文件我都没动过,好奇心驱使下,我打开看看这是什么,然后我就看到了......

zabbix web页面打开提示Database error(已解决)_第8张图片

这个ip和用户名密码是之前的!!!!!不过内容的格式好像有点熟悉

额。。。。卧槽,我想起来了,这特么不就是之前百度上说的不就是zabbix.conf.php???

我忽然明白了,全都明白了,百度上的解决方式,他们可能是源码安装的,所以zabbix.conf.php文件是在网站根目录下,

改了会生效,而我是yum安装的,一切都是官方预设好的,第一次安装会自动获取,所以我没有接触过这个文件,啊,卧槽

,我悟了,然后颤抖的手慢慢打开/etc/zabbix/web/zabbix.conf.php文件果然一样的内容,啊(仰天长啸)~,可算特么的找到你了,不过,我的朋友已经卸载了,MD,晚了一步

zabbix web页面打开提示Database error(已解决)_第9张图片

啊,朋友回来,啊,朋友回来~

然后zabbix_server.conf配置文件复制回去,修改/et/zabbix/web/zabbix.conf.php的数据库用户名密码,带着颤抖的心去打开web页面,然后

zabbix web页面打开提示Database error(已解决)_第10张图片

呜呜呜呜,哥,你终于回来了,我可太难了,

总结一下:

  1. 这次迁移后的web页面还能访问成功,可能是浏览器缓存的问题(我当时F5了)
  2. yum安装的zabbix-server , /etc/zabbix/web 和 /etc/zabbix/zabbix_server.conf的权限要分清楚!!!
  3. 迁移之后要修改的server端配置有两处,zabbix_server.conf和zabbix.conf.php,yum的在/etc/zabbix/web/下,源码的应该是在网站根目录下,如果不是,请find
  4. 出现问题排查要有一个思路和方向,日志信息很重要
  5. 有个良好的心态

 

 

 

 

 

 

 

你可能感兴趣的:(zabbix,那些年我们踩过的坑,Zabbix,监控,运维)