前置条件
1.使用CentOS7, 单台机器
2.更换yum镜像源
找到CentOS-SCLo-scl.rep文件,打开编辑进行替换
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
# 这里使用清华源,将mirrorlist注销替换成baseurl 下面同上
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/sclo/$basearch/sclo/
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
找到CentOS-SCLo-scl-rh.repo
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/sclo/$basearch/rh/
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-rh
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
# 若安装失败提示类似14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
# 请将yum更换成阿里云镜像源试试看
# rm -rf /etc/yum.repos.d/* 谨慎删除
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
# 缓存阿里云镜像源
yum makecache
# 查看yum源信息
安装mysql
# 1.更新系统上的软件包
yum update -y
# 2.安装Mysql官方源
rpm -Uvh https://repo.mysql.com//mysql80-community-release-el7-5.noarch.rpm
# 3.安装mysql-community-server(--nogpgcheck 是为了避开mysql的GPG密钥,不然安装不了)
yum -y install mysql-community-server --nogpgcheck
# 4.启动服务
systemctl start mysqld
systemctl enable mysqld
# 查看服务状态
systemctl status mysqld
# 5.获取root初始密码,保存备用
grep password /var/log/mysqld.log
# 6.修改root初始密码
#使用初始密码登录
mysql -uroot -p
Enter password:输入初始密码
# 7.在mysql命令行中操作
#修改初始密码为123456,这里自行替换成你自己的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Zabbix@123';
创建Zabbix数据库
#以下是在mysql命令行中操作
#创建zabbix的数据库
create database zabbix character set utf8mb4 collate utf8mb4_bin;
#创建zabbix账户,允许zabbix服务器的IP访问数据库
create user zabbix@localhost identified by 'Zabbix@123';
create user zabbix@192.168.10.100 identified by 'Zabbix@123';
#授权zabbix账户访问数据库
grant all privileges on zabbix.* to zabbix@localhost;
grant all privileges on zabbix.* to zabbix@192.168.10.100;
#开启权限,为后续导入初始数据做准备
set global log_bin_trust_function_creators = 1;
quit;
Zabbix安装
如果之前安装了epel源,需要在epel源中排除zabbix,确保使用Zabbix源安装
#编辑epel源配置文件
vim /etc/yum.repos.d/epel.repo
#在[epel]下添加如下语句
excludepkgs=zabbix*
安装Zabbix官方源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#清理缓存
yum clean all
安装Zabbix server,Web前端,agent
yum install -y zabbix-server-mysql --nogpgcheck
yum install -y zabbix-agent --nogpgcheck
yum install -y centos-release-scl
编辑配置文件 /etc/yum.repos.d/zabbix.repo and enable zabbix-frontend repository.
[zabbix-frontend]
...
enabled=1
...
安装Zabbix前端软件包
yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl
导入初始架构和数据,系统将提示您输入新创建的密码。
# 官方文档提示使用这个命令, 但我们执行会遇到超过了MySQL允许的最大索引长度
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz > a.sql
# 此时进去将348行的索引长度进行修改, 此处不做演示!!!
cat a.sql | mysql -uzabbix -p zabbix
修改配置
# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
为Zabbix server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=password
为Zabbix前端配置PHP
编辑配置文件 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf uncomment and set 'listen' and 'server_name' directives.
listen 8080;
# server_name example.com;
编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf add nginx to listen.acl_users directive.
# 增加nginx
listen.acl_users = apache,nginx
修改时区
; php_value[date.timezone] = Europe/Riga
启动Zabbix server和agent进程
启动Zabbix server和agent进程,并为它们设置开机自启:
#启动程序, 并设置成开机自启
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
# 这时启动失败可以看看程序的日志,我这zabbix-server启动失败是因为mysql问题更改 MySQL 用户认证插件:
#如果 zabbix-server 无法支持 caching_sha2_password 插件,你可以考虑将 MySQL 用户的认证插件更改为 mysql_native_password。这可以通过以下 SQL 命令完成:sql复制代码
ALTER USER 'your_username'@'your_host' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;