当前位置:首页>Linux>Rocky Linux 9 容器化部署 Zabbix + Grafana 无坑版(小白照抄,一步到位)

Rocky Linux 9 容器化部署 Zabbix + Grafana 无坑版(小白照抄,一步到位)

  • 2026-10-11 08:33:43
Rocky Linux 9 容器化部署 Zabbix + Grafana 无坑版(小白照抄,一步到位)
把上篇坑点整理为无补坑操作,可一次部署成功。

重要约定:全程按顺序执行命令,复制一行执行一行,执行完成再下一行;仅标注【需自定义密码】的位置修改,其余内容完全不动;所有操作均在 Rocky Linux 9 终端执行(远程 SSH 连接即可)。

一、前期准备:镜像下载 + 虚拟机配置(生产级标准)

1. 下载 Rocky Linux 9 镜像(阿里云源,高速稳定)

下载地址:https://mirrors.aliyun.com/rockylinux/9.7/isos/x86_64/

直接下载:Rocky-9.7-x86_64-minimal.iso(最小化镜像,轻量且满足部署需求)

2. 虚拟机硬件配置(按监控规模选择,最低生产级)

推荐测试 / 小规模配置:4C/8G/60G(与原文档一致,适配大部分场景)

3. 虚拟机细节配置(规避环境兼容坑,固定配置)

(1)基础配置

·系统版本选择:Linux →
Red Hat Enterprise Linux 9 64
位(Rocky Linux 9 完美兼容此模板)

·启用硬件虚拟化:CPU → 虚拟化引擎 → 勾选Intel
VT-x/EPT
或AMD-V/RVI(容器运行必备)

·禁用无用设备:USB、声卡、软驱等(节省系统资源,避免冗余占用)

(2)磁盘配置(核心,避免数据丢失 + 权限问题)

·控制器类型:SCSI →
VMware Paravirtual
(性能最优,容器存储推荐)

·磁盘模式:独立 → 持久(防止容器重启 / 服务器重启导致数据丢失)

·分区要求:必须单独划分 /data 分区(≥20GB),用于 Zabbix 数据持久化

(3)网络配置(规避服务访问异常坑)

·网络适配器:VMXNET3(性能远优于 E1000,适合高并发监控)

·IP 配置:静态 IP(禁止 DHCP,避免 IP 变化导致 Zabbix Agent/Grafana 连接失败)

·网络模式:桥接 / 仅主机(根据实际网络环境选择,确保服务器能被本地访问)

二、Rocky Linux 9 系统安装(一步到位,含 SSH 默认开启)

1. 镜像安装步骤(固定操作,无坑点)

1.挂载镜像:将下载的Rocky-9.7-x86_64-minimal.iso挂载到虚拟机光驱,开机启动

2.安装引导:选择Install
Rocky Linux 9
,进入图形化安装界面,语言直接选中文(简体)

3.安装目标(手动分区,按以下配置严格划分,规避磁盘坑):

o/boot/efi:200M,efi 格式(系统引导必备)

o/boot:1GB,xfs 格式(启动文件存储)

oswap:4GB(内存≤8GB 设为内存 1 倍,>8GB 固定设 8GB,避免内存溢出)

o/:15GB,xfs 格式(系统根目录)

o/data:剩余全部空间,xfs 格式(Zabbix 数据专用,必须配置)

✅分区完成后点击「完成」,确认分区变更(无需修改其他磁盘配置)

4.网络和主机名(一次性配置到位):

o开启网卡:点击网卡名称,勾选「开启连接」

o静态 IP 配置:点击「IPv4 设置」→ 方法选「手动」→ 添加 IP / 子网掩码 / 网关 / DNS(例:192.168.20.100/24,DNS 填 223.5.5.5/114.114.114.114)

o主机名:设置为zabbix-server(固定,方便容器识别,无需修改)

✅点击「应用」,确保网络状态显示「已连接」

5.ROOT 密码 + 用户配置(规避 SSH 登录坑):

o设置 ROOT 强密码:例Zabbix@Prod123!(记好,后续远程 SSH 需要)

o关键:无需创建普通用户,直接开启「允许 root 用户使用密码进行 SSH 登录」(安装时直接开启,避免后续补配 SSH)

6.开始安装:点击「开始安装」,等待安装完成(约 5-10 分钟),安装完成后点击「重启系统」

2. 系统重启后验证(无需额外操作,直接可用)

重启后用 ROOT 账号 + 设置的密码登录,终端输入ip a,确认静态 IP 与配置一致;输入ssh
localhost
,确认 SSH 服务正常运行(无需修改任何 SSH 配置,安装时已开启 root 登录)。

三、系统前置准备(一次性解决依赖 + 防护拦截坑)

直接复制以下命令依次执行,注释仅说明作用,无需复制,执行完成无报错即进入下一步:

# 1. 更新系统软件包,解决版本兼容坑

sudo dnf update -y

# 2. 安装必备依赖工具,避免后续容器/命令执行失败

sudo dnf install -y curl policycoreutils-python-utils bind-utils

# 3. 永久关闭防火墙,避免端口拦截(容器部署推荐,新手无坑)

sudo systemctl stop firewalld

sudo systemctl disable firewalld

# 4. 永久关闭SELINUX,避免容器读写/权限拦截坑(重启后仍生效)

sudo setenforce 0

sudo sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config

# 5. 验证SELINUX配置(输出permissive即成功,无需额外操作)

Getenforce

四、安装 Docker + Docker Compose(阿里云源,规避官方源拉取失败坑)

全程使用阿里云镜像源,拒绝官方源连接超时 / 重设问题,命令直接复制执行,一步安装成功:

步骤 1:添加阿里云 Docker 官方源(固定配置,无坑)

# 清理系统原有无效Docker源(若有)

sudo rm -f /etc/yum.repos.d/docker-ce.repo

# 添加Rocky Linux 9适配的阿里云Docker源

sudo tee /etc/yum.repos.d/docker-ce.repo <<-'EOF'

[docker-ce-stable]

name=Docker CE Stable - $basearch

baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/$basearch/stable

enabled=1

gpgcheck=1

gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

EOF

步骤 2:安装 Docker 全套组件(直接安装,无依赖坑)

# 清理缓存并重建,避免旧源干扰

sudo dnf clean all && sudo dnf makecache

# 安装Docker及核心组件(适配Rocky Linux 9)

sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 启动Docker并设置开机自启(容器开机运行必备)

sudo systemctl start docker

sudo systemctl enable docker

# 将当前用户加入docker组,避免每次执行docker输sudo(立即生效)

sudo usermod -aG docker $USER

newgrp docker

# 验证安装(输出版本即成功,无需额外操作)

docker --version

docker compose version

✅验证标准:终端分别输出版本号(如 Docker version 29.3.0、Docker Compose version v5.1.0),无任何报错。

五、配置 Docker 国内镜像源(提前配置,规避容器镜像拉取失败坑)

原部署中启动服务时才发现镜像拉取失败,此处提前配置国内高速镜像源,确保后续 MySQL/Zabbix/Grafana 镜像一次性拉取成功:

# 1. 备份原有Docker配置(若有,无则忽略)

sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak 2>/dev/null || true

# 2. 添加国内高速镜像源(经测试,Rocky Linux 9 完美兼容)

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": [

"https://docker.1ms.run",

"https://docker.nju.edu.cn",

"https://docker.mirrors.sjtug.sjtu.edu.cn"

],

"log-driver": "json-file",

"log-opts": {

"max-size": "100m",

"max-file": "3"

}

}

EOF

# 3. 重启Docker使配置生效

sudo systemctl restart docker

# 4. 验证镜像源配置(显示配置的3个镜像源即成功)

docker info | grep -A 3 "Registry Mirrors"

六、创建项目目录(固定路径,规避权限 + 数据持久化坑)

直接复制执行,创建分层目录用于存放各服务配置和数据,容器删除 / 重启数据不丢失,且提前设置好权限,避免后续容器读写报错:

# 创建Zabbix+Grafana专属目录,分层管理各服务数据

mkdir -p ~/zabbix-grafana/{zabbix-db,zabbix-server,zabbix-web,grafana}

# 设置全权限,彻底规避容器读写权限坑(新手无坑配置)

chmod -R 777 ~/zabbix-grafana/

# 进入项目目录,后续所有操作均在此目录执行(固定,无需修改)

cd ~/zabbix-grafana

✅验证标准:终端路径变为[root@zabbix-server zabbix-grafana]#,无任何报错。

七、创建 docker-compose.yml(无坑版核心配置,仅改 4 处密码)

彻底规避原配置中 Zabbix Web 的 SSL 连接坑、配置文件缺失坑,提前集成DB_SERVER_SSL=false/MYSQL_SSL=false,并优化容器依赖顺序,仅修改标注【需自定义密码】的 4 处,其余内容完全复制,一次性创建成功:

核心修改点(无坑关键)

1.所有服务添加TZ="Asia/Shanghai",统一时区,避免监控时间错乱;

2.Zabbix Web 服务提前添加DB_SERVER_SSL=false/MYSQL_SSL=false,彻底禁用 SSL,避免数据库连接报错;

3.优化容器启动依赖,确保数据库完全健康后再启动 Zabbix,避免启动顺序导致的连接失败;

4.固定镜像版本,避免最新版镜像兼容问题。

无坑版 docker-compose.yml 创建命令(直接复制执行,仅改密码)

cat > docker-compose.yml << EOF

version: '3.8'

services:

# MySQL数据库(Zabbix 7.0专属适配,无兼容坑)

zabbix-db:

image: mysql:8.0

container_name: zabbix-db

environment:

MYSQL_DATABASE: zabbix

MYSQL_USER: zabbix

MYSQL_PASSWORD: Zabbix@123456# 【需自定义密码】Zabbix数据库用户密码,建议强密码

MYSQL_ROOT_PASSWORD: Root@123456# 【需自定义密码】MySQL root密码,建议强密码

MYSQL_INITDB_SKIP_TZINFO: "1"

MYSQL_CHARACTER_SET_SERVER: utf8mb4

MYSQL_COLLATION_SERVER: utf8mb4_bin

TZ: "Asia/Shanghai"

command:

- --default-authentication-plugin=mysql_native_password

- --sql-mode=NO_ENGINE_SUBSTITUTION

- --character-set-server=utf8mb4

- --collation-server=utf8mb4_bin

volumes:

- ./zabbix-db:/var/lib/mysql

restart: unless-stopped

healthcheck:

test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MYSQL_ROOT_PASSWORD"]

interval: 10s

timeout: 5s

retries: 5

# Zabbix Server(提前配置时区,无连接坑)

zabbix-server:

image: zabbix/zabbix-server-mysql:alpine-7.0-latest

container_name: zabbix-server

environment:

DB_SERVER_HOST: "zabbix-db"

MYSQL_DATABASE: "zabbix"

MYSQL_USER: "zabbix"

MYSQL_PASSWORD: Zabbix@123456# 【需自定义密码】与上面MYSQL_PASSWORD完全一致

MYSQL_ROOT_PASSWORD: Root@123456# 【需自定义密码】与上面MYSQL_ROOT_PASSWORD完全一致

ZBX_TIMEOUT: 30

ZBX_LOGLEVEL: 3

TZ: "Asia/Shanghai"

depends_on:

zabbix-db:

condition: service_healthy

ports:

- "10051:10051"

volumes:

- ./zabbix-server/alertscripts:/usr/lib/zabbix/alertscripts

- ./zabbix-server/externalscripts:/usr/lib/zabbix/externalscripts

restart: unless-stopped

# Zabbix Web(核心无坑:禁用SSL,提前配置,避免访问报错)

zabbix-web:

image: zabbix/zabbix-web-nginx-mysql:alpine-7.0-latest

container_name: zabbix-web

environment:

DB_SERVER_HOST: "zabbix-db"

MYSQL_DATABASE: "zabbix"

MYSQL_USER: "zabbix"

MYSQL_PASSWORD: Zabbix@123456# 【需自定义密码】与上面MYSQL_PASSWORD完全一致

ZBX_SERVER_HOST: "zabbix-server"

PHP_TZ: "Asia/Shanghai"

TZ: "Asia/Shanghai"

DB_SERVER_SSL: "false"# 核心:禁用SSL,避免数据库连接报错

MYSQL_SSL: "false"# 核心:禁用SSL,彻底规避SSL证书坑

depends_on:

- zabbix-server

ports:

- "8080:8080"

volumes:

- ./zabbix-web:/etc/zabbix/web

- ./zabbix-web/conf:/usr/share/zabbix/conf# 提前挂载配置目录,避免配置文件缺失

restart: unless-stopped

# Grafana(禁用注册,安全配置,无坑)

grafana:

image: grafana/grafana:latest

container_name: grafana

environment:

GF_SECURITY_ADMIN_PASSWORD: Grafana@123456# 【需自定义密码】Grafana管理员密码,单独设置

GF_USERS_ALLOW_SIGN_UP: "false"

GF_TIMEZONE: "Asia/Shanghai"

ports:

- "3000:3000"

volumes:

- ./grafana:/var/lib/grafana

depends_on:

- zabbix-server

restart: unless-stopped

EOF

密码修改规则(严格遵守,无坑关键)

1.MYSQL_PASSWORD:共 3 处,完全一致,修改后记好;

2.MYSQL_ROOT_PASSWORD:共 2 处,完全一致,修改后记好;

3.GF_SECURITY_ADMIN_PASSWORD:1 处,单独设置,可与 MySQL 密码不同,修改后记好;

4.密码要求:字母 + 数字 + 特殊符号(例:Zabbix@2026、Grafana@Prod666),避免弱密码。

✅验证标准:执行后无任何报错,终端回到[root@zabbix-server
zabbix-grafana]#
,表示配置文件创建成功。

八、启动所有服务(一键启动,无镜像 / 启动坑,一次性成功)

因提前配置了国内镜像源 + 无坑版 docker-compose.yml,直接执行以下命令,一键启动所有服务,无需手动拉取镜像,无需补配任何配置:

# 后台启动所有服务(MySQL/Zabbix Server/Zabbix Web/Grafana)

docker compose up -d

# 查看容器状态(所有容器STATUS为Up/healthy即成功)

docker compose ps

# 检查端口监听(8080/3000/10051端口均LISTEN即成功,服务可访问)

ss -tlnp | grep -E ":(8080|3000|10051)"

启动成功标准(无坑验证,缺一不可)

1.docker compose ps:4 个容器(zabbix-db/zabbix-server/zabbix-web/grafana)的 STATUS 列均为Up或Up (healthy),无Exit/Created状态;

2.ss -tlnp:终端显示 8080、3000、10051 端口均为LISTEN状态,对应 docker-proxy 进程;

3.启动时间:约 3-5 分钟,无需额外等待,直接进入下一步访问。

九、访问 Zabbix + Grafana(无坑登录,一步到位)

将<服务器静态IP>替换为你在第二步配置的静态 IP(例:192.168.20.100),直接在浏览器访问,无任何访问报错,登录信息固定,记好修改后的密码。

1. Zabbix Web 界面(无坑访问,默认账号密码固定)

·访问地址:http://<服务器静态IP>:8080(直接输入,无需修改端口)

·默认登录信息(固定,无需修改):

用户名:Admin(首字母大写,必须准确)

密码:zabbix(全小写,不是自定义密码,登录后立即修改)

·首次登录必做 2 件事(无坑后续):

①改语言:进入「用户设置」→「Profile」→ 语言选择Chinese (zh_CN)→ 点击「更新」;

②改密码:进入「用户设置」→「Change password」→ 输入原密码zabbix→ 输入新强密码(记好,Grafana 集成时需要)→ 点击「更新」。

2. Grafana 界面(无坑登录,密码为自定义密码)

·访问地址:http://<服务器静态IP>:3000(直接输入,无需修改端口)

·登录信息(固定 + 自定义):

用户名:admin(全小写,必须准确)

密码:第七步中自定义的GF_SECURITY_ADMIN_PASSWORD(例:Grafana@123456)

·首次登录:直接点击Skip跳过密码修改(也可按需修改,记好新密码即可)。

十、Zabbix 核心配置(邮件告警 + Agent 监控,无坑版)

1. 邮件告警配置(SMTP,一次性成功,以 163/QQ 邮箱为例)

规避原配置中测试邮件失败、告警不触发坑,步骤固定,参数准确,配置完成立即收到测试邮件:

步骤 1:配置 Email 媒介类型(Zabbix Web 操作)

1.进入 Zabbix Web → 左侧「告警」→「媒介类型」→ 点击「Email」;

2.勾选「已启用」,按以下表格配置 SMTP 参数(严格按邮箱类型填写):

| 配置项 | 163 邮箱 | QQ 邮箱 | 企业邮箱 |

|----------------|---------------|---------------|---------------|

| SMTP 服务器 | smtp.163.com | smtp.qq.com | 企业提供的 SMTP 地址 |

| SMTP 服务器端口 | 465 | 465 | 465/587(企业指定)|

| 安全连接 | SSL/TLS | SSL/TLS | 对应端口选择(企业指定) |

| 认证 | 用户名和密码 | 用户名和密码 | 用户名和密码 |

| 用户名 | 完整 163 邮箱号 | 完整 QQ 邮箱号 | 完整企业邮箱号 |

| 密码 | 163 邮箱授权码 | QQ 邮箱授权码 | 企业邮箱授权码 / 密码 |

| 发件人 | 与用户名一致| 与用户名一致 | 与用户名一致 |

3.·点击「测试」→ 输入收件邮箱 → 点击「发送」,收到测试邮件即配置成功(未收到检查邮箱授权码 / SMTP 参数); 

4.·点击「更新」,保存 Email 媒介配置。

步骤 2:关联告警到管理员(无坑触发)

1.左侧「管理」→「用户」→ 点击Admin(管理员用户);

2.点击「报警媒介」→「添加」;

3.配置项:类型选Email,收件人填你的邮箱,当启用时选1-7,00:00-24:00(7×24 小时告警),严重性选「未分类 - 灾难」(全级别告警);

4.点击「添加」→ 点击「更新」,保存用户告警配置。

步骤 3:启用告警动作(无坑触发通知)

1.左侧「告警」→「动作」→「触发器动作」;

2.找到默认的Report
problems to Zabbix administrators
→ 点击「启用」(灰色变绿色);

3.点击该动作名称 → 「操作」标签页,确认:

o操作类型:发送消息;

o发送到用户组:Zabbix administrators;

o发送到媒介:Email;

4.「恢复操作」标签页,勾选「启用恢复操作」,确认上述配置,点击「更新」;

✅告警配置完成:监控异常时,立即收到邮件通知,无延迟 / 不触发问题。

2. Windows/Linux Agent 监控(无坑添加,一次性识别)

(1)Windows服务器安装 Agent 7.0(无坑版)

1.下载 Agent:https://www.zabbix.com/cn/download_agents?os=Windows&version=7.0+LTS(选择对应系统位数,例:windows-amd64);

2.安装 Agent:双击安装包,一路下一步,关键配置:

oZabbix server IP/DNS:填写你的 Zabbix 服务器静态 IP(例:192.168.20.100);

oHostname:填写唯一主机名(例:Windows-Server-01,无特殊字符,记好);

oAgent listen port:默认 10050(无需修改);

3.启动 Agent:安装完成后,进入「服务」→ 找到Zabbix
Agent
→ 启动并设置为「自动」启动(开机自启);

4.Zabbix Web 添加主机(无坑识别):

①左侧「配置」→「主机」→「创建主机」;

②配置项:

o主机名称:与 Agent 安装时的 Hostname 完全一致(例:Windows-Server-01,大小写一致);

o可见的名称:与主机名称一致;

o主机群组:点击「添加」→ 选Windows(无则创建);

o模板:点击「添加」→ 搜索Template
OS Windows by Zabbix agent
→ 选择添加;

o接口:点击「添加」→ 类型选Agent,IP 地址填 Windows 服务器静态 IP,端口 10050,主接口选「是」;

③点击「添加」,保存主机配置;

✅验证:5 分钟后,左侧「监控」→「主机」,该主机状态为「可用」(绿色),无「不支持」/「不可用」状态。

(2)Linux 服务器 / 本机监控(无坑添加)

1.安装 Agent:按 Zabbix 官方文档安装对应版本 Agent(7.0),配置Server=为 Zabbix 服务器 IP,Hostname=为唯一主机名;

2.Zabbix Web 添加主机:模板选择Template
OS Linux by Zabbix agent
,本机监控额外添加Template
Zabbix Server
,其余配置与Windows 一致;

✅验证标准:主机状态为「可用」(绿色),监控项正常采集数据。

十一、Grafana 集成 Zabbix(无坑可视化,一步到位)

规避原配置中插件安装失败、数据源连接失败坑,步骤固定,参数准确,集成后立即看到 Zabbix 监控数据可视化。

步骤 1:安装 Zabbix 官方插件(终端执行,一次性成功)

确保在~/zabbix-grafana 目录执行(终端路径不变,直接复制命令):

# 进入Grafana容器安装Zabbix插件(国内源,安装成功)

docker exec -it grafana grafana-cli plugins install alexanderzobnin-zabbix-app

# 重启Grafana使插件生效(必须重启,否则插件不显示)

docker restart grafana

# 验证插件安装(显示alexanderzobnin-zabbix-app即成功)

docker exec -it grafana ls /var/lib/grafana/plugins/

步骤 2:配置 Zabbix 数据源(Grafana Web 操作,无坑连接)

1.登录 Grafana → 左侧「连接」→「添加新连接」→ 搜索zabbix→ 选择Zabbix(已安装,直接显示);

2.点击「创建连接」,配置核心无坑参数(严格按以下填写,无需修改):

oName:Zabbix(自定义,方便识别);

oURL:http://zabbix-web:8080/api_jsonrpc.php(容器内默认地址,固定不变,直接复制);

oUsername:Admin(Zabbix 的管理员用户名,首字母大写);

oPassword:Zabbix 登录后修改的新密码(不是默认密码 zabbix,记好);

3.拉到页面最下方,点击「保存并测试」,提示「Zabbix API version 7.0.24」即连接成功(未成功检查密码 / URL)。

步骤 3:导入 Zabbix 监控仪表盘(一键可视化,无坑)

1.Grafana 左侧「仪表板」→「导入」;

2.导入方式(推荐 2 种,任选其一,均无坑):

✅方式 1(官网导入):

o访问 Grafana 官网仪表盘库:https://grafana.com/grafana/dashboards/;

o搜索zabbix,选择适合的仪表盘(筛选「Data Source: Zabbix」),复制仪表盘 ID(例:10241);

o回到 Grafana 导入页面,在「通过grafana.com导入」输入 ID → 点击「加载」→ 选择已配置的Zabbix数据源 → 点击「导入」;

✅方式 2(JSON 文件导入,推荐中文版):

o下载 Zabbix 中文版仪表盘 JSON 文件(网上可搜,适配 Zabbix 7.0);

o回到 Grafana 导入页面,点击「上传文件」→ 选择 JSON 文件 → 选择已配置的Zabbix数据源 → 点击「导入」;

3.导入成功:自动跳转到 Zabbix 监控仪表盘,实时显示 CPU、内存、磁盘、网络等监控数据,无数据缺失 / 加载失败问题。

十二、最终验证(部署成功无坑标志,全满足即完成)

1.Zabbix Web:正常登录,语言为中文,主机状态「可用」,邮件告警测试成功,监控项正常采集数据;

2.Grafana Web:正常登录,Zabbix 数据源连接成功,导入仪表盘后实时显示监控数据,无空白 / 报错;

3.容器状态:docker
compose ps
所有容器均为Up,无重启 / 退出;

4.端口状态:ss -tlnp8080/3000/10051端口均为LISTEN,服务可正常访问;

5.监控告警:手动触发一个监控异常(例:关闭 Windows Agent),能立即收到邮件告警,恢复后收到恢复通知。

十三、日常运维常用命令(无坑版,固定路径执行)

所有命令均在~/zabbix-grafana目录执行(终端路径:[root@zabbix-server
zabbix-grafana]#
),直接复制执行,用于日常维护、重启、日志查看:

# 1. 查看所有容器状态(核心,确认服务是否正常)

docker compose ps

# 2. 重启单个服务(按需,例:重启Zabbix Server/Grafana)

docker restart zabbix-server

docker restart grafana

# 3. 实时查看服务日志(排查问题,按Ctrl+C退出)

docker logs -f zabbix-server# 查看Zabbix Server日志

docker logs -f zabbix-web# 查看Zabbix Web日志

docker logs -f grafana# 查看Grafana日志

# 4. 停止所有服务(不删除数据,容器仍存在)

docker compose stop

# 5. 启动所有服务(停止后重新启动)

docker compose start

# 6. 停止并删除所有服务(谨慎使用,数据仍在目录中)

docker compose down

# 7. 重新启动所有服务(配置修改后生效)

docker compose restart

# 8. 查看Grafana已安装插件

docker exec -it grafana grafana-cli plugins list

十四、无坑部署关键注意事项(永久避坑)

1.全程不修改非标注【需自定义密码】的任何内容,命令直接复制执行,顺序不变;

2.静态 IP 一旦配置,禁止修改,否则 Zabbix Agent/Grafana/ 容器间连接全部失败;

3.自定义密码记好并统一,MySQL 相关密码必须完全一致,避免数据库连接失败;

4.所有数据均存储在~/zabbix-grafana目录,定期备份该目录,避免数据丢失;

5.服务器重启后,容器会自动启动(restart:
unless-stopped
),无需手动启动服务;

6.监控节点超过 500 台时,立即拆分 Zabbix Proxy,避免单服务器性能瓶颈。

部署完成:至此,Rocky Linux 9 容器化部署 Zabbix + Grafana 无坑完成,实现监控数据采集、可视化、邮件告警全流程,后续可按需扩展监控节点、自定义仪表盘,无需再补配任何配置,无任何坑点。

如有不明白的可以再看上篇图文,最近死磕zabbix部署了,后面再测试rocky9直接部署以及grafana可视化具体实现

最新文章

随机文章