zabbix部署踩坑记录

 

服务器:阿里云Centos 7.6     数据库:MySQL5.6 

1,grant all privileges on zabbix.* to zabbix@localhost;

提示ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'zabbix'

查看root用户有没有授权权限
select host,user,grant_priv,Super_priv from mysql.user;

+-----------+----------+------------+------------+
| host      | user     | grant_priv | Super_priv |
+-----------+----------+------------+------------+
| 127.0.0.1 | root     | Y          | Y          |
| %         | root     | N          | N          |    |
+-----------+----------+------------+------------+
可以看到%的grant_priv的值为N,也就是说root用户不能授权给其他用户,所以我们需要把这个值改为Y
mysql> update mysql.user set grant_priv='N' where host='%';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
改完之后最好重启一下服务器(没重启的话,还是会报那个错,重启后就正常了)
systemctl restart mysqld.service


2,执行zabbix-server-mysql的sql脚本时报错

ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes 

超出索引字节的限制,并不是指字段长度限制。在官方文档Limits on InnoDB Tables有关于这方面的介绍、描述

https://dev.mysql.com/doc/refman/5.6/en/create-index.html

 

这个问题搞了很久,同一个sql脚本,我在其他服务器上也尝试了下,在MySQL5.7版本上和5.6版本表现不一样

navicat连接数据库,设计表-选项,行格式(row_format)

在5.6上执行sql脚本,结果为COMPACT,在5.7上结果为DYNAMIC,怀疑是数据库版本的限制

 

 

 

3,进入ip/zabbix,配置数据库连接时一直连不上

既然是数据库连不上,就着重检查几个配置文件:

先检测zabbix_server.conf

DBhost:服务器的ip

DBName:zabbix

DBUser:zabbix

DBPort:3306

DBPassword:数据库zabbix用户的密码

看都是正常的,用mysql -uzabbix -p也能连上mysql

 

这儿又是一个大坑 ,在网上查了才发现是还有一个文件没配置

先进入/etc/zabbix,有一个web目录,cd web

下面有个zabbix.conf.php.example,把它改为zabbix.conf.php

 

 

 vim zabbix.conf.php

注意:这里的DB_PORT是0,和初始化配置zabbix前端时,填的那个端口一致

我改成3306,前端也填3306时就一直不行

下面的密码就是数据库zabbix用户的密码

DB_SERVER也要填localhost,我改成服务器的ip就不行

 

 

 ZBX_SERVER就填服务器的ip,ZBXPORT填10051

 

 

 另外还要在阿里云控制台上先把10050和10051端口打开

 

重启server和agent进程

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm

这会终于能完成初始化了

 

4,前端显示zabbix server is not running: the information displayed may not be current!

 服务器运行状态显示为否

查看日志 tail -200 /var/log/zabbix/zabbix_server.log

 

 

 显示连接不上数据库,用mysql -uzabbix -p是能够连上的

这种问题一般是权限不够造成的,

 

这里我用了个粗暴的方法,先进入navicat,修改mysql数据库的user表

 

 将zabbix用户的 host改为%

进入数据库

mysql -uroot -p

use mysql

select host,user,grant_priv,Super_priv from mysql.user;

 

+----------+-----------+------------+------------+
| user     | host      | Grant_priv | super_priv |
+----------+-----------+------------+------------+
| root     | 127.0.0.1 | Y          | Y          |
| root     | localhost | Y          | Y          |
| %        | zabbix    | N          | N          |
+----------+-----------+------------+------------+

 

grant all privileges on zabbix.* to zabbix@'%';

flush privileges;

再看已经不报错了

 

5. 修改zabbix_agentd.conf会导致zax掉线

因为只有一台机器,

Server=127.0.0.1

ListenPort=10050

Hostname=Zabbix Server

ServerActive是注释掉的

但如果将Server改为阿里云服务器ip,Hostname也修改,就重启server和agent就会显示不可用

Received empty response from Zabbix Agent at [ip:10050]. Assuming that agent dropped connection because of access permission

 

 

 

在其他机器上部署zabbix_agent

 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

yum install  zabbix-agent

cd /etc/zabbix  vim zabbix_agentd.conf

修改server,serverActive,hostname,userParameter

systemctl enable zabbix-agent  

systemctl start zabbix-agent

在zabbix服务器前端添加主机

注意:主机添加后ZBX是灰色的,要先给这个主机添加一个监控项才会变绿色

 

 

参考资料:1.https://www.cnblogs.com/kerrycode/p/9680881.html

2.https://dev.mysql.com/doc/refman/5.6/en/create-index.html

3.https://www.cnblogs.com/biaopei/p/8376941.html

4.https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=red_hat_enterprise_linux&os_version=7&db=mysql

posted @ 2021-10-11 19:47  穆罕默德的小羊  阅读(1527)  评论(0)    收藏  举报