下面的步骤基于 Zabbix 7.0 LTS 官方文档
先要系统更新与基础配置
1.更新系统所有包,可以通过xshell或者直接在服务器系统的终端界面中输入以下代码,提示输入密码后系统开始自动更新。
sudo dnf update -y
2.安装 EPEL 仓库,这是为了安装第三方软件源,因为 zabbix 的一些依赖(比如 fping)在默认源中没有。在终端对话框中继续输入下面命令后进行执行。如果提示需要密码,正常输入密码执行。
sudo dnf install -y epel-release
3.配置 EPEL 仓库排除项,在终端输入以下命令并回车,使用 vi 编辑器打开配置文件。
使用键盘的 上下左右方向键 移动光标。
找到 [epel] 这一行(通常在文件开头附近)。
按一下键盘上的 i 键(进入插入/编辑模式,左下角会出现 -- INSERT -- 字样)。
在 [epel] 这一行的下方,输入或粘贴:
excludepkgs=zabbix*
按一下键盘上的 Esc 键(退出编辑模式)。
输入 :wq(注意冒号是英文冒号),然后按回车键,保存并退出。
4.清理缓存,确保新的仓库配置生效。在终端中输入以下命令,然后回弹出结果。就代表缓存清理完成。
sudo dnf clean all && sudo dnf makecache
5.添加zabbix官方仓库并清理DNF缓存,让系统识别新仓库。在终端对话框中依次执行以下命令,(清除缓存建议先导入下一步的密钥在清除缓存)。
# 1. 安装 Zabbix 7.0 LTS 官方仓库配置包
sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.0/alma/9/x86_64/zabbix-release-latest.el9.noarch.rpm
# 2. 清理 DNF 缓存,让系统识别新仓库
sudo dnf clean all
6.导入zabbixGPG密钥,上一步界面我们可以看到“NOKEY”提示,表明我们没有安装GPG密钥,为了避免后续安装相关组件存在错误提示及安装不不成功,可以在终端对话框中输入以下命令。
sudo rpm --import https://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
7.安装 Zabbix Server、Web 前端和 PostgreSQL 客户端
sudo dnf install -y \
zabbix-server-pgsql \
zabbix-web-pgsql \
zabbix-apache-conf \
zabbix-sql-scripts \
zabbix-selinux-policy \
zabbix-agent2 \
postgresql
说明:
zabbix-server-pgsql:Zabbix Server 主程序,带 PostgreSQL 支持。
zabbix-web-pgsql:Web 前端,带 PostgreSQL 支持。
zabbix-apache-conf:Apache 的配置文件。
zabbix-sql-scripts:包含初始化数据库所需的 SQL 脚本。
zabbix-selinux-policy:SELinux 策略,避免权限问题。
zabbix-agent2:用于监控 Zabbix Server 本机。
postgresql:这就是前面提到的 PostgreSQL 客户端工具包,提供 psql 命令。
8.配置防火墙和SElinux,先按照下述命令设置为宽容模式,等待zabbix彻底可以跑通后,在通过切换为enforcing,并进行验证。
# 1. 防火墙放行
sudo firewall-cmd --permanent --add-port=10051/tcp
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload
# 2. SELinux 宽容模式
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
9.配置 Zabbix Server 连接远程 PostgreSQL,输入以下命令打开编辑窗口,再将下列信息进行编辑。我这里数据库是通过1panel安装的。
sudo vi /etc/zabbix/zabbix_server.conf
DBHost=你的PostgreSQL服务器IP
DBName=zabbix
DBUser=zabbix
DBPassword=你在1Panel中设置的密码
10.测试数据库是否链接,先测试连接,再重启服务。
psql -h 192.168.5.207 -U zabbix -d zabbix -c "SELECT version();"
11.导入zabbix数据库表结构。
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | psql -h 192.168.5.207 -U zabbix -d zabbix
12.验证表结构是否导入成功
psql -h 192.168.5.207 -U zabbix -d zabbix -c "\dt"
13.配置 PHP时区
sudo vi /etc/php-fpm.d/zabbix.conf
找到 php_value[date.timezone] 这一行,改成:
php_value[date.timezone] = Asia/Shanghai
14.启动所有服务
sudo systemctl enable --now zabbix-server zabbix-agent2 httpd php-fpm
15.检查 Zabbix Server 状态
sudo systemctl status zabbix-server
16.http://你前面的ip地址/zabbix
,接下来就可以对zabbix进行操作了。