[comment]: # ({bade5a47-bade5a47})
# 4 Zabbix 概览

[comment]: # ({/bade5a47-bade5a47})

[comment]: # ({b4d6d531-b4d6d531})
#### 架构

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

[comment]: # ({/b4d6d531-b4d6d531})

[comment]: # ({5957a1ba-5957a1ba})
##### 服务器

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

[comment]: # ({/5957a1ba-5957a1ba})

[comment]: # ({494fb840-494fb840})
##### 数据库存储

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

[comment]: # ({/494fb840-494fb840})

[comment]: # ({bd637ffa-bd637ffa})
##### Web 界面

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

[comment]: # ({/bd637ffa-bd637ffa})

[comment]: # ({bfd730af-bfd730af})
##### Proxy

[Zabbix proxy](/manual/concepts/proxy) 可以代表 Zabbix server 收集性能和可用性数据。proxy 是 Zabbix 部署中的可选组件，但它能有效分担单个 Zabbix server 的负载。

[comment]: # ({/bfd730af-bfd730af})

[comment]: # ({bcde9ea4-b9991630})
##### Agent

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

[comment]: # ({/bcde9ea4-b9991630})

[comment]: # ({9ec23332-9ec23332})
#### 数据流

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

[comment]: # ({/9ec23332-9ec23332})
