zabbix部署安装

本次环境为rockylinux9.6 使用zabbix7.0LTS版本

阿里云镜像站仓库配置指南

1. 手动配置基础仓库

1.1 Rocky Linux 9 基础仓库配置

创建 /etc/yum.repos.d/rocky.repo

ini 复制代码
[baseos]
name=Rocky Linux $releasever - BaseOS
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/BaseOS/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
enabled=1

[appstream]
name=Rocky Linux $releasever - AppStream
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/AppStream/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
enabled=1

[extras]
name=Rocky Linux $releasever - Extras
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/extras/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
enabled=1

1.2 EPEL 仓库配置

创建 /etc/yum.repos.d/epel.repo

ini 复制代码
[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
baseurl=https://mirrors.aliyun.com/epel/$releasever/Everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-$releasever

[epel-debuginfo]
name=Extra Packages for Enterprise Linux $releasever - $basearch - Debug
baseurl=https://mirrors.aliyun.com/epel/$releasever/Everything/$basearch/debug/
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-$releasever

[epel-source]
name=Extra Packages for Enterprise Linux $releasever - $basearch - Source
baseurl=https://mirrors.aliyun.com/epel/$releasever/Everything/SRPMS/
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-$releasever

1.3 Zabbix 仓库配置

根据图片信息,创建 /etc/yum.repos.d/zabbix.repo

ini 复制代码
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/7.0/rhel/9/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-B5333005
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-08EFA7DD
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-79EA5ED4
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX

[zabbix-non-supported]
name=Zabbix Non-Supported Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/9/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-B5333005
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-08EFA7DD
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-79EA5ED4
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX

[zabbix-tools]
name=Zabbix Tools Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix-tools/rhel/9/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-TOOLS

3. GPG 密钥导入及作用

3.1 如何导入 GPG 密钥

bash 复制代码
# 导入 Rocky Linux GPG 密钥
sudo rpm --import https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial

# 导入 EPEL GPG 密钥
sudo rpm --import https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-9

# 导入 Zabbix GPG 密钥(根据地址目录中的最新密钥)
sudo rpm --import https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-B5333005
sudo rpm --import https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-TOOLS

# 导入历史 Zabbix 密钥(可选,确保兼容性)
sudo rpm --import https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-08EFA7DD
sudo rpm --import https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-79EA5ED4
sudo rpm --import https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591
sudo rpm --import https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX

3.2 GPG 密钥的作用

GPG 密钥的主要作用

  1. 验证软件包完整性

    • 确保下载的软件包在传输过程中没有被篡改
    • 防止中间人攻击,确保软件包来源可信
  2. 验证软件包来源

    • 确认软件包来自官方或可信的发布者
    • 防止恶意软件伪装成合法软件包
  3. 数字签名验证

    • 每个 RPM 包都有数字签名
    • GPG 密钥用于验证这些签名的有效性
    • 如果签名验证失败,yum/dnf 会拒绝安装
  4. 建立信任链

    • 确保软件供应链的安全
    • 用户信任 GPG 密钥,密钥信任软件包

从图片中可用的 GPG 密钥

  • RPM-GPG-KEY-ZABBIX-B5333005 (3.1KB, 2024-06-04) - 最新的主密钥
  • RPM-GPG-KEY-ZABBIX-08EFA7DD (3.1KB) - 较新的密钥
  • RPM-GPG-KEY-ZABBIX-79EA5ED4 (1.7KB) - 历史密钥
  • RPM-GPG-KEY-ZABBIX-A14FE591 (1.7KB) - 历史密钥
  • RPM-GPG-KEY-ZABBIX (1.3KB) - 基础密钥
  • RPM-GPG-KEY-ZABBIX-TOOLS (3.1KB, 2024-04-12) - 工具仓库专用密钥
  • zabbix-official-repo-key (8.8KB, 2024-05-23) - 官方仓库密钥文件

4. 配置完成后的操作

4.1 清理并更新缓存

bash 复制代码
# 清理所有缓存
sudo dnf clean all

# 生成新的缓存
sudo dnf makecache

# 验证仓库列表
sudo dnf repolist

4.2 验证仓库配置

bash 复制代码
# 列出所有启用的仓库
sudo dnf repolist enabled

# 测试安装软件包
sudo dnf install -y epel-release
sudo dnf install -y zabbix-agent

4.3 检查密钥导入状态

bash 复制代码
# 查看已导入的 GPG 密钥
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'

# 查看特定密钥
rpm -qi gpg-pubkey-b5333005-*

5. 故障排除

5.1 如果遇到 GPG 密钥错误

bash 复制代码
# 临时禁用 GPG 检查(仅用于测试)
sudo dnf install --nogpgcheck package_name

# 或者编辑仓库文件临时关闭 GPG 检查
sudo sed -i 's/gpgcheck=1/gpgcheck=0/' /etc/yum.repos.d/repo_file.repo

5.2 验证仓库 URL

bash 复制代码
# 测试仓库 URL 是否可达
curl -I https://mirrors.aliyun.com/zabbix/zabbix/7.0/rhel/9/x86_64/repodata/repomd.xml
curl -I https://mirrors.aliyun.com/zabbix/zabbix-tools/rhel/9/x86_64/repodata/repomd.xml
curl -I https://mirrors.aliyun.com/zabbix/non-supported/rhel/9/x86_64/repodata/repomd.xml

通过以上配置,您就完成了阿里云镜像站所有必需仓库的配置,确保了软件包下载的安全性和完整性验证。

6.安装mysql或者 MariaDB

使用 Rocky Linux AppStream 仓库(默认)

bash 复制代码
# 查看可用的 MySQL 模块
sudo dnf module list mysql

# 启用 MySQL 8.0 模块
sudo dnf module enable mysql:8.4

# 安装 MySQL
sudo dnf install -y mysql mysql-server

# 启动服务
sudo systemctl enable --now mysqld

# 查看版本
mysql --version
初始化配置
bash 复制代码
# 运行安全配置脚本
sudo mysql_secure_installation

# 按提示操作,建议:
# 1. 设置 root 密码
# 2. 移除匿名用户 (Y)
# 3. 禁止远程 root 登录 (Y)
# 4. 移除测试数据库 (Y)
# 5. 重新加载权限表 (Y)

安装zabbix组件 参考zabbix官网步骤即可

前面已经操作过了 从2.b开始即可



安装Zabbix server,Web前端,agent

bash 复制代码
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

如果报错gpgkey校验失败之类的 直接忽略吧 想研究的自己慢慢研究

bash 复制代码
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent --nogpgcheck

配置数据库

bash 复制代码
 mysql -uroot -p
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

导入初始架构和数据,系统将提示您输入新创建的密码。

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

为Zabbix server配置数据库 编辑配置文件 /etc/zabbix/zabbix_server.conf找到并修改DBPassword参数

bash 复制代码
# DBName=

DBName=zabbix

### Option: DBSchema
#       Schema name. Used for PostgreSQL.
#
# Mandatory: no
# Default:
# DBSchema=

### Option: DBUser
#       Database user.
#
# Mandatory: no
# Default:
# DBUser=

DBUser=zabbix

### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=wy@941022

为Zabbix前端配置PHP

编辑配置文件 /etc/nginx/conf.d/zabbix.conf 找到server块的listen和servername 取消注释并修改为你的地址和端口

bash 复制代码
server {
        listen          80;
        server_name     _;

        root    /usr/share/zabbix;

        index   index.php;

        location = /favicon.ico {
                log_not_found   off;

启动Zabbix server和agent进程

启动Zabbix server和agent进程,并为它们设置开机自启(你的nginx和mysql也顺带开启)

bash 复制代码
systemctl restart zabbix-server zabbix-agent nginx php-fpm
bash 复制代码
systemctl enable zabbix-server zabbix-agent nginx php-fpm

最后关闭防火墙 修改enforce

bash 复制代码
# 停止firewalld服务
sudo systemctl stop firewalld

# 禁用开机启动
sudo systemctl disable firewalld

# 检查状态
sudo systemctl status firewalld
bash 复制代码
# 查看当前状态
getenforce
# 或
sestatus

# 临时设置为 permissive 模式(重启后恢复)
sudo setenforce 0

# 永久修改(需要重启生效)
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

# 或直接编辑配置文件
sudo vi /etc/selinux/config
# 将 SELINUX=enforcing 改为:
# SELINUX=permissive  (警告模式)
# 或
# SELINUX=disabled    (完全禁用)

最后一步

浏览器访问虚拟机IP地址即可 自动跳转到setup.php 安装向导 完成后会生成配置文件在指定目录

语言不支持中文是我因为rockylinux默认没装中文包 装下

bash 复制代码
# 1. 查看当前已安装的locale
locale -a
# 通常只会看到英文locale,如 en_US.utf8

# 2. 安装中文语言包
sudo dnf install -y glibc-langpack-zh --nogpgcheck

# 3. 再次查看locale,确认中文已安装
locale -a | grep zh_CN
# 应该显示:zh_CN.utf8

刷新浏览器选择中文即可。

然后下一步下一步即可

中文乱码 有很多方框 需要修复下 下载字体 修改字体支持(自己研究下吧)

相关推荐
2301_800256111 小时前
第九章:空间网络模型(空间网络查询、数据模型、Connected、with Recursive、pgRouting)
网络·数据库·算法·postgresql·oracle
霖霖总总2 小时前
[小技巧19]MySQL 权限管理全指南:用户、角色、授权与安全实践
数据库·mysql·安全
heartbeat..6 小时前
Spring AOP 全面详解(通俗易懂 + 核心知识点 + 完整案例)
java·数据库·spring·aop
麦聪聊数据8 小时前
MySQL并发与锁:从“防止超卖”到排查“死锁”
数据库·sql·mysql
AC赳赳老秦9 小时前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek
YMatrix 官方技术社区10 小时前
YMatrix 存储引擎解密:MARS3 存储引擎如何超越传统行存、列存实现“时序+分析“场景性能大幅提升?
开发语言·数据库·时序数据库·数据库架构·智慧工厂·存储引擎·ymatrix
辞砚技术录11 小时前
MySQL面试题——索引2nd
数据库·mysql·面试
linweidong11 小时前
C++thread pool(线程池)设计应关注哪些扩展性问题?
java·数据库·c++
欧亚学术12 小时前
突发!刚刚新增17本期刊被剔除!
数据库·论文·sci·期刊·博士·scopus·发表
黑白极客12 小时前
怎么给字符串字段加索引?日志系统 一条更新语句是怎么执行的
java·数据库·sql·mysql·引擎