前段时间公司要求做一个监控,综合了下选择了zabbix,但是不是很熟,所以在这上面踩了不少的坑。现在想想当时令人头疼的问题一个个的被自己给KO掉也是个奇迹。借此写下这个博客记录下那些天zabbix上踩过的坑,先总结下来。
提示:configure: error: Not found mysqlclient library 原因:缺少mysql-devel包 解决办法: yum install mysql-devel
2.继续编译安装,结果又出现下面的情况
提示:configure: error: Curl library not found 原因:同样是缺少curl-devel包 解决办法:yum install curl-devel
3.启动zabbix-server 出现如下错误
提示:不能打开/找不到 libmysqlclient.so.18 这个库 原因:搭建lamp的mysql时没有把mysql库加载上去; 解决办法: #echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf # ldconfig
这个一般是不会出错的,除非你自己的lamp又重新给搭建,东西多了自己弄混淆了,没有注意到加载数据库这一点,才会出现这样的错误。
4.web界面配置zabbix出现:
原因:zabbix数据库没有导入到mysql中(第一次装的时候一般不会出现这样的脑残错误的) 解决办法: # mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql # mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql # mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
刷新下可以看到正常了:
5.web界面安装zabbix之php问题
原因: 因为php 5.6 默认的always_populate_raw_post_datais是 0 解决办法: # vim /etc/php.ini
然后重启http服务,刷新下页面就OK了!
6.出现NO:正常安装完zabbix后,登录后zabbix监控报错
zabbix server is not running: the information displayed may not be current,
原因之一:看日志发现自己的zabbix-server配置文件没有写上DBpasswd
解决办法:修改配置文件,添加数据库密码
原因二:selinux是否关闭。一定要关闭这个,开启selinux会引起一连串问题,甚至zabbix的discovery功能也不能正常使用
解决办法:修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。
如果不想重启系统,使用命令setenforce 0
原因三:zabbix web目录下面 $ZBX_SERVER 是否为ip,如果是localhost,ping下localhost是否能解析。如果不能,需要在/etc/hosts文件里增加相应的项目
原因四:未启用fsockopen模块
解决办法:
第一步:
php.ini文件中查找
allow_url_fopen = On
使其值为On
第二步:
php.ini文件中查找
extension=php_openssl.dll
如果前面有分号,去掉分号
第三步:
重启web服务器
7.重启zabbix_server 出错:
无论怎重启都是这样,所以就查看自己的日志发现:
数据库连接不上,再打开zabbix-web的时候神奇的出现了这样的事故:
以为跟6的情况一样就跟着6 的解决办法一个一个试,然并卵!当时想死的心得都有了,但是问题都出来了不解决不行,各种查各种问。当时还以为是socket文件呢,结果我只是猜到了开始,却没有猜中结果。
其实都是它惹的祸:配置文件中DB 设置问题,之前写的是主机的IP
解决办法:
重启服务,再看zabbix-web
好了有木有。经历了这么多麻麻再也不用担心的我zabbix有什么问题了
总结:其实总结了这么多的错误,最终大错特错的就是自己不细心,如果细心点就不会有那么多的事了,可是这世上没有如果,还有就是自己要相信自己可以克服这个问题,问题出现了不要老是问别人,要先经过自己的大脑思考之后实在是得不出什么结果再跟别人探讨,问问题其实是门学问。