Linux下安装及启动zabbix

一、先下载并安装zabbix的repo.

rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
yum clean all
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent 

出现报错提示:

---> Package libXau.x86_64 0:1.0.8-2.1.el7 will be installed
---> Package zabbix-web.noarch 0:4.2.0-1.el7 will be installed
--> Processing Dependency: php-mbstring for package: zabbix-web-4.2.0-1.el7.noarch
--> Processing Dependency: php-bcmath for package: zabbix-web-4.2.0-1.el7.noarch
--> Finished Dependency Resolution
Error: Package: zabbix-web-4.2.0-1.el7.noarch (zabbix)
           Requires: php-mbstring
Error: Package: zabbix-web-4.2.0-1.el7.noarch (zabbix)
           Requires: php-bcmath
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

这个原因是当前yum源里没 php-mbstring php-bcmath 这两个包,yum search 一下可以确认。
根据网上查询——These packages are in the RHEL “optional” repository.
那么下一步去下载rpm包,或者再增加一个外部yum源:
方法一:http://yum.oracle.com/repo/OracleLinux/OL7/optional/latest/x86_64/

wget http://yum.oracle.com/repo/OracleLinux/OL7/optional/latest/x86_64/getPackage/php-mbstring-5.4.16-46.el7.x86_64.rpm
wget http://yum.oracle.com/repo/OracleLinux/OL7/optional/latest/x86_64/getPackage/php-bcmath-5.4.16-46.el7.x86_64.rpm
rmp -ivh php-mbstring-5.4.16-46.el7.x86_64.rpm
rpm -ivh  php-bcmath-5.4.16-46.el7.x86_64.rpm

又出现报错提示:


warning: php-mbstring-5.4.16-46.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
error: Failed dependencies:
        php-common(x86-64) = 5.4.16-46.el7 is needed by php-mbstring-5.4.16-46.el7.x86_64

不过php-common目前yum源有,直接安装:

yum install -y php-common

安装又报错,提示目前的php-common版本过低,不能安装目前的php-bcmath包:

[root@localhost data]# rpm -ivh php-bcmath-5.4.16-46.el7.x86_64.rpm
warning: php-bcmath-5.4.16-46.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
error: Failed dependencies:
        php-common(x86-64) = 5.4.16-46.el7 is needed by php-bcmath-5.4.16-46.el7.x86_64

所以还是去下一个:http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html

wget http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/php-common-5.4.16-46.el7.x86_64.rpm
rpm -e php-common-5.4.16-42.el7.x86_64
rpm -ivh php-common-5.4.16-46.el7.x86_64.rpm
rpm -ivh php-bcmath-5.4.16-46.el7.x86_64.rpm
rpm -ivh  php-common-5.4.16-46.el7.x86_64.rpm
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent 

报错:

--> Processing Dependency: php-common(x86-64) = 5.4.16-42.el7 for package: php-xml-5.4.16-42.el7.x86_64
--> Finished Dependency Resolution
Error: Package: php-5.4.16-42.el7.x86_64 (base)
           Requires: php-common(x86-64) = 5.4.16-42.el7
           Installed: php-common-5.4.16-46.el7.x86_64 (installed)
               php-common(x86-64) = 5.4.16-46.el7
           Available: php-common-5.4.16-42.el7.x86_64 (base)
               php-common(x86-64) = 5.4.16-42.el7
Error: Package: php-cli-5.4.16-42.el7.x86_64 (base)
           Requires: php-common(x86-64) = 5.4.16-42.el7
           Installed: php-common-5.4.16-46.el7.x86_64 (installed)
               php-common(x86-64) = 5.4.16-46.el7
           Available: php-common-5.4.16-42.el7.x86_64 (base)
               php-common(x86-64) = 5.4.16-42.el7
Error: Package: php-gd-5.4.16-42.el7.x86_64 (base)
           Requires: php-common(x86-64) = 5.4.16-42.el7
           Installed: php-common-5.4.16-46.el7.x86_64 (installed)
               php-common(x86-64) = 5.4.16-46.el7
           Available: php-common-5.4.16-42.el7.x86_64 (base)
               php-common(x86-64) = 5.4.16-42.el7
Error: Package: php-xml-5.4.16-42.el7.x86_64 (base)
           Requires: php-common(x86-64) = 5.4.16-42.el7
           Installed: php-common-5.4.16-46.el7.x86_64 (installed)
               php-common(x86-64) = 5.4.16-46.el7
           Available: php-common-5.4.16-42.el7.x86_64 (base)
               php-common(x86-64) = 5.4.16-42.el7
Error: Package: php-pdo-5.4.16-42.el7.x86_64 (base)
           Requires: php-common(x86-64) = 5.4.16-42.el7
           Installed: php-common-5.4.16-46.el7.x86_64 (installed)
               php-common(x86-64) = 5.4.16-46.el7
           Available: php-common-5.4.16-42.el7.x86_64 (base)
               php-common(x86-64) = 5.4.16-42.el7
Error: Package: php-ldap-5.4.16-42.el7.x86_64 (base)
           Requires: php-common(x86-64) = 5.4.16-42.el7
           Installed: php-common-5.4.16-46.el7.x86_64 (installed)
               php-common(x86-64) = 5.4.16-46.el7
           Available: php-common-5.4.16-42.el7.x86_64 (base)
               php-common(x86-64) = 5.4.16-42.el7
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

这个依赖太麻烦了,决定以目前本地yum源的php版本为基准,然后去下载和本地php-common版本一致的其他rpm包:

rpm -e php-bcmath
rpm -e php-mbstring
rpm -e php-common
rm -rf php*
yum install -y php*
rpm -qa php-common
//这里查询目前的php-common的版本:php-common-5.4.16-42.el7.x86_64
wget http://yum.oracle.com/repo/OracleLinux/OL7/optional/archive/x86_64/getPackage/php-bcmath-5.4.16-42.el7.x86_64.rpm
wget http://yum.oracle.com/repo/OracleLinux/OL7/optional/archive/x86_64/getPackage/php-mbstring-5.4.16-42.el7.x86_64.rpm
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent 

这次安装zabbix终于正常。

方法二:再配置一个外部yum源并安装

wget http://mirrors.aliyun.com/repo/Centos-7.repo
cp Centos-7.repo /etc/yum.repo.d
vim /etc/yum.repo.d/Centos-7.repo
//将repo文件里的$releasever所有替换为目前的redhat版本号,比如7
rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
yum clean all
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent 

二、启动服务:
systemctl start zabbix-server
systemctl start zabbix-agent
systemctl enable zabbix-server
systemctl enable zabbix-agent

三、进行zabbix的初始化配置:

mysql -u root -p 
//输入密码:
xxxx
//创建zabbix数据库和zabbix用户,给予权限
create database zabbix character set utf8 collate utf8_bin;
create user 'zabbix'@'localhost' identified by 'Test@123';
grant all privileges on zabbix.* to zabbix@localhost
//利用zabbix自带的脚本初始化zabbix数据库
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix 
//编辑zabbix数据库密码 
vim /etc/zabbix/zabbix_server.conf
//配置为
DBPassword=Test@123

这个时候重新启动相关zabbix服务,发生报错:

systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd 

查看zabbix报错日志:

 cat /var/log/zabbix/zabbix_server.log
 //报错信息
 ...
  3662:20190414:024445.741 ******************************
  3662:20190414:024445.741 using configuration file: /etc/zabbix/zabbix_server.conf
  3662:20190414:024445.767 [Z3001] connection to database 'zabbix' failed: [2059] Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
  3662:20190414:024445.767 Cannot connect to the database. Exiting...

检查mysql的配置信息:

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.15    |
+-----------+
1 row in set (0.56 sec)

mysql> show variables like 'default_authentication_plugin';
+-------------------------------+-----------------------+
| Variable_name                 | Value                 |
+-------------------------------+-----------------------+
| default_authentication_plugin | caching_sha2_password |
+-------------------------------+-----------------------+
1 row in set (1.07 sec)

经查阅资料,MySQL8.0后版本默认的认证方式是caching_sha2_password ,而老的MySQL版本则为mysql_native_password.
方法一:
修改my.cnf并重启mysqld。
vim my.cnf
[mysqld]
default_authentication_plugin=mysql_native_password
mysql>  select host,user,plugin from mysql.user;
+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session    | caching_sha2_password |
| localhost | mysql.sys        | caching_sha2_password |
| localhost | root             | mysql_native_password |
| localhost | zabbix           | caching_sha2_password |
+-----------+------------------+-----------------------+

方法二:在数据库中修改用户属性

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Test@123'
flush privileges;
select host,user,plugin from mysql.user;  #检查是否生效

但是按照以上两步,修改了root的属性后,还是报一样的错误,于是尝试对zabbix用户的属性也一并修改,

ALTER USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Test@123'
flush privileges;

再次重启zabbix-server,服务正常。

四、配置Zabbix frontend,访问zabbix-server的服务ip:http://server_ip_or_name/zabbix
在这里插入图片描述1、这里报错时区错误,因为配置文件里面的时区出现了问题,系统里默认是欧洲时区,修改为上海时区。

vi /etc/php.ini
//找到如下配置
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =

//修改为
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone =Asia/Shanghai  //注意前面的分号要去掉

2、查看并修改/etc/httpd/conf.d/zabbix.conf配置文件的配置

vi /etc/httpd/conf.d/zabbix.conf
//查看配置
    <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        # php_value date.timezone Europe/Riga
    </IfModule>
    
//修改为
    <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone Asia/Shanghai   //注意去掉“#”号
    </IfModule>

//重启httpd服务,后续无报错
systemctl resteart httpd

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述输入默认zabbix的账号密码登陆:
用户名:Admin A大写
密码:zabbix

其他tips:
如果上面登陆zabbix监控页面时,忘记用户名密码的时候,可以通过登陆数据库去查看用户名、修改密码。

mysql> use zabbix;
mysql> show tables; #查看是否存放用户、密码信息
mysql> select * from users; #发现有passwd的字段
mysql> update  users set passwd=md5("zabbix") where userid='1';  #使用MD5函数进行密码加密
Query OK, 0 rows affected (0.29 sec)
Rows matched: 1  Changed: 0  Warnings: 0

参考文档:
https://blog.csdn.net/qq_41772936/article/details/80873874
https://blog.csdn.net/j15533415886/article/details/79351557
http://www.jiaozn.com/reed/171.html

猜你喜欢

转载自blog.csdn.net/szuwangjl/article/details/89282263