基于 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 用户
相关推荐
我星期八休息1 小时前
Linux系统编程—库制作与原理
linux·运维·服务器·数据结构·人工智能·python·散列表
William.csj1 小时前
服务器——交互式 NVIDIA GPU 监控工具
运维·服务器
Elastic 中国社区官方博客1 小时前
Elasticsearch 下采样方法:最后值采样 vs. 聚合采样
大数据·运维·elasticsearch·搜索引擎·全文检索
大明者省1 小时前
Ubuntu22.04 宝塔面板与 XFCE 远程桌面端口兼容性分析
运维·服务器·数据库·笔记
s_w.h2 小时前
【 linux 】认识make和makefile
linux·运维·bash
代码熬夜敲Q2 小时前
Docker基础
运维·docker·容器
Harm灬小海2 小时前
【云计算学习之路】学习Centos7系统-Linux软件包管理
linux·运维·服务器·学习·云计算·yum·rpm
淼淼爱喝水2 小时前
Ansible 变量管理实验
ansible·自动化运维
谪星·阿凯2 小时前
Linux提权全攻略博客
linux·运维·服务器·网络安全