部署目录
部署前准备:
1、对于Zabbix的版本选择,主要选择长期稳定版本
版本演变的关系:
1.0–3.0–4.0(LTS)–5.0(LTS)–5.4–6.0(LTS)(2022)(每6个月发布一个新版本)
LTS:Long Time Support 长期版本
提示:centos7之后,mysql默认用的都是MariaDB
2、这里我们直接从官网下载最新版本:这里使用的是5.0版本,根据自己的Linux系统版本,选择相应的服务。
3、实验环境:CentOS 7系统+zabbix5.0+MySQL+Apache
5、zabbix网址
网站链接:http://www.zabbix.com
官方文档:https://www.zabbix.com/documentation
软件包下载地址:http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/
安装部署
本次实验一律使用yum安装,涉及编译和二进制安装,可根据自己需求,自行参考。
1)安装 Zabbix
安装zabbix软件仓库配置,包含了yum配置文件
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum makecache
1.安装 Zabbix 服务器和代理
yum install -y zabbix-server-mysql zabbix-agent
2.安装 Zabbix 前端
启用红帽软件集合
yum install -y centos-release-scl
启用zabbix Web前端存储库
[zabbix-frontend]
enabled=1
安装 Zabbix 前端软件包
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
3.安装 mariadb并初始化数据库
创建mariadb
yum -y install mariadb-server
设置数据库字符集
vim /etc/my.cnf
[mysqld]
charcater-set-server=utf8
启动服务并设置开机自启动
systemctl start mariadb
systemctl enable mariadb
创建数据库账号密码
[root@VM-4-16-centos etc]# mysqladmin -uzabbix password zabbix
[root@VM-4-16-centos etc]# mysql -uzabbix-pzabbix
MariaDB [(none)]> create database zabbix charset utf8 collate utf8_bin; # 创建数据库并设置字符集为utf8
# 设置zabbix数据库权限,允许本机用户访问
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
MariaDB [(none)]> flush privileges; # 刷新权限
导入初始架构和数据,系统将提示您输入新创建的密码
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
4.为Zabbix server配置数据库
[root@VM-4-16-centos zabbix-server-mysql-5.0.23]# egrep -v "(^$|^#)" /etc/zabbix/zabbix_server.conf # 查看配置文件信息
[root@VM-4-16-centos zabbix-server-mysql-5.0.23]# vim /etc/zabbix/zabbix_server.conf
DBHost=127.0.0.1
DBPassword=password # 添加zabbix服务器密码
5.为Zabbix前端配置PHP
/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf, 取消注释并为您设置正确的时区。
; php_value[date.timezone] = Europe/Riga
改为
[root@VM-4-16-centos ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = UTC
6.启动Zabbix server和agent进程
[root@VM-4-16-centos ~]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@VM-4-16-centos ~]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
7. 配置Zabbix前端
游览器打开地址
连接到新安装的Zabbix前端: http://server_ip_or_name/zabbix
2)Zabbix前端配置
1、通过游览器输入地址,点击Next step进入下一步:检查PHP环境是否符合要求
2、连接数据库,一般在这里容易出现问题
3、连接zabbix服务器
4、展示前端页面配置的信息
5、安装完成页面
6、登录zabbix前端
[root@VM-4-16-centos data]# cat /etc/zabbix/web/zabbix.conf.php # 查看前端配置信
前端登录账号密码:
账号:Admin (默认)
密码:zabbix
7、登录成功页面展示
报错分析
1) zabbix前端页面连接数据库失败:
Unable to determine current Zabbix database version: the table “dbversion” was not found.
错误原因:使用的手动解压
[root@VM-4-16-centos my.cnf.d]# cd /usr/share/doc/zabbix-server-mysql-5.0.23/
[root@VM-4-16-centos zabbix-server-mysql-5.0.23]# gunzip create.sql.gz
MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-5.0.23/create.sql;
解决方案:
[root@VM-4-16-centos ~]# cd /usr/share/doc/
[root@VM-4-16-centos doc]# ll zabbix-server-mysql-5.0.23/ -d
drwxr-xr-x 2 root root 4096 May 26 02:39 zabbix-server-mysql-5.0.23/
下面命令版本要和上面查出来的对应:
[root@VM-4-16-centos ~]# zcat /usr/share/doc/zabbix-server-mysql-5.0.23/create.sql.gz | mysql -uzabbix -pzabbix zabbix
2) zabbix前端页面连接数据库失败:
Please create database manually, and set the configuration parameters for connection to this database. Press “Next step” button when done
问题来源:连接mariadb的时候总是连接不上
解决方法:创建zabbix数据库的时候应该这样创建:create database zabbix character set utf8 collate utf8_bin;
collate utf8_bin是以二进制值比较,也就是区分大小写,collate是核对的意思
可进入mariadb数据库后,先删zabbix数据库,在重新创建
drop database zabbix;
create database zabbix charset utf8 collate utf8_bin;
3) zabbix前端页面登录失败
DateTime::__construct(): Invalid date.timezone value ‘Europe/Shanghai’, we selected the timezone ‘UTC’ for now.
解决办法:
[root@VM-4-16-centos ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = UTC # 此处很多文档写修改Europe/Shanghai,已过时不行
4)httpd服务启动失败
Process: 10875 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
原因:编译安装的httpd服务正在占用服务,需要用apachectl stop停止进程,才可以启动yum安装的httpd服务
5)zabbix-server服务启动不了
[root@VM-4-16-centos init.d]# systemctl status zabbix-server
Process: 21961 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=1/FAILURE)
[root@VM-4-16-centos init.d]# journalctl -xe
"StarrTrappers"参数配置问题
解决方案:修改/etc/zabbix/zabbix_server.conf配置文件对应的参数
参考文章
安装及报错的其余场景,可参考以下精品文章,互相学习:
Centos7搭建zabbix6.0
zabbix 源码安装
3 个 Zabbix常见问题的处理方法
CentOS 7+Zabbix5.0+Apache+MariaDB
zabbix图形界面安装及解决异常问题过程(二)
linux 安装zabbix server (zabbix用的数据库为 mariadb,且和zabbix server在一台机器上)
Zabbix详细安装部署(最全)