Loading

centos7编译安装Zabbix-4.2.4及配置文件修改

Zabbix-4.2.4安装及配置

此安装基于centos7的LNMP环境下,如未安装LNMP还可参考本人其他随笔

 

第一步:上传下载

1、前往https://www.zabbix.com/download_sources下载4.2.4

 

 

2、下载完成后上传至服务器

yum -y install lrzsz
rz
选择压缩包,点击确定

 

3、解压:

tar zxvf zabbix-4.2.4.tar.gz -C /root/

 

4、进入、创建用户、用户组

cd zabbix-4.2.4/
groupadd zabbix
useradd -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

 

第二步:数据库创建zabbix库

1、进入数据库:

mysql -uroot -p
use mysql

 

2、创建数据库:

create database zabbix character set utf8 collate utf8_bin;

 

3、创建用户:

create user zabbix@localhost identified by 'zabbix1';

 

4、导入数据:

source /root/zabbix-4.2.4/database/mysql/schema.sql
source /root/zabbix-4.2.4/database/mysql/images.sql
source /root/zabbix-4.2.4/database/mysql/data.sql

 

5、授权用户:

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

 

6、刷新权限:

flush privileges;

 

7、查看是否创建成功:

show databases;

 

8、quit 退出

 

第三步:开始安装

1、检查环境:

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-libcurl --with-libxml2

报错1:找不到libevent

 

安装libevent libevent-devel

yum -y install libevent libevent-devel

 

安装完毕后重新检查环境,检查完毕!

 

 

2、编译安装:

make && make install

 

第三步:zabbix_service配置

1、将zabbix服务放至nginx下的html目录下,并更名为zabbix

cp -R /root/zabbix-4.2.4/frontends/php /usr/local/nginx/html/zabbix

 

2、复制启动脚本

cd /root/zabbix-4.2.4/misc/init.d/fedora/core
cp -a zabbix_server /etc/init.d/
cp -a zabbix_agent /etc/init.d/

 

3、修改zabbix_server启动脚本

vim /etc/init.d/zabbix_server     

修改路径为如图所示

 

 

vim /etc/init.d/zabbix_agent  

做与zabbix_server相同的修改

 

4、对zabbix_server.conf与zabbix_agent.conf做修改

vim /usr/local/zabbix/etc/zabbix_server.conf

 

将数据库的主机地址、用户名、密码等填写正确

 

DBSocket可以注释掉不管,如启服务时报sock的错,可进行修改为在即mysql的sock文件所在路径,之后wq保存退出。

 

再来编辑zabbix_agent.conf

vim /usr/local/zabbix/etc/zabbix_agentd.conf

修改server、ServerActive和hostname

 

其中hostname要与本机主机名相同,主机名查看方法:shell中输入hostname

 

 

5、启动服务

service zabbix_server start

启动服务报错:没有找到这个libmysqlclient.so.21这个函数库

 

查找一下这个库在哪里:

locate libmysqlclient.so.21

 

将这个路径添加到 /etc/ld.so.conf文件中:

echo "/usr/local/mysql/lib" >> /etc/ld.so.conf

#更新函数库:
ldconfig

 

6、重新进行启动服务

service zabbix_server start
service zabbix_agent start

netstat
-tunlp (查看是否启动成功)

 

添加开机自启

chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
chkconfig --level 2345 zabbix_server on
chkconfig --level 2345 zabbix_agentd on
chkconfig --list

ok,设置完毕后,打开浏览器,进入zabbix的安装界面

浏览器输入:

[本机ip]/zabbix             然后回车

 

进入后进行web页安装:

第一步:Next

 

第二步:

 

配置错误的参数:

根据它的提示修改便可,后边也给出了推荐值,将配置文件中的选项改成其推荐值即可

vim /usr/local/php/etc/php.ini

1、

2、

3、

修改后发现还是不起作用,以为自己改错了,反复核对没有问题,终于找到了答案。。

执行php -i | grep 'php.ini'

查看你所执行的php.ini文件是哪个路径下的php.ini

发现果然修改错了,将php.ini文件移动到/usr.local.php/lib/下:

cd /usr/local/php/etc/

mv php.ini ../lib/

 

重启nginx和php:

service php-fpm restart

service nginx restart

 

重新打开网页,全部成绿色,开始Next

 

 

第三步:输入之前创建的mysql账号密码,Next,发现报错(一共报错两个,第二个未截图)

第一个:Error connecting to database: No nush file or directory

第二个:The server requested authentication method unknown to the client

 

第三步的这个报错困扰了我一天,百度一天都没有结果,在我都快要放弃重新安装的时候,希望的曙光来临了!

 

终于查到了一个资料,原来,是由于新版本mysql账号密码解锁的机制不一致导致的,新版本中mysql解锁机制为caching_sha2_password,而旧版本中是mysql_native_password,影响了服务器与和客户端的兼容性问题,所以我们先将验证方式更改为以前的mysql_native_password即可。

解决方法:

1、删除之前创建的用户:

delete from user where user='zabbix' and host='localhost';

 

2、进入mysql的配置文件

vim /etc/my.cnf,加入下行:

default_authentication_plugin=mysql_native_password

 

3、重启mysql服务,再重新进入mysql创建zabbix用户

mysql -uroot -p   输入密码

mysql中操作:
use mysql;
create user zabbix@localhost identified by 'zabbix1';  创建用户
grant all privileges on zabbix.* to zabbix@localhost;  授权

 

4、设置zabbix用户和root用户可以远程连接

update user set host='%' where user='root';

update user set host='%' where user='zabbix';

flush privileges;  刷新权限

select host, user, authentication_string, plugin from user;  查看是否设置成功

 

这样就代表成功了,执行quit   退出

 

5、mysql重新创建完之后还要注意修改一下zabbix_server.conf

vim /usr/local/zabbix/etc/zabbix_server.conf

将这几个选项相对的填写正确,其中DBSocket的路径需要修改以下填写自己的,其实DBSocket并无大碍,前几个都设置好后,如果能够正常Next,就不用设置DBSocket。

 

再将默认路径下的zabbix中conf目录及以下的文件权限设定为777

chmod -R 777 conf

 

6、最后再重启以下mysql和php-fpm。

再重新进入web页测试,将此步骤中中的database host更改为127.0.0.1

点击Next step,ok成功

 

第四步:额。。忘记截图了,不过不重要,只是将自己的服务名字写上去就好,我填的zabbix_server

 

第五步:完成安装

点击Finish

默认账户Admin

密码:zabbix    进行登录

 

第六步:进行汉化

1、进入html/zabbix/include/locales.inc.php文件中,后边为ture就为支持

 

2、点击右上角小人,选择中文,点击Update。完后汉化

 

3、更改后,如果发现有的地方是乱码,或者是没更改过来,可进行以下操作:

随便选择一个自己喜欢的字体

 

 

vim /usr/local/nginx/html/zabbix/includedefines.inc.php

查看此保存字体的目录在哪

然后在windows下选择一个自己喜欢的字体传到此目录下

将文件的ZBX_GRAPH_FONT_NAME更改为你上传的字体名字,保存,重启zabbix即可

 

posted @ 2019-10-18 23:25  塔克拉玛攻城狮  阅读(1396)  评论(0编辑  收藏  举报