Zabbix 由几个主要的软件组件组成。他们的职责概述如下。
Zabbix server 是 agents 向其报告可用性和完整性信息和统计信息的中心组件。server 是存储所有配置、统计和操作数据的中央存储库。
Zabbix 收集的所有配置信息以及数据都存储在数据库中。
为了从任何地方和任何平台轻松访问,Zabbix 提供了基于 Web 的界面。该接口是 Zabbix server 的一部分,通常(但不一定)与 server 运行在同一台设备上。
Zabbix proxy 可以代替 Zabbix server 收集性能和可用性数据。proxy 是 Zabbix 部署的可选部分;但是对于分散单个 Zabbix server 的负载非常有用。
Zabbix agent 部署在被监控目标上,以主动监控本地资源和应用程序,并将收集到的数据报告给 Zabbix server。从 Zabbix 4.4 开始,有两种类型的 agent 可用:Zabbix agent (轻量级,在许多平台上支持,用 C 编写)和 Zabbix agent 2 (非常灵活,易于使用插件扩展,用 Go 编写)。
此外,回顾一下 Zabbix 中的整体数据流也是很重要的。为了创建一个收集数据的监控项,必须首先创建一个主机。另一方面 Zabbix 必须首先拥有一个监控项来创建触发器。必须有触发器才能创建动作。因此,如果你想收到 服务器 X 上的 CPU 负载过高的警报,必须首先为 服务器 X 创建一个主机条目,然后创建一个用于监控其 CPU 的监控项,然后是一个触发器,如果 CPU 过高则触发动作,然后通过通过动作操作向您发送电子邮件。这可能看起来像很多步骤,其实使用模板并不需要。而且,由于这种设计,可以自定义创建非常灵活的设置。