4 Zabbix 概述
架构
Zabbix 由多个主要软件组件组成。 它们的职责如下所述。
服务器
Zabbix server 是 agent 报告可用性、完整性信息和统计数据的中心组件。 服务器是存储所有配置、统计和运行数据的中央存储库。
数据库存储
所有配置信息以及 Zabbix 收集的数据都存储在数据库中。
Web 界面
为了能够从任何地方、任何平台轻松访问 Zabbix,系统提供了基于 Web 的界面。 该界面是 Zabbix 服务器的一部分,通常(但不一定)运行在与服务器相同的物理机器上。
proxy
Zabbix proxy 可以代表 Zabbix 服务器收集性能和可用性数据。 proxy 是 Zabbix 部署中的可选组件;不过,它对于分担单个 Zabbix 服务器的负载非常有帮助。
agent
Zabbix agent 部署在监控目标上,用于主动监控本地资源和应用程序,并将收集到的数据报告给 Zabbix 服务器。 自 Zabbix 4.4 起,提供两种类型的 agent:Zabbix agent(轻量级,支持多种平台,使用 C 编写)和 Zabbix agent 2(灵活性更高,可通过插件轻松扩展,使用 Go 编写)。
数据流
此外,重要的是退一步,查看 Zabbix 中整体的数据流。 为了创建一个用于收集数据的监控项,您必须先创建一个主机。 从 Zabbix 的另一端来看,您必须先有一个监控项,才能创建触发器。 您必须有一个触发器,才能创建一个动作。 因此,如果您希望在 Server X 的 CPU 负载过高时收到告警,您必须先为 Server X 创建一个主机条目,然后创建一个用于监控其 CPU 的监控项,再创建一个在 CPU 过高时触发的触发器,最后创建一个向您发送电子邮件的动作。 虽然这看起来像是很多步骤,但借助模板,这其实并不复杂。 不过,由于这种设计,您可以创建一个非常灵活的配置。