2 要求

硬件

内存

Zabbix 同时需要物理内存和磁盘内存。 所需的磁盘内存大小显然取决于被监控的主机数量和参数数量。 如果您计划长期保留监控参数的历史记录,则应考虑至少准备几 GB 的空间,以便在数据库中存储这些历史记录。 每个 Zabbix 守护进程都需要与数据库服务器建立多个连接。 为连接分配的内存量取决于数据库引擎的配置。

物理内存越多,数据库(因此 Zabbix)的运行速度就越快。

CPU

Zabbix,尤其是 Zabbix 数据库,可能会根据监控参数的数量和所选数据库引擎而需要大量 CPU 资源。

其他硬件

在 Zabbix 中使用短信通知支持功能需要串行通信端口和串行 GSM 调制解调器。
USB 转串口转换器也可以使用。

硬件配置示例

下表提供了硬件配置示例,假设使用的是 Linux/BSD/Unix 平台。

这些是可供起步参考的规模和硬件配置示例。 每个 Zabbix 安装都是独一无二的。 请务必在预发布或开发环境中对您的 Zabbix 系统性能进行基准测试,以便在将 Zabbix 安装部署到生产环境之前,能够充分了解您的实际需求。

安装规模 监控指标1 CPU/vCPU 核心数 内存
(GiB)
数据库 Amazon EC22
小型 1 000 2 8 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.large/m6g.large
中型 10 000 4 16 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.xlarge/m6g.xlarge
大型 100 000 16 64 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.4xlarge/m6g.4xlarge
超大型 1 000 000 32 96 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.8xlarge/m6g.8xlarge

1 1 个指标 = 1 个监控项 + 1 个触发器 + 1 个图形
2 这是使用 Amazon 通用型 EC2 实例的示例,采用 ARM64 或 x86_64 架构;在将 Zabbix 安装到生产环境之前,应在评估和测试阶段根据实际情况选择合适的实例类型,例如计算优化型、内存优化型或存储优化型实例。

实际配置在很大程度上取决于活动监控项的数量和刷新频率(详见本页的数据库大小部分)。 对于大型安装,强烈建议将数据库运行在独立的服务器上。

支持的平台

由于安全要求以及监控服务器的关键任务性质,只有 UNIX 操作系统才能持续提供所需的性能、容错能力和弹性。 Zabbix 可运行于市场主流版本之上。

以下平台提供并经过测试的 Zabbix 组件如下:

平台 服务器 agent Agent 2 备注
Linux x x x
Windows - x x Zabbix agent 支持自 Windows XP(64 位)/Server 2003 起的所有桌面版和服务器版。

Zabbix agent 2 支持自 Windows 10(32 位)/Server 2016 起的所有桌面版和服务器版,因为它仅使用受支持的 Go 版本进行编译,以防止严重的安全漏洞。自 Go 1.21 起,Windows 的最低要求版本已提高,因此 Windows 10/Server 2016 成为 Zabbix agent 2 的最低支持版本。
macOS x x -
IBM AIX x x - Zabbix agent 在低于 6.1 TL07 / 7.1 TL01 的 AIX 平台版本上无法运行。
FreeBSD x x -
OpenBSD x x -
Solaris x x -
NetBSD x x -
HP-UX x x -

Zabbix 服务器/agent 也可能在其他类 Unix 操作系统上运行。

如果 Zabbix 在启用加密的情况下编译,则会禁用 core dump;如果系统不允许禁用 core dump,则 Zabbix 将无法启动。

所需软件

Zabbix 基于现代 Web 服务器、主流数据库引擎和 PHP 脚本语言构建。

第三方外部周边软件

如果标注为必需,则所需的软件/库是严格必要的。 可选项用于支持某些特定功能。

Software Mandatory status Supported versions Comments
MySQL/Percona One of 8.0.30-9.6.X 如果将 MySQL(或 Percona)用作 Zabbix 后端数据库,则为必需。需要 InnoDB 引擎。

新增对以下 MySQL 版本的支持:
- 自 Zabbix 7.4.6 起支持 9.5.X;
- 自 Zabbix 7.4.9 起支持 9.6.X。

建议在构建 server/proxy 时使用 C API (libmysqlclient) 库。
MariaDB ^ 10.5.00-12.2.X 需要 InnoDB 引擎。

推荐版本为 11.4。

建议在构建 server/proxy 时使用 MariaDB Connector/C 库。

新增对以下 MariaDB 版本的支持:
- 自 Zabbix 7.4.3 起支持 12.0.X;
- 自 Zabbix 7.4.9 起支持 12.2.X。

另请参见:使用 MariaDB 可能发生死锁使用 MariaDB 10.5.1-10.5.9 访问 UI 元素
.
PostgreSQL ^ 13.0-18.X 如果将 PostgreSQL 用作 Zabbix 后端数据库,则为必需。
根据安装规模,可能需要增加 PostgreSQL work_mem 配置属性(默认值为 4MB),以确保数据库在执行特定操作时使用的内存足够,并避免查询执行耗时过长。

新增对以下 PostgreSQL 版本的支持:
- 自 Zabbix 7.4.4 起支持 18.X。
TimescaleDB for PostgreSQL ^ 2.13.0-2.26.X 如果将 TimescaleDB 用作 PostgreSQL 数据库扩展,则为必需。请确保安装支持压缩功能的 TimescaleDB Community Edition。

请注意,自 TimescaleDB 2.10 起支持 PostgreSQL 15。
有关 PostgreSQL 与 TimescaleDB 版本兼容性的详细信息,也可参阅 TimescaleDB 文档

新增对以下 TimescaleDB 版本的支持:
- 自 Zabbix 7.4.1 起支持 2.20.X、2.21.X;
- 自 Zabbix 7.4.4 起支持 2.22.X;
- 自 Zabbix 7.4.6 起支持 2.23.X;
- 自 Zabbix 7.4.7 起支持 2.24.X;
- 自 Zabbix 7.4.8 起支持 2.25.X;
- 自 Zabbix 7.4.9 起支持 2.26.X。
SQLite Optional 3.3.5-3.53.X SQLite 仅支持 Zabbix proxy。若将 SQLite 用作 Zabbix proxy 数据库,则为必需。

对以下 SQLite 版本的支持:
- 自 Zabbix 7.4.9 起支持 3.53.X。
Elasticsearch ^ 7.X Elasticsearch 仅支持 Zabbix 服务器,且仅用于存储历史数据。当前对 Elasticsearch 的支持仍处于实验阶段。另请参见 server/proxy 所需的软件。
smartmontools ^ 7.1 or later Zabbix agent 2 需要。
who ^ 用户计数插件需要。
dpkg ^ system.sw.packages 插件需要。
pkgtool ^ system.sw.packages 插件需要。
rpm ^ system.sw.packages 插件需要。
pacman ^ system.sw.packages 插件需要。
q applets ^ qlistqsize 作为 q applets 的一部分,在 Gentoo Linux 上的 system.sw.packages 插件中是必需的。

尽管 Zabbix 可以与操作系统中自带的数据库配合工作,但为了获得最佳体验,我们建议使用从官方数据库开发者仓库安装的数据库。

前端

Zabbix 前端支持的最小屏幕宽度为 1200px。

如果标注为必需,则所需的软件/库是严格必要的。 可选项用于支持某些特定功能。

Software Mandatory status Supported versions Comments
PHP Yes 8.0.0 - 8.5.X 已添加对以下 PHP 版本的支持:
- 自 Zabbix 7.4.9 起支持 8.5.X。
Apache One of 2.4 or later
Nginx 1.20 or later
MySQL One of See Third-party external surrounding software
PostgreSQL
PHP extensions
mysqli Yes 如果使用 MySQL 作为 Zabbix 后端数据库,则为必需。
pgsql 如果使用 PostgreSQL 作为 Zabbix 后端数据库,则为必需。
bcmath php-bcmath (--enable-bcmath)
mbstring php-mbstring (--enable-mbstring)
sockets php-net-socket (--enable-sockets);用户脚本支持所必需。
gd 2.0.28 or later php-gd(如果发行版将其作为单独的软件包提供);PHP GD 扩展必须支持 PNG 图像(--with-png-dir)、JPEG 图像(--with-jpeg-dir)和 FreeType 2(--with-freetype-dir)。为避免某些前端语言中可能出现的图形中的文本重叠,可能需要 2.3.0 或更高版本。
libxml 2.6.15 or later php-xml(如果发行版将其作为单独的软件包提供)
xmlwriter php-xmlwriter(如果发行版将其作为单独的软件包提供)
xmlreader php-xmlreader(如果发行版将其作为单独的软件包提供)
ctype php-ctype (--enable-ctype)
session php-session(如果发行版将其作为单独的软件包提供)
ldap No php-ldap;LDAP 身份验证所必需。
openssl php-openssl;SAML 身份验证所必需。
gettext php-gettext (--with-gettext);翻译所必需。
cURL 7.19.4 or later php-curl;Duo Universal Prompt MFASMTP authentication 所必需。

Zabbix 随附的第三方前端库:

Library Mandatory status Supplied version Comments
jQuery JavaScript Library Yes 3.6.0 简化跨浏览器开发过程的 JavaScript 库。
jQuery UI 1.12.1 建立在 jQuery 之上的一组用户界面交互、效果、组件和主题。
SAML PHP Toolkit 4.3.1 一个 PHP 工具包,添加 SAML 2.0 身份验证支持,以便登录 Zabbix。

随附版本历史:
- 自 Zabbix 7.4.0 起为 4.0.0;
- 自 Zabbix 7.4.8 起为 4.3.1(推荐)。
Duo Universal PHP library 1.1.2 一个 PHP 库,为 Zabbix 添加 Duo Universal Prompt 多因素身份验证支持。

随附版本历史:
- 自 Zabbix 7.4.0 起为 1.0.2;
- 自 Zabbix 7.4.7 起为 1.1.0;
- 自 Zabbix 7.4.10 起为 1.1.2(推荐)。
Symfony Yaml Component 5.1.0 添加对以 YAML 格式导出和导入 Zabbix 配置元素的支持。

Zabbix 也可能在较早版本的 Apache、MySQL 和 PostgreSQL 上运行。

对于除默认 DejaVu 之外的其他字体,可能需要 PHP 函数 imagerotate。 如果缺少该函数,在显示图形时这些字体可能会渲染不正确。 只有在 PHP 使用内置 GD 编译时,该函数才可用,而 Debian 和其他发行版并非如此。

用于编写和调试 Zabbix 前端代码的第三方库:

Library Mandatory status Minimum version Description
Composer No 2.4.1 PHP 的应用级包管理器,为 PHP 软件及其所需库的依赖管理提供标准格式。
PHPUnit 8.5.29 用于测试 Zabbix 前端的 PHP 单元测试框架。
SASS 3.4.22 一种预处理脚本语言,可被解释并编译为层叠样式表(CSS)。
客户端侧的 Web 浏览器

必须启用 Cookie 和 JavaScript。

支持 Google Chrome、Mozilla Firefox、Microsoft Edge、Apple Safari 和 Opera 的最新稳定版本。

已实施 IFrame 的同源策略,这意味着不能将 Zabbix 放置在不同域名的框架中。

不过,如果放置在框架中的页面与 Zabbix 前端位于同一域名下,则该页面将能够通过 JavaScript 访问 Zabbix 前端。 例如,http://secure-zabbix.com/cms/page.html 这样的页面,如果被放置到 http://secure-zabbix.com/zabbix/ 上的仪表板中,将拥有对 Zabbix 的完整 JS 访问权限。

服务器/proxy

如果标注为必需,则所需的软件/库是严格必要的。
可选项用于支持某些特定功能。

Requirement Mandatory status Description
libpcre2 Yes 需要 PCRE2 库以支持 Perl Compatible Regular Expression (PCRE)。
支持 PCRE2 v10.x。
libevent 进程间通信所需。版本 2.0.10 或更高。
libevent-pthreads 进程间通信所需。
libpthread 需要用于互斥锁和读写锁支持(可能是 libc 的一部分)。
libresolv 需要用于 DNS 解析(可能是 libc 的一部分)。
libiconv 需要用于文本编码/格式转换(可能是 libc 的一部分)。在 Linux 上的 Zabbix 服务器中为必需。
libz 需要用于压缩支持。
libm 数学库。仅 Zabbix 服务器需要。
libmysqlclient One of 如果使用 MySQL,则需要。
libmariadb 如果使用 MariaDB,则需要。
libpq5 如果使用 PostgreSQL,则需要;libpq5 版本必须与所用 PostgreSQL 数据库版本匹配或更高。
libsqlite3 如果使用 SQLite,则需要。仅 Zabbix proxy 需要。
libOpenIPMI No 需要用于 IPMI 支持。仅 Zabbix 服务器需要。
libssh2 or libssh 需要用于 SSH checks。版本 1.8.0 或更高(libssh2);0.9.0 或更高(libssh)。
libcurl 以下功能需要:
- Web monitoringVMware monitoringHTTP agent 监控项(以上所有功能均需 7.19.1 或更高版本);
- Zabbix agent web.page.* 监控项(需要 7.19.1 或更高版本;另请参见 agent 要求);
- SMTP authentication(Basic:需要 7.20.0 或更高版本;OAuth:需要 7.33 或更高版本;另请参见 前端 要求);
- Elasticsearch(需要 7.28.0 或更高版本)。
建议所有功能都使用 7.28.0 或更高版本。
要为 web.page.* 监控项使用升级后的 cURL 功能,请重启 Zabbix 服务器/proxy。
对于 SMTP authentication,请在运行时使用 libcurl-full 软件包。
libxml2 需要用于 VMware monitoring 和 XML XPath 预处理。
net-snmp 需要用于 SNMP 支持。版本 5.3.0 或更高。
从 net-snmp 库 5.8 开始支持强加密协议(AES192/AES192C、AES256/AES256C);在基于 RHEL 8+ 的系统上,建议使用 net-snmp 5.8.15 或更高版本。
libunixodbc 需要用于 database monitoring
libgnutls or libopenssl 使用 encryption 时需要。
最低版本:libgnutls - 3.1.18,libopenssl - 1.0.1
libldap 需要用于 LDAP 支持。
fping 需要用于 ICMP ping items
c-ares 如果 Zabbix 配置了 --with-ares 选项,则需要用于异步 DNS 解析。否则将使用 libevent
最低版本:1.16.0
Agent
要求 是否必需 描述
libpcre2 Perl Compatible Regular Expression (PCRE) 支持需要 PCRE2 库。
支持 PCRE2 v10.x。
日志监控需要此库。在 Windows 上也需要。
libpthread mutex 和读写锁支持需要此库(也可能是 libc 的一部分)。Windows 上不需要。
libresolv DNS 解析需要此库(也可能是 libc 的一部分)。Windows 上不需要。
libiconv 日志监控项、文件内容、文件 regex 和 regmatch 监控项中的文本编码/格式转换为 UTF-8 需要此库(也可能是 libc 的一部分)。Windows 上不需要。
libgnutls or libopenssl 如果使用加密,则需要此库。
最低版本:libgnutls - 3.1.18,libopenssl - 1.0.1
在 Microsoft Windows 上,需要 OpenSSL 1.1.1 或更高版本。
libldap 如果使用 LDAP,则需要此库。Windows 上不支持。
libcurl Zabbix agent web.page.* 监控项的扩展支持需要此库。
如果没有 libcurl,则可使用基本功能(例如,web.page.get[http://example.com\])。使用 libcurl 时,agent 支持更多功能,例如带凭据的 HTTP URL(例如,http://user:[email protected])和 HTTPS URL。
需要 7.19.1 或更高版本(推荐 7.28.0 或更高版本)。
要使用升级后的 cURL 功能,请重启 Zabbix agent。
libmodbus 仅在使用 Modbus 监控时需要。
版本 3.0 或更高。
Agent 2
Requirement Mandatory status Description
Go Yes 构建 Zabbix agent 2 及其插件的源代码时需要。
支持 Go 1.24.10 或更高版本。安装说明请参见 go.dev
Zabbix agent 2 及其插件使用的 Go 库列在 Zabbix Git 仓库中(仓库中标记为 indirect 的库是其他所需库的依赖项):
- Zabbix agent 2
- Plugin support
- PostgreSQL
- MongoDB
- MSSQL
- Ember+
- NVIDIA GPU
- Example plugin
libpcre2 Yes PCRE2 库是 Perl Compatible Regular Expression(PCRE)支持所必需的。
支持 PCRE2 v10.x。
日志监控需要此库。在 Windows 上也需要。
libopenssl No 使用加密功能时需要。
UNIX 平台需要 OpenSSL 1.0.1 或更高版本。
OpenSSL 库必须启用 PSK 支持。不支持 LibreSSL。
在 Microsoft Windows 系统上需要 OpenSSL 1.1.1 或更高版本。
Web 服务

支持使用最新稳定版本的 Google Chrome 通过 Zabbix Web 服务生成计划报表。

构建 Web 服务所需的 Go 版本与 Zabbix agent 2 使用的版本一致。

Java 网关

如果您是从源代码仓库或归档文件获取 Zabbix,则所需的依赖项已包含在源代码树中。

如果您是从发行版的软件包获取 Zabbix,则所需的依赖项已由打包系统提供。

在上述两种情况下,软件都已可直接使用,无需额外下载。

但是,如果您希望提供这些依赖项的自定义版本(例如,您正在为某个 Linux 发行版准备软件包),下面列出了已知可与 Java 网关配合使用的库版本。 Zabbix 也可能适用于这些库的其他版本。

下表列出了当前在原始代码中随 Java 网关捆绑提供的 JAR 文件:

Library Mandatory status Bundled version Comments
android-json 4.3r1 JSON(JavaScript Object Notation)是一种轻量级数据交换格式。这是从 Android SDK 中提取的、与 org.json 兼容的 Android 实现。
logback-classic 1.5.16
logback-core 1.5.16
slf4j-api 2.0.16

Java 网关可使用 Oracle Java 或开源 OpenJDK(1.6 或更高版本)进行构建。 Zabbix 提供的软件包使用 OpenJDK 编译。 下表列出了按发行版划分、用于构建 Zabbix 软件包的 OpenJDK 软件包:

Distribution OpenJDK package
AlmaLinux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
AlmaLinux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.332.b09-2; arm64: 1.8.0.382.b05-2)
Amazon Linux 2023 java-22-amazon-corretto-devel (amd64, arm64: 22.0.2+9-1)
CentOS Stream 9 java-11-openjdk-devel (amd64, arm64: 11.0.18.0.10-3)
CentOS Stream 8 java-1.8.0-openjdk-devel (amd64, arm64: 1.8.0.362.b08-3)
CentOS 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Debian 12 default-jdk-headless (amd64, arm64: 2:1.17-74)
Debian 11 default-jdk-headless (amd64: 2:1.11-72)
OpenSUSE Leap 15 java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1)
Oracle Linux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4.0.1; arm64: 11.0.20.0.8-2.0.1)
Oracle Linux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4.0.1); java-11-openjdk-devel (arm64: 11.0.20.0.8-3.0.1)
Oracle Linux 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Raspberry Pi OS 12 default-jdk-headless (arm64, armhf: 2:1.17-74)
Raspberry Pi OS 11 default-jdk-headless (arm64: 2:1.11-72; armhf: 2:1.11-72+b4)
RHEL 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
RHEL 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2)
RHEL 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Rocky Linux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
Rocky Linux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2)
SLES 15 java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1)
Ubuntu 24.04 default-jdk-headless (amd64, arm64: 2:1.21-75+exp1)
Ubuntu 22.04 default-jdk-headless (amd64, arm64: 2:1.11-72build2)
Ubuntu 20.04 default-jdk-headless (amd64, arm64: 2:1.11-72)

默认端口号

以下是各组件在默认配置下适用的开放端口列表:

Zabbix 组件 端口号 协议 连接类型
Zabbix agent 10050 TCP 按需
Zabbix agent 2 10050 TCP 按需
Zabbix 服务器 10051 TCP 按需
Zabbix proxy 10051 TCP 按需
Zabbix Java 网关 10052 TCP 按需
Zabbix Web 服务 10053 TCP 按需
Zabbix 前端 80 HTTP 按需
443 HTTPS 按需
Zabbix trapper 10051 TCP 按需

应在防火墙中开放这些端口号,以启用 Zabbix 通信。 出站 TCP 连接通常不需要显式的防火墙设置。

数据库大小

Zabbix 配置数据需要固定数量的磁盘空间,并且增长不大。

Zabbix 数据库大小主要取决于以下变量,这些变量定义了存储的历史数据量:

  • 每秒处理的值数量

这是 Zabbix 服务器每秒接收的新值的平均数量。
例如,如果我们有 3000 个监控项用于监控,刷新间隔为 60 秒,则每秒值的数量计算为 3000/60 = 50

这意味着每秒都会向 Zabbix 数据库中添加 50 个新值。

  • 历史数据的 housekeeper 设置

Zabbix 会将值保留固定的一段时间,通常为数周或数月。
每个新值都需要一定的磁盘空间来存储数据和索引。

因此,如果我们希望保留 30 天的历史数据,并且每秒接收 50 个值,则值的总数大约为 (30*24*3600)* 50 = 129.600.000,即大约 1.3 亿个值。

根据所使用的数据库引擎、接收值的类型(浮点数、整数、字符串、日志文件等),保存单个值所需的磁盘空间可能从 40 字节到数百字节不等。
对于数值型监控项,通常每个值约为 90 字节2
在我们的示例中,这意味着 1.3 亿个值将需要 130M * 90 字节 = 10.9GB 的磁盘空间。

文本/日志监控项值的大小无法精确预测,但可以预计每个值大约为 500 字节。

  • 趋势数据的 housekeeper 设置

Zabbix 会在表 trends 中为每个监控项保留一组 1 小时的最大值/最小值/平均值/计数值。
这些数据用于趋势分析和长期图形。
1 小时周期无法自定义。

根据数据库类型不同,Zabbix 数据库每个汇总值大约需要 90 字节。
假设我们希望保留 5 年的趋势数据。
3000 个监控项的值每年将需要 3000*24*365* 90 = 2.2GB,5 年则需要 11GB

  • 事件的 housekeeper 设置

每个 Zabbix 事件大约需要 250 字节的磁盘空间1
很难估算 Zabbix 每天生成的事件数量。
在最坏情况下,我们可以假设 Zabbix 每秒生成一个事件。

对于每个已恢复的事件,都会创建一条 event_recovery 记录。
通常大多数事件都会恢复,因此我们可以假设每个事件对应一条 event_recovery 记录。
这意味着每个事件还需要额外 80 字节。

事件还可以选择性地带有标签,每条标签记录大约需要 100 字节的磁盘空间1
每个事件的标签数(#tags)取决于配置。
因此,每个事件还将额外需要 #tags * 100 字节的磁盘空间。

这意味着,如果我们希望保留 3 年的事件数据,则需要 3*365*24*3600* (250+80+#tags*100) = \~30GB+#tags*100B 的磁盘空间2

1 当事件名称、标签和值包含非 ASCII 字符时会更大。
2 这些大小估算基于 MySQL,对于其他数据库可能有所不同。

下表包含可用于计算 Zabbix 系统所需磁盘空间的公式:

参数 所需磁盘空间公式(单位:字节)
Zabbix 配置 固定大小。通常为 10MB 或更少。
历史数据 days*(items/refresh rate)*24*3600*bytes
items : 监控项数量
days : 保留历史数据的天数
refresh rate : 监控项的平均刷新间隔
bytes : 保存单个值所需的字节数,取决于数据库引擎,通常约为 \~90 字节。
趋势数据 days*(items/3600)*24*3600*bytes
items : 监控项数量
days : 保留历史数据的天数
bytes : 保存单个趋势值所需的字节数,取决于数据库引擎,通常约为 \~90 字节。
事件 days*events*24*3600*bytes
events : 每秒事件数。在最坏情况下为每秒一个 (1) 事件。
days : 保留历史数据的天数
bytes : 保存单个事件所需的字节数,取决于数据库引擎,通常约为 \~330 + 每个事件的平均标签数 * 100 字节。

因此,所需的总磁盘空间可按以下方式计算:

配置 + 历史数据 + 趋势数据 + 事件

磁盘空间不会在安装 Zabbix 后立即被使用。
数据库大小会逐渐增长,并在某个时间点停止增长,该时间点取决于 housekeeper 设置。

时间同步

确保运行 Zabbix 的服务器具有精确的系统时间非常重要。
ntpd 是最常用的守护进程,可将主机时间与其他机器的时间同步。
强烈建议在所有运行 Zabbix 组件的系统上保持系统时间同步。

网络要求

以下是默认配置下各组件需要开放的端口列表。

组件 端口
前端 80 上的 http,443 上的 https
服务器 10051(用于 active proxy/agents)
Active Proxy 10051
Passive Proxy 10051
Agent2 10050
Trapper
JavaGateway 10052
WebService 10053

应在防火墙中开放这些端口号,以启用与 Zabbix 的外部通信。 出站 TCP 连接通常不需要显式的防火墙设置。