rocky搭建zabbix7.0
时间: 2025-08-23 17:13:22 AIGC 浏览: 22
<think>好的,我现在需要帮用户在Rocky Linux上安装和配置Zabbix 7.0。首先,用户之前提供的指南是关于Zabbix 7.2的,但现在用户需要的是7.0版本。所以我要调整仓库地址和安装步骤,确保使用正确的版本。
首先,回顾用户之前的问题和我的回答,用户可能已经参考了Rocky Linux 9的环境,所以需要确认系统版本是否兼容。根据引用[2],用户提到在Rocky Linux 9上安装Zabbix 7.0,但原来的仓库链接是Rocky 9的,这可能存在问题,因为Zabbix 7.0的仓库可能只支持Rocky 8?需要核实。不过用户提供的引用[2]中给出的仓库链接是https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-latest.el9.noarch.rpm,这可能意味着Zabbix 7.0支持Rocky 9。但通常Rocky 9对应的是RHEL 9,而Zabbix的官方文档可能需要确认版本兼容性。可能存在用户混淆了Rocky版本的情况,需要检查。
接下来,安装步骤大致和之前类似,但需要将7.2的仓库替换为7.0的。根据引用[2]中的命令,用户添加的是7.0的仓库,所以这一步需要调整。然后安装必要的组件,如zabbix-server-mysql、zabbix-web-mysql等。接着配置MySQL数据库,创建用户和导入数据,这部分和之前的步骤类似,但需要注意SQL脚本的路径是否正确,比如proxy.sql还是server.sql,根据引用[3]中的proxy.sql,这可能是在配置proxy时的步骤,而用户需要的是server的安装,所以应该使用server.sql.gz。
然后配置Zabbix Server的配置文件,设置数据库连接信息。Web前端的配置可能需要调整Nginx或Apache,用户之前的指南用的是Nginx,所以继续沿用。PHP参数的设置也需要检查,比如时区、执行时间等。用户之前的示例中提到了更换字体,这可能来自引用[1]中的步骤七,需要包含进来以避免图表乱码。
SELinux和防火墙配置部分需要确保相关端口开放,如80、10050、10051等。此外,用户可能需要注意PHP版本,因为Zabbix 7.0可能需要特定的PHP版本,需要确认Rocky Linux 9默认的PHP是否兼容,或者是否需要额外安装。
还需要考虑用户提到的引用[1]中的步骤,比如安装镜像源并切换PHP,可能需要安装Remi仓库来获取正确的PHP版本。例如,Zabbix 7.0可能需要PHP 8.0或更高版本,而Rocky Linux 9默认可能已经包含合适的版本,但需要确认。
另外,用户之前的回答中提到了MySQL的配置,但有些用户可能更倾向于使用MariaDB,需要明确说明。这里用户明确提到MySQL,所以继续使用MySQL。
最后,注意事项部分需要包括离线安装的方法,如引用[2]中提到的下载所有rpm包,以及Agent2的安装和配置。可能还需要提示用户关于版本兼容性的问题,确保Rocky Linux 9和Zabbix 7.0的兼容性,避免因为仓库错误导致安装失败。
总结步骤:添加正确的7.0仓库,安装必要组件,配置数据库,导入数据,调整服务器和Web配置,处理SELinux和防火墙,更换字体,完成Web安装向导。需要验证每个步骤的命令是否正确,特别是仓库URL和PHP配置部分。同时,检查是否有遗漏的步骤,如字体更换,这在之前的引用[1]中被提到,需加入指南中。</think>### Rocky Linux 上安装 Zabbix 7.0 详细指南(基于 Rocky Linux 9)
---
#### 一、环境准备
1. **系统要求**
- Rocky Linux 9(推荐最小化安装)
- 确保已启用 EPEL 仓库:
```bash
sudo dnf install epel-release -y
```
2. **更新系统**
```bash
sudo dnf update -y
```
---
#### 二、添加 Zabbix 7.0 仓库[^1]
1. **安装仓库包**
根据 Zabbix 官方文档,使用以下命令添加 7.0 版本仓库:
```bash
sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-latest.el9.noarch.rpm
sudo dnf clean all
```
2. **验证仓库状态**
```bash
sudo dnf repolist | grep zabbix
```
应输出类似:
```
zabbix-frontend Zabbix Official Repository - frontend
zabbix-non-supported Zabbix Official Repository non-supported
zabbix-server Zabbix Official Repository - server
```
---
#### 三、安装 Zabbix 服务端与数据库(MySQL/MariaDB)
1. **安装核心组件**
```bash
sudo dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2 -y
```
2. **配置 MySQL 数据库**
- 启动并启用 MySQL:
```bash
sudo systemctl start mysqld && sudo systemctl enable mysqld
```
- 创建数据库和用户:
```sql
mysql -u root -p
> CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
> CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'YourPassword123!';
> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
> FLUSH PRIVILEGES;
> EXIT;
```
- **导入初始数据**:
```bash
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix
```
3. **配置 Zabbix Server**
编辑 `/etc/zabbix/zabbix_server.conf`:
```ini
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=YourPassword123!
```
---
#### 四、配置 Web 前端(Nginx + PHP)
1. **调整 PHP 参数**
编辑 `/etc/php-fpm.d/zabbix.conf`:
```ini
php_value[date.timezone] = Asia/Shanghai
php_value[max_execution_time] = 300
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 16M
```
2. **配置 Nginx 虚拟主机**
编辑 `/etc/nginx/conf.d/zabbix.conf`,确保包含以下内容:
```nginx
server {
listen 8080; # 引用[1]中使用的端口
server_name zabbix.example.com;
root /usr/share/zabbix;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
3. **启动服务**
```bash
sudo systemctl restart zabbix-server zabbix-agent2 nginx php-fpm
sudo systemctl enable zabbix-server zabbix-agent2 nginx php-fpm
```
---
#### 五、解决字体问题(避免图表乱码)[^1]
1. **替换中文字体**
```bash
# 将系统字体复制到 Zabbix 目录
sudo cp /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/zabbix/assets/fonts/
# 重命名原字体文件
sudo mv /usr/share/zabbix/assets/fonts/graphfont.ttf graphfont.ttf.bak
# 链接新字体
sudo ln -s /usr/share/zabbix/assets/fonts/DejaVuSans.ttf /usr/share/zabbix/assets/fonts/graphfont.ttf
```
---
#### 六、完成 Web 安装向导
1. **访问 Web 界面**
浏览器访问 `http://<服务器IP或域名>:8080/`(引用[1]中使用的 8080 端口),按向导操作:
- **数据库类型**:MySQL
- **数据库密码**:填写 `YourPassword123!`
- 完成配置后使用默认账号登录:`Admin` / `zabbix`
---
#### 七、SELinux 与防火墙配置
1. **SELinux 策略**
```bash
sudo setsebool -P httpd_can_connect_zabbix on
sudo setsebool -P zabbix_can_network=1
```
2. **防火墙规则**
```bash
sudo firewall-cmd --permanent --add-port={8080/tcp,10050/tcp,10051/tcp}
sudo firewall-cmd --reload
```
---
### 注意事项
1. **PHP 版本兼容性**:Zabbix 7.0 需要 PHP 8.0+,Rocky Linux 9 默认提供 PHP 8.1,无需额外配置[^2]。
2. **离线安装**:若需离线部署,需提前下载所有 `.rpm` 包至本地目录,执行:
```bash
sudo dnf localinstall ./*.rpm -y
```
3. **监控客户端**:在目标主机安装 Agent2:
```bash
sudo dnf install zabbix-agent2 -y
```
编辑 `/etc/zabbix/zabbix_agent2.conf`,设置 `Server=<Zabbix_Server_IP>`。
---
### 相关问题
1. 如何验证 Zabbix Server 与 Agent2 的通信状态?
2. Zabbix 7.0 与 7.2 版本的主要差异是什么?
3. 如何备份和恢复 Zabbix 的监控配置与历史数据?
4. 如何通过 Zabbix API 实现自动化监控管理?[^3]
: 若遇到图表乱码,需确保字体文件权限为 `644`,并重启 Nginx 服务。
[^2]: 可通过 `php -v` 验证 PHP 版本,若版本过低需通过 Remi 仓库升级。
[^3]: API 文档参考:`https://www.zabbix.com/documentation/7.0/manual/api`。
阅读全文
相关推荐


















