Zabbix 功能介绍(一)

从 Zabbix Web 菜单理解 Zabbix 功能,包括 Dashboards、Monitoring、Problems、Hosts、Latest data、Maps、Discovery、Services、Inventory、Reports 和 Data collection 的作用与设计逻辑。

作者 快猫运营团队

Zabbix 是一个功能非常完备的监控系统。在 Web 界面上,可以配置采集规则、告警规则、主机、模板、仪表盘、报表和资产信息。对新手来说,理解 Zabbix 菜单,其实就是理解 Zabbix 的产品模型。

核心要点摘要

  • Zabbix Web 菜单围绕主机、监控数据、告警事件、模板和采集配置展开。
  • Dashboards 用于展示监控数据和告警事件,Monitoring 用于排查当前主机和问题状态。
  • Host 是 Zabbix 的核心对象,监控项、图形、触发器和告警规则都依托 Host 组织。
  • Data collection 体现了 Zabbix 的一体化设计:服务端不仅展示数据,也管理采集规则和模板。
  • Zabbix 更适合服务器、网络设备等资产相对固定的场景,对 Kubernetes Pod 这类动态对象并不自然。

Zabbix 监控系统简介

Zabbix 是一个基于 Web 界面的企业级开源监控解决方案,可监控网络服务、服务器、虚拟机和网络设备等。Zabbix 由两大部分构成:Zabbix Server 和 Zabbix Agent。

  • Zabbix Server:负责监控数据的存储、配置读取、触发器判断和告警管理。
  • Zabbix Agent:运行在被监控主机上,负责采集本机数据。

本文从 Zabbix 菜单出发,介绍各个菜单对应的功能,并顺带讲解其背后的设计逻辑。

Zabbix 功能菜单总览

菜单 主要功能 适合解决的问题
Dashboards 展示指标、图表和告警事件。 我现在整体状态怎么样?
Monitoring 查看 Problems、Hosts、Latest data、Maps、Discovery 等监控对象。 哪台主机、哪个指标、哪个告警有问题?
Services 查看和管理服务 SLA。 服务层面的可用性如何?
Inventory 查看资产信息。 主机资产信息在哪里?
Reports 查看系统信息、报表和 Trigger 统计。 监控系统运行和报表情况如何?
Data collection 配置 Host、模板、采集规则和自动发现。 数据从哪里来,怎么采?

Zabbix Dashboards

Zabbix Dashboards

Zabbix Dashboards 是用于展示监控数据的仪表盘。它支持多种图表类型,虽然相比 Grafana 功能较弱,但基本够用。更重要的是,Zabbix Dashboards 是内置能力,不需要额外安装。

Zabbix Dashboards 不但支持展示监控数据,也支持展示告警事件。对新手来说,它是进入 Zabbix 后最直观的状态入口。

Zabbix 仪表盘还支持 Page。一个仪表盘中可以包含多个 Page,每个 Page 相当于一个小型仪表盘。这样无需把很多图表渲染到同一个页面上,既能提升浏览器渲染性能,也方便用户导航。

Zabbix Monitoring

Monitoring 菜单下都是跟监控查看和问题排查相关的功能。

Problems

Zabbix Problems

Problems 是 Zabbix 的告警事件列表,可以查看当前告警事件,也可以查看历史告警事件。

它的特点是检索条件非常丰富。虽然页面整体美观度差点意思,但胜在灵活。Zabbix 越做越大,不但支持告警事件生成和基本派发,也支持告警事件认领、确认和升级。

从排障视角看,Problems 是值班人最常用的入口之一:先看当前有哪些 PROBLEM,再进入对应主机、指标和图形继续分析。

Hosts

Zabbix Hosts

Hosts 展示的是 Zabbix 监控的主机列表,可以查看主机监控状态、监控项、图形等。Hosts 支持检索,可以根据主机名、IP 地址等条件查找主机。

Host 是 Zabbix 中极为关键的概念。所有数据、告警规则、图形和模板都依托 Host 组织。所以 Zabbix 用户的典型使用路径是:遇到问题后先想到哪台主机,再看这台主机的监控数据、告警事件和图形。

这和 Grafana 这类可视化方案不一样。Grafana 面对的是数据源和查询语句,不理解数据本身的业务语义,也不会自动构建 Zabbix 这种以 Host 为核心的场景化页面。

但这个设计也有边界。随着 Kubernetes 体系普及,如果对应到 Zabbix 逻辑,似乎应该有一个 Pods 列表。但 Pod 生命周期远不如 Host 稳定,而且在 Zabbix 中 Pod 并不承载采集和告警配置,所以 Zabbix 没有天然的 Pods 列表。

Latest data

Latest data 顾名思义,就是展示各个监控指标的最新值。它适合排查问题时快速确认某个指标当前值,例如 CPU、内存、磁盘、端口或自定义监控项。

Maps

Maps 是 Zabbix 的拓扑图功能,用于展示网络设备、服务器之间的关系,需要手工绘制。

Zabbix 相比其他监控系统,更侧重网络设备和服务器监控。从 Maps 这个功能就能看出来。一般偏应用服务的监控系统,用户更在意 Tracing 拓扑;而网工通常更喜欢 Zabbix 这种设备拓扑。

Discovery

Discovery 用于展示自动发现规则发现出来的设备或对象。它通常和 Zabbix 的自动发现能力配合使用,减少手工维护大量设备的成本。

Services

Services 菜单主要用于监控服务 SLA。

笔者感觉这个功能用处不太大,因为极少用户会用 Zabbix 来监控应用服务。Zabbix 的指标格式过于僵化,不适合做复杂聚合计算。通常大家会选择 Prometheus 生态的监控系统来做服务监控,或者使用 APM 系统,比如 SkyWalking、Zipkin 等。

Zabbix 如何定义某个服务挂了?它主要看这个服务是否有一些关键告警产生。实际使用中,最好也能支持根据指标数据判断服务是否异常,因为告警事件有延迟,不一定特别精确。

Inventory

Inventory 是 Zabbix 的资产管理功能,可以查看资产的详细信息,比如资产配置、位置、联系人等。

资产管理是企业级监控系统的标配功能,但 Zabbix 的 Inventory 相对简单,不如专门的 CMDB 强大。它更像是一个顺手能力:因为 Zabbix 默认会给机器安装 agent,顺手采集一些资产信息就比较容易。

所以 Inventory 是 Zabbix 的边角功能,不是它的核心能力。

Reports

Reports 是 Zabbix 的报表功能,可以查看各种监控数据和系统信息报表。例如系统信息报表、定期把仪表盘内容作为报表发送,以及 Top 100 Trigger 等。

联系我们交流

Data collection

Data collection 是数据采集相关功能,也是理解 Zabbix 设计逻辑的关键。

如果是 Prometheus,数据采集通常交给各类 Exporter。采集、处理、Mapping、Enrichment 等工作,大多在 Exporter 或采集器中完成,服务端主要负责存储、查询和告警。

Zabbix 的设计不同。它是一个大一统解决方案,内置了数据采集规则管理,所以提供了大量采集相关功能。

Host 是 Zabbix 的采集对象

Zabbix 抽象了 Host 概念,用于表示服务器和网络设备。注意,Host 不只表示服务器,网络设备也是一种 Host。

Host 可以提供多种数据查询接口:

  • 安装了 Zabbix Agent 的 Host,会提供 zbx 端口,默认是 10050。
  • 有 Java 应用并开启 JMX 的 Host,可以通过 JMX 端口查询数据。
  • 开启 IPMI 的 Host,可以通过 IPMI 查询数据。
  • 网络设备如果开启 SNMP,可以通过 SNMP 查询数据。

模板用于复用采集规则

每台机器要采集数据,就需要配置相关采集规则。如果每台机器分别配置,会非常费劲,而且很多机器有相同采集规则,维护起来也麻烦。

所以 Zabbix 设计了模板。模板是一组采集规则的集合,可以应用到多个 Host 上,实现一次配置、多台机器共享。

模板不仅包含采集哪些指标的规则,也可以包含图形、仪表盘、告警规则等信息。也就是说,模板不是单纯的采集配置,而是一组监控最佳实践的集合。

LLD 用于自动发现

Zabbix 还提供了 LLD(Low Level Discovery)功能,用于自动发现服务器上的磁盘、网卡、进程等对象。

比如磁盘场景:某台机器有根分区和 /home 分区,另一台机器有 /data 分区。LLD 可以自动发现这些分区,并把它们作为监控项生成出来,避免手工配置。

Host group 用于组织机器和权限

为了方便管理机器和权限,Zabbix 抽象了 Host group。在创建机器时,可以选择把机器归到哪个 Host group。Host group 常用于按业务、环境、团队或机房组织监控对象。

FAQ

Zabbix 新手应该先看哪个菜单?

建议先看 Dashboards、Problems、Hosts 和 Latest data。它们分别对应整体状态、当前告警、监控对象和最新指标值,是最常用的排障入口。

Zabbix 的核心对象为什么是 Host?

因为 Zabbix 的主要设计场景是服务器和网络设备监控。Host 承载了监控项、模板、触发器、图形和权限等配置,是 Zabbix 数据组织的中心。

Zabbix 模板只是采集规则吗?

不是。模板通常包含监控项、图形、触发器、仪表盘等内容,可以理解为一组围绕某类主机或组件的监控配置集合。

总结

Zabbix 的菜单看起来很多,但背后的逻辑比较清晰:围绕 Host 组织对象,围绕模板复用配置,围绕 Problems 管理告警,围绕 Dashboards 和 Latest data 查看状态。

理解这一点后,再看 Zabbix 的菜单就不会零散。Dashboards 解决展示,Monitoring 解决排查,Services 和 Inventory 提供补充视角,Reports 提供报表,Data collection 则负责把采集规则、模板和自动发现组织起来。

具体的 Alerts、Users、Administration 等其他功能,留待后续系列文章介绍。

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

标签 Zabbix
快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云