目录

RockyLinux9.7部署Zabbix7.0LTS(server)

系列 - Zabbix学习

RockyLinux9.7部署Zabbix7.0LTS(server)

Note

官方文档:https://www.zabbix.com/download?zabbix=7.0&os_distribution=rocky_linux&os_version=9&components=server_frontend_agent&db=mysql&ws=nginx

安装服务器信息:

主机名 IP 操作系统
zabbix-server 192.168.109.200 Rocky Linux 9.7

创建软件目录:

mkdir -p /software/mysql

官网下载软件包并解压至软件目录:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.45-1.el9.x86_64.rpm-bundle.tar
tar xf  mysql-8.0.45-1.el9.x86_64.rpm-bundle.tar -C /software/mysql
Tip

如果服务器网络不好,可以先下载软件包再上传至服务器。

进入软件目录并安装软件:

cd /software/mysql/
rpm -ivh mysql-community-* --force --nodeps

启动 MySQL 服务并设置开机自启:

systemctl enable --now mysqld

查看服务状态及端口监听:

systemctl status mysqld
netstat -anutp|grep 3306
Note

数据库安装启动成功后,会生成一个临时密码,我们仅能使用该密码登录数据库,也没有操作的权限,必须修改密码。

查看临时密码:

cat /var/log/mysqld.log |grep password

使用临时密码登录数据库并修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Abc123!!';
quit;
Note

默认情况下,设置密码需要足够的长度和复杂度,测试过程中,我们如果想要设置简单的密码,可以在设置完密码后,修改密码复杂度:

set global validate_password.policy=0;
# 0:简单密码,小写字母、数字、字符一类即可,1:中等密码:小写和大写字母、数字、字符任意三种,2:强密码:小写和大写字母、数字、字符都要包含。
set global validate_password.length=6;

再次修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
quit;

错误信息:

error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决方式:

dnf install -y libaio
Note

因为执行过一次数据库初始化操作,所以数据目录 /var/lib/mysql 目录中已有数据文件,再次启动数据库还是会报错(日志目录为 /var/log/mysqld.log ),这时需要将数据目录删除再重新启动数据库服务即可。

添加 Zabbix 软件仓库:

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm
dnf clean all

修改仓库源地址为清华源:

sed -i 's#repo.zabbix.com#mirrors.tuna.tsinghua.edu.cn/zabbix#g' /etc/yum.repos.d/zabbix*.repo

安装 Zabbix 的 server、frontend、agent等组件:

dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

登录 MySQL 创建 Zabbix 所需数据库:

create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'Abc123!!';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;

导入初始化数据(需要输入设置的密码):

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

再次登录 MySQL 关闭 log_bin_trust_function_creators:

set global log_bin_trust_function_creators = 0;
quit;

在配置文件中设置数据库密码:

vim /etc/zabbix/zabbix_server.conf
DBPassword=Abc123!!

如果修改端口和域名,修改 /etc/nginx/conf.d/zabbix.conf 文件内容(默认注释):

# listen 8080;
# server_name example.com;

重启 Zabbix 服务并设置开机自启:

systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm

在浏览器输入访问:

http://192.168.109.200

image-20260410144249858

image-20260410144540458

image-20260410144716372

image-20260410144842252

image-20260410144908991

image-20260410144939153

image-20260410145232046

Web 界面选择中文:

image-20260410145401769

设置中文后,我们会发现图标中有部分中文乱码(小方框)不能正常显示。错误界面:

image-20260410145537038

image-20260410145704282

我们可以将 Windows 电脑上的楷体字体拷贝到服务器的 /usr/share/zabbix/assets/fonts 目录,修改字体指向配置为 simkai:

vim /usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME',           'simkai'); // font file name

重新刷新页面后即可解决乱码问题。正常页面:

image-20260410145917439

如果服务端有异常,可以通过日志进行排错:

tail -f /var/log/zabbix/zabbix_server.log