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 的另一端来看,要创建触发器,您必须先有一个监控项。 要创建一个 action,您必须先有一个触发器。 因此,如果您希望在 Server X 的 CPU 负载过高时收到告警,您必须先为 Server X 创建一个主机条目,然后创建一个用于监控其 CPU 的监控项,再创建一个在 CPU 过高时触发的触发器,最后创建一个向您发送电子邮件的 action。 虽然这看起来像是很多步骤,但借助模板,这实际上并不复杂。 不过,正因为这种设计,才可以创建非常灵活的配置。