1.环境
本实验使用一台centos7主机,关闭了firewalld和selinux服务,zabbix版本为5.0版本,mysql使用版本为5.7版本
若要搭建6.0以上版本的zabbix,则需要使用mysql 8.0以上的版本
其它版本的zabbix可参考zabbix官网:Download and install Zabbix
2.安装数据库
参考:yum安装mysql 5.7_Apex Predator的博客-CSDN博客
3.下载zabbix yum源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
4.安装zabbix的server和agent服务
yum -y install zabbix-server-mysql zabbix-agent
5.安装软件集合
yum -y install centos-release-scl
在安装 zabbix
时,需要安装 centos-release-scl
的主要原因是为了获得 Software Collections (SCL)
软件包。 SCL
允许在 CentOS
系统上安装和运行多个版本的软件包,而不会覆盖系统的默认软件包
在安装 zabbix
的过程中,你可能需要安装一些额外的软件包,这些软件包可能依赖于 SCL
软件包。因此,安装 centos-release-scl
可以确保你的系统具备安装 zabbix
所需的所有依赖项
6.编辑zabbix yum源包
vi /etc/yum.repos.d/zabbix.repo
[zabbix-frontend] #修改enabled项=1,其它均保持不变
enabled=1
7.安装zabbix的php服务和nginx服务
yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl
8.配置数据库
mysql -u root -p
创建名称为zabbix的数据库,并将其字符集设置为 utf8
,排序规则设置为 utf8_bin
CHARACTER SET utf8
:设置数据库的字符集为 utf8
,这意味着该数据库支持存储 Unicode 字符集
COLLATE utf8_bin
:设置数据库的排序规则为 utf8_bin
,这意味着对于字符串比较,将会区分大小写
create database zabbix character set utf8 collate utf8_bin;
创建一个名为zabbix的用户仅本地使用并配置密码
create user zabbix@localhost identified by '密码';
配置zabbix本地用户获得zabbix数据库的所有权限
grant all privileges on zabbix.* to zabbix@localhost;
设置全局系统变量 log_bin_trust_function_creators
的值为 1
在 MySQL 5.7.5 及更高版本中,如果一个非特权用户创建了一个函数,该函数将被视为“不确定的”(uncertain),因为 MySQL 无法确定该函数是否安全。为了防止安全漏洞,MySQL 默认情况下不允许非特权用户创建“不确定的”函数
通过执行 set global log_bin_trust_function_creators = 1
这条语句,可以使 MySQL 信任非特权用户创建的函数,从而允许这些函数被记录到二进制日志中(如果启用了二进制日志记录)
set global log_bin_trust_function_creators=1;
退出数据库
quit;
9.将zabbix建表的sql文件导入到zabbix数据库中
zcat /usr/share/doc/zabbix-server-mysql-5.0.33/create.sql.gz | mysql -u zabbix -p'密码' zabbix
10.关闭mysql允许非特权用户创建“不确定的”函数的功能
mysql -uroot -p
set global log_bin_trust_function_creators = 0;
quit;
11.编辑zabbix server服务的配置文件
vi /etc/zabbix/zabbix_server.conf
#配置此项为mysql zabbix用户的密码
DBPassword=12345678
12.编辑zabbix的nginx服务配置文件
vi /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
listen 80; #配置监听端口为80
server_name 10.1.60.118; #配置为zabbix主机的ip地址
13.编辑zabbix的php服务配置文件
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
listen.acl_users = apache,nginx
php_value[date.timezone] = Asia/Shanghai #需要将最前面的;去除
14.启动zabbix所有服务并配置开机启动
systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
15.访问zabbix web页面并配置
http://10.1.60.118
zabbix默认用户为Admin,密码为zabbix
若是搭建的zabbix有问题可参考:zabbix故障排查_Apex Predator的博客-CSDN博客