前提条件:用源码安装MySQL(上面文章有)
本文使用的操作系统为CentOS8 Stream
1 安装 Zabbix repository
[root@172-2-25-60 bin]# cd /etc/yum.repos.d/
[root@172-2-25-60 yum.repos.d]# rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
[root@172-2-25-60 yum.repos.d]# yum clean all
[root@172-2-25-60 yum.repos.d]# yum makecache
图1 下载zabbix 的安装源并生成缓存
2 安装 Zabbix server,Web 前端,agent
[root@172-2-25-60 yum.repos.d]# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
图2 安装所需的依赖软件
3.创建初始数据库
[root@172-2-25-60 yum.repos.d]# /usr/local/mysql/bin/mysql -uroot -p
图3-1 进入到数据库中
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'zabbix123';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
create database zabbix character set utf8mb4 collate utf8mb4_bin
这条命令在MySQL中创建了一个名为'zabbix'的数据库,并设定其字符集为'utf8mb4',字符排序规则为'utf8mb4_bin'
create user zabbix@localhost identified by 'zabbix123'
这条命令创建了一个新的MySQL用户,用户名为'zabbix',密码为'zabbix123',该用户只能从本地主机(localhost)连接到MySQL服务器
grant all privileges on zabbix.* to zabbix@localhost"
这条命令授予了'zabbix'用户对'zabbix'数据库中的所有表的所有权限。这些权限包括SELECT, INSERT, UPDATE, DELETE等
set global log_bin_trust_function_creators = 1
这条命令设置了全局系统变量'log_bin_trust_function_creators'的值为1。当此变量设置为1时,二进制日志不再记录每个函数/存储程序的创建语句,#这可能会提高写操作的性能
图3-2 创建初始数据库
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | /usr/local/mysql/bin/mysql --default-character-set=utf8mb4 -uroot -p zabbix
图3-3 导入初始架构和数据
4.MySQL 服务器 zabbix 基础配置参数说明
[root@172-2-25-60 yum.repos.d]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak
[root@172-2-25-60 yum.repos.d]# cd /etc/zabbix/
[root@172-2-25-60 zabbix]# sed -i '/^#/d' zabbix_server.conf
图4-1 修改zabbix配置文件
[root@172-2-25-60 ~]# cd /etc/zabbix/
[root@172-2-25-60 zabbix]# cat zabbix_server.conf
DBPassword=zabbix123
DBSocket=/tmp/mysql.sock
ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/run/zabbix/zabbix_server.pid
SocketDir=/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix123
DBSocket=/tmp/mysql.sock
StartPollers=5
StartTrappers=5
StartDiscoverers=1
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
ListenIP=0.0.0.0
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
图4-1 在配置文件前面加入上面所写的配置文件
# 编辑配置文件/etc/nginx/conf.d/zabbix.conf,去掉注释(#)
#listen 8080;
#server_name example.com;
图4-2 修改zabbix.conf配置文件
配置完成后,启动进程并设置开机自启(前提是安装nginx)
# 启动服务
systemctl restart zabbix-server zabbix-agent nginx php-fpm
# 开机自启
systemctl enable zabbix-server zabbix-agent nginx php-fpm
图4-3 启动相应服务并设置开机自启动
5.关闭防火墙
[root@172-2-25-60 zabbix]# systemctl stop firewalld
[root@172-2-25-60 zabbix]# systemctl enable firewalld.service
[root@172-2-25-60 zabbix]# getenforce
Permissive
[root@172-2-25-60 zabbix]# setenforce 0
图5 关闭防火墙
6.访问 Zabbix Web 报 PHP 版本错误及解决方法
图6-1 在浏览器访问Zabbix报错
首先安装 Remi 仓库
dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
图6-2 导入remi仓库
wget http://mirrors.aliyun.com/repo/Centos-8.repo
图6-3 导入阿里源仓库
[root@172-2-25-60 yum.repos.d]# yum makecache
图6-4 生成缓存
[root@172-2-25-60 yum.repos.d]# dnf module reset php
图6-5 重置PHP
dnf module enable php:7.4
图6-6 启用PHP:7.4(默认是7.2)
图6-7 安装php,这回就是7.4版本了
sudo dnf module reset php
sudo dnf module enable php:remi-7.4
sudo dnf install php php-opcache php-gd php-curl php-mysqlnd
图6-8 安装依赖软件包
6.9 访问成功
7.访问 Zabbix Web 报数据库连接错误
图7-1 调成中文
图7-2 数据库连接错误
7-1 错误
7-1-1 MySQL 用户的主机没有设置为%或具体的 IP 地址
[root@172-2-25-60 yum.repos.d]# /usr/local/mysql/bin/mysql -uroot -p
mysql> SELECT Host FROM mysql.user WHERE User='zabbix';
图7-3 Host显示的localhost
这种情况下只有主机可以连接,可以把localhost修改为%,表示允许任何主机进行连接
mysql> UPDATE mysql.user SET Host='%' WHERE User='zabbix';
mysql> SELECT Host FROM mysql.user WHERE User='zabbix';
图7-4 Host显示%
7-1-2 MySQL 数据库没有授权 zabbix 用户远程连接的权限
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';在之前创建过
图7-5 刷新授权表
图7-6 成功连接数据库
8.再次访问Zabbix Web
图8-1 我的主机名为Zabbix-Server1
图8-2 服务器主机名称和Zabbix主机名称相同
图8-3 点击下一步
图8-4 Zabbix Web成功配置
默认配置文件在/etc/zabbix/web/zabbix.conf.php
图8-5 默认用户名为Admin 密码为zabbix
图8-6 进入成功页面