上面那个链接,如果你不出错的话,可以一直成功完成整个zabbix的安装。但是在安装过程中会出现各种各样的问题,我就记录下我遇到的一些坑。
1.编译php报错xml2-config not found. Please check your libxml2 installation
解决方法:
检查是否安装了libxm包
[root@XKWB3403 php-5.3.8]# rpm -qa |grep libxml2
libxml2-2.6.26-2.1.12
libxml2-python-2.6.26-2.1.12
重新安装libxml2和libxml2-devel包
yum install libxml2
yum install libxml2-devel -y
安装完之后查找xml2-config文件是否存在
[root@XKWB3403 php-5.3.8]# find / -name "xml2-config"
/usr/bin/xml2-config
如果存在的话重新安装php
[root@XKWB3403 php-5.3.8]# ./configure
2.make: Nothing to be done for `all'
make: Nothing to be done for `all' 解决方法
1.这句提示是说明你已经编译好了,而且没有对代码进行任何改动。
若想重新编译,可以先删除以前编译产生的目标文件:
make clean
然后再
make
2.出现这种情况解决方法:
a.make clean 清除安装时留下的文件
b.在运行一下ldconfig
c.再make 可运行出结果
3.configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/
基本上确定是丢失了什么包所致,上网搜索得到需要事先安装的依赖包。
|
4.解决 nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
使用/usr/local/nginx/sbin/nginx -s reload 重新读取配置文件出错
[root@localhost nginx]/usr/local/nginx/sbin/nginx -s reload
提示 nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
[root@localhost nginx]# cd logs
[root@localhost logs]# ls
access.log error.log nginx-access.log nginx_error.log
果然没有/usr/local/nginx/logs/nginx.pid 文件
解决方法:
[root@localhost nginx]/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
5.mysql]ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
添加用户 insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
报以下的错误 ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value错误
mysql5.1以上版本,我是在5.6版本上操作的。
错语原因:
mysql用户表的中某些字段不能为空,没有默认值,其实是操作错误,mysql添加用户是不能这样直接insert user表的。
解决方法:
正确的添加用户方法:
GRANT USAGE ON *.* TO 'user01'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
用户:user01,密码:123456,这样就添加了一个新的用户,不会出以上的错误了。
这里有一点记得要将localhost换成你的MySQL的ip地址最好不要用local host 因为有可能不在一台服务器。
6.zabbix_agentd.exe [12292]: ERROR: cannot connect to Service Manager: [0x00000005] 鎷掔粷璁块棶銆
原因:CMD运行权限不够。
解决:找到CMD所在目录,C:\Windows\System32,右键cmd.exe,以管理员身份运行。
7.Failed to start SYSV: Nginx is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server
杀掉80端口 然后重启
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
8.解决MySQL ERROR 1130 (HY000): Host '192.168.1.8' is not allowed to connect to this MySQL server
终端登陆mysql,执行一句sql:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.8' IDENTIFIED BY 'www.linuxidc.com' WITH GRANT OPTION;
其中'www.linuxidc.com'就是设定连接密码了,然后192.168.1.8就可以连接了,简单有效,不是任意主机都可连,也安全一些。
9.ERROR: cannot add user parameter 一般只有种可能 就是参数重复了
解决方案 一样是参数重复
[root@zabbix01 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@zabbix01 zabbix_agentd.d]# ll
-rw-r–r–. 1 root root 1531 Mar 2 09:55 userparameter_mysql.conf
[root@zabbix01 zabbix_agentd.d]# mv userparameter_mysql.conf userparameter_mysql.conf.bak
重启agent后解决
10.Warning: Using a password on the command line interface can be insecure.
最后实验成功的方法是:将mysqladmin的警告信息重定向到/dev/null,忽略掉告警信息。
将红色的加上(在每一个grep前面加上)
Com_update) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status 2>/dev/null|grep -w "Com_update"|cut -d"|" -f3` echo $result ;;