4 Zabbix 概览

架构

Zabbix由多个主要软件组件构成。各组件职责概述如下。

服务器

Zabbix server 是核心组件,agents 向其报告可用性、完整性信息及统计指标。服务器作为中央存储库,保存所有配置数据、统计数据和运行数据。

数据库存储

所有配置信息以及Zabbix收集的数据均存储在数据库中。

Web 界面

为了从任何地方和任何平台轻松访问Zabbix,系统提供了基于Web的界面。该界面是Zabbix server的一部分,通常(但不一定)运行在与服务器相同的物理机器上。

Proxy

Zabbix proxy 可以代表 Zabbix server 收集性能和可用性数据。proxy 是 Zabbix 部署中的可选组件,但它能有效分担单个 Zabbix server 的负载。

Agent

Zabbix agents 被部署在监控目标上,用于主动监控本地资源和应用程序,并将收集到的数据报告给Zabbix服务器。自Zabbix 4.4起,有两种类型的agents可用:Zabbix agent(轻量级,支持多种平台,使用C语言编写)和Zabbix agent 2(高度灵活,易于通过插件扩展,使用Go语言编写)。

数据流

此外,退一步审视Zabbix内部整体数据流非常重要。为了create一个收集数据的监控项,你必须先create一个主机。转到Zabbix体系的另一端,你必须先有一个监控项才能create触发器。你必须有一个触发器才能create动作。因此,如果你想收到服务器X CPU负载过高的警报,你必须先为服务器X create一个主机条目,接着创建一个监控其CPU的监控项,然后设置一个在CPU过高时激活的触发器,最后配置一个发送邮件给你的动作。虽然这看起来步骤很多,但通过使用模板功能其实并不复杂。然而,正是这种设计使得create非常灵活的配置成为可能。