基于 K8s 的物联网平台运维体系:Ansible+Zabbix 自动化监控与故障自愈(三)—— Zabbix Server 启动排错记

一、实验背景

在上一篇文章中,我们完成了:

  • Ansible 批量管理环境搭建

  • Zabbix Server 6.0 安装

  • MySQL 5.7 数据库配置

  • Zabbix Web 界面安装

本以为 Zabbix Server 能顺利启动,结果却卡住了。Web 界面一直显示 Zabbix server is running: No,后端服务怎么也起不来。

这篇文章完整记录了从 MySQL 版本不兼容到系统表损坏、再到服务配置文件错误的整个排查过程。


二、实验环境

节点 IP 角色
master 192.168.116.168 Zabbix Server + Web + Ansible
node1 192.168.116.169 MySQL 数据库(Zabbix 库)
node2 192.168.116.170 业务节点(物联系统 Pod + Agent)

Zabbix 架构:Server 在 master,数据库在 node1,Agent 在三台机器上。

问题:Zabbix Server 无法启动

现象

Zabbix Web 界面显示 Zabbix server is running: No

复制代码
systemctl status zabbix-server-mysql
# Active: faile

排查过程

1. 查看日志发现 MySQL 版本不兼容

复制代码
tail -50 /var/log/zabbix/zabbix_server.log

日志显示:

复制代码
Unable to start Zabbix server due to unsupported MySQL database version (5.07.44).
Must be at least (8.00.0).

原因:Zabbix Server 6.0 要求 MySQL 8.0+,但 node1 上 MySQL 是 5.7.44。

2. 升级 MySQL 到 8.0

  • 备份 Zabbix 数据库

  • 卸载 MySQL 5.7

  • 安装 MySQL 8.0

  • 获取临时密码并登录

3. 升级后仍然报错

升级后启动 Zabbix Server,日志仍显示 MySQL 5.7 版本错误。原因是日志文件缓存了旧信息。

于是又继续修复日志问题。用sudo -u zabbix /usr/sbin/zabbix_server -f -c /etc/zabbix/zabbix_server.conf命令查看发现Zabbix Server 手动运行是正常的!说明是 systemd 服务文件的问题(问题太多了主播就不一个个截图了)

解决:删除旧日志,重启服务。

4. 确认配置

复制代码
grep -E "DBHost|DBName|DBUserBPassword" /etc/zabbix/zabbix_server.conf

5. 修复 systemd 服务文件

复制代码
# 手动运行测试(成功)
sudo -u zabbix /usr/sbin/zabbix_server -f -c /etc/zabbix/zabbix_server.conf
# 发现服务文件中用户是 zabbixsrv,手动运行时用的是 zabbix

# 修改服务文件
sed -i 's/User=zabbixsrv/User=zabbix/' /usr/lib/systemd/system/zabbix-server-mysql.service
systemctl daemon-reload

结果:服务启动正常。


最终验证

复制代码
systemctl status zabbix-server-mysql
# Active: active (running)

复盘

问题 原因 解决方案
Zabbix Server 启动失败 MySQL 5.7 版本太低 升级到 MySQL 8.0
升级后仍报 5.7 错误 日志缓存未更新 删除旧日志
无法创建 zabbix 用户 MySQL 系统表引擎损坏 修复系统表
systemd 启动失败 服务文件中用户不匹配 统一使用 zabbix 用户
相关推荐
xhtdj5 分钟前
技术采用曲线回望二十年
运维·数据库·人工智能·clickhouse·动态规划
SuperArc19996 分钟前
Grafana相关数据可视化平台基础教程-序言
运维·信息可视化·数据分析·grafana
yyoc9710 分钟前
本地 Flink on K8s + Iceberg + MinIO 实时数仓平台 — AI部署指南与踩坑实录
大数据·ai·flink·kubernetes·iceberg
r-t-H10 分钟前
Docker进阶与容器编排实践-第二章
运维·docker·容器·dockerfile·docker compose·docker网络
爱喝水的鱼丶19 分钟前
SAP-ABAP:SAP多表连接视图实战:内连接/外连接配置逻辑与性能优化技巧
运维·开发语言·学习·性能优化·sap·abap
cgsthtm21 分钟前
Jenkins添加用户和角色并分配相应Job权限
运维·jenkins·jenkins用户·jenkins角色·jenkins权限·jenkins job
mnasd24 分钟前
Gitlab + Jenkins 实现 CICD
运维·gitlab·jenkins
難釋懷30 分钟前
Nginx测试工具charles
运维·nginx·php
云飞云共享云桌面33 分钟前
东莞制造业研发降本方案:1 台云主机承载 10 人 SolidWorks,钣金操作秒响应
linux·运维·服务器·安全·电脑
Mark White37 分钟前
一次 Ubuntu 内核升级翻车的运维记录:从 Kernel Panic 到锁定 6.14 内核
运维·ubuntu