even
even
发布于 2026-03-24 / 14 阅读
0
0

Zabbix(Server) 再次安装实践记录:从环境准备到监控验证

1. 前言 / 背景

最近准备重新梳理监控平台的部署流程,因此决定再次安装一遍 Zabbix,并把全过程记录下来。一方面方便自己后续复盘,另一方面也希望整理成一篇可以直接复现的教程。

同时根据官网文档:

  • 对于 Apache: http://<server_ip_or_name>/zabbix

  • 对于 Nginx: http://<server_ip_or_name>

我觉得第一种访问方式不够优雅,所以我打算按照第二种方式,再部署一次。

By the way,everything is for fun.

2. 环境说明

  • OS:Rocky Linux 9

  • Zabbix:7.0 LTS

  • DB:MySQL 8.0

  • Web:Nginx

  • 部署方式:官方仓库安装

  • 网络环境:内网,反代至公网

3. 安装目标

根据你的当前环节,选择配置平台。

image-HSrX.png

4. 安装前准备

升级本机的系统组件,并清除缓存,如果有引入EPEL包,需要移除包内对Zabbix的索引,并添加官方索引。

确保网络通畅。

5. 具体安装步骤

5.1. 升级组件包,清除缓存

dnf update -y

clean all

image-KqRl.png

5.2. 检查是否安装额外的第三方包

image-bMaj.png

5.3. 移除第三方包中的zabbix索引

Edit file /etc/yum.repos.d/epel.repo

[epel]
...
excludepkgs=zabbix*

image-XhJs.png

5.4. 添加官方zabbix源

# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm
# dnf clean all

验证一下,确保索引得zabbix均来自官方仓库。

dnf list 'zabbix'

image-RxTY.png

5.5. 复制官网安装命令-Nginx

本次我选择用NG作网页显示。

# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

image-WVjO.png

5.6. 安装数据库-Mysql

MySQL 官方说明,EL9 用 MySQL Yum Repository 安装,默认启用的是 MySQL 8.4 LTS

dnf install -y https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm

dnf install -y mysql-community-server

systemctl enable mysqld --now

最后检查一下状态

systemctl status mysqld

image-GJOk.png

5.7. 配置数据库

5.7.1. 获取临时密码

grep 'temporary password' /var/log/mysqld.log

_uRhmYycg3>n

5.7.2. 创建Zabbix数据库和用户

create database zabbix character set utf8mb4 collate utf8mb4_bin;

create user zabbix@localhost identified by '*******';

grant all privileges on zabbix.* to zabbix@localhost;

set global log_bin_trust_function_creators = 1;

quit;

image-sYLw.png

5.7.3. 导入zabbix初始结构

# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

6. 配置说明

6.1. 配置zabbix_server.conf

Edit file /etc/zabbix/zabbix_server.conf

DBPassword=password

6.2. 配置防火墙

firewall-cmd --permanent --add-service=http

firewall-cmd --permanent --add-service=https

firewall-cmd --permanent --add-port=10051/tcp

firewall-cmd --permanent --add-port=10050/tcp

firewall-cmd --reload

6.3. 配置SELINUX

根据官方文档:若安装完成后页面无法访问、服务异常但日志不明显,可先临时放宽 SELinux 验证是否与策略有关。

image-HrlO.png

7. 启动与验证

7.1. 启动与开机自启

# systemctl restart zabbix-server zabbix-agent nginx php-fpm
# systemctl enable zabbix-server zabbix-agent nginx php-fpm

7.2. 导入中文字符集

dnf install -y glibc-langpack-zh

systemctl restart nginx php-fpm

此时已经可选中文进行配置。

image-OcIe.png

根据步骤进行配置,安装完结。

image-sVbZ.png
image-SJtR.png

8. 问题排查 / 踩坑记录

8.1. 因错误选择系统版本,导致导入了错误的RPM包

安装zabbix需严格对应自己当前操作系统的版本,这样官方页面给出的rpm包才会正确对应,在后续的安装中才不会出错。

8.2. 初始化数据后,忘记导入zabbix初始数据库

可以通过查询报错日志,根据日志信息排错

tail -n 50 /var/log/zabbix/zabbix_server.log

9. 最终效果

image-zUdh.png

10. 总结与复盘

此刻是2026年,有人说,zabbix已经落伍了。我查看它的官网信息,它已经发展了20年,整整20年,它也该落伍了。

image-LvJN.png

但是当我启动进入zabbix那个页面,一种说不清的熟悉的感觉,是windows xp的感觉,浓厚的微机风格。

我想说,你这个感觉,其实很准。

接下来,让我们一起聊聊这款经常监控软件

Zabbix 一打开,会有一种很强的“老牌系统”气质:不是那种今天流行的、圆角很大、动画很多、强调体验愉悦的 SaaS 风格,而是一种很朴素、很直接、很“机房”的界面语言。它给人的不是“产品感”,而是“工具感”。这种熟悉感,很像很多人第一次接触运维、网络、机房、Windows XP 时代软件时的审美残留。它不讨好你,但它想把系统状态老老实实摆在你面前。这个气质,某种意义上就是它历史的一部分。

如果从历史上讲,Zabbix 并不是 2005 年才开始,而是更早。官方和公开资料都提到,第一个 Zabbix 版本在 2001 年就已经出现,最初是 Alexei Vladishev 做出来的一个监控工具;2005 年成立 Zabbix 公司,开始把这个项目从“工具”推进成一个长期运营的开源产品和商业支持体系。也就是说,你现在在 2026 年回头看它,它确实已经是一个跨越 20 多年的项目了;如果按公司成立算,2025 年正好是 20 周年。

Zabbix 诞生的时代背景也很重要。它起来的那个年代,监控系统面对的是一整套更“重”的 IT 世界:物理服务器、交换机、路由器、机房、数据库、中间件、SNMP、IPMI、Windows Server、Linux 主机。那时候大家最需要的不是“云原生可观测性”这种新叙事,而是一个能把主机、网络设备、服务状态、告警、图形、拓扑图统一收进来的平台。Zabbix 的设计就带着非常明显的那个时代烙印:Agent、Proxy、Server、数据库、Web 前端,层次分明,功能完整,适合比较传统、比较稳态的基础设施环境。

它早期之所以能站住脚,一个很重要的原因是:它想做的是“一体化监控平台”。不像有些工具只管采集,或只擅长画图,Zabbix 很早就把采集、存储、触发器、告警、模板、自动发现、可视化放进一个整体里。比如公开资料提到,1.8 时代就已经加入自动发现和自动注册,这在当年其实是很有竞争力的能力。它不是最轻巧的,但它很完整。

所以你会发现,Zabbix 的“老”,不只是界面老,它的产品哲学也有点老派。它相信配置、模板、触发器、拓扑、权限这些东西要明确;相信监控系统应该是“可控的、可审计的、结构化的”;它不是一个很强调“拿来即用、自动智能推断一切”的产品。这种思路在今天看会显得有些重,但在很多传统企业、政府、金融、电信、制造业场景里,反而是优点,因为这些单位往往最怕“黑盒”和“不可控”。

那“Zabbix 已经落伍了吗”?我觉得更准确的说法不是“落伍”,而是它不再代表最新潮的那一套基础设施叙事了。今天大家聊得更多的是 Prometheus、Grafana、OpenTelemetry、云监控、Kubernetes 可观测性、日志指标链路统一平台。这些工具和范式更贴近容器化、微服务和云原生世界。相比之下,Zabbix 更像是从传统运维时代一路活到今天的“老兵”:它的强项依然是主机、网络、设备、机房资产、稳态环境和统一监控治理,而不是最时髦的云原生生态中心。

但有意思的是,它并没有停在过去。至少从官方版本节奏看,Zabbix 这些年一直在持续更新,7.0 是 LTS,2024 年发布,之后 2025 年还持续有 7.0.x 更新;到 2026 年,7.4.8 也已经发布。这说明它不是一个“死掉了但还在用”的老项目,而是一个还在持续维护、持续演进的老项目。只是它演进的方式比较克制,不会每次都给你一种“世界变了”的感觉。

还有一个很值得说的点:Zabbix 的寿命,本身就是它价值的一部分。 一个监控系统能活二十多年,说明它不是只靠一时风口。监控这件事,说到底不是炫技,而是长期维护、长期陪伴、长期报警。很多单位选监控,最终看中的并不是“最新”,而是“十年后它还在不在,文档全不全,社区活不活,出问题有没有人懂”。从这个角度讲,Zabbix 的“老”反而是一种信誉。官方也一直强调它在全球很多国家和行业中被持续使用。

所以如果让我用一句话概括它的历史气质,我会这样说:

Zabbix 不是一个代表未来想象力的产品,它更像一个代表 IT 基础设施长期主义的产品。

它来自那个“机房比云更真实、服务器比容器更重要、告警短信比可观测性大会更有分量”的年代。你打开它会想到 Windows XP,不只是因为页面朴素,而是因为它身上确实还留着那个年代的软件精神:功能先于审美,稳定先于花哨,控制感先于体验感。

如果你今天亲手把 Zabbix Server 跑起来,其实是在重新摸到一段很典型的运维史。不是因为它最先进,而是因为它足够经典。对很多做网安、运维、基础架构的人来说,Zabbix 有点像一台老式交换机、一个熟悉的机柜、或者一套旧版 Windows Server:你知道它不潮了,但你也知道,它真的陪很多系统活过了很久。


评论