内存
Zabbix 需要物理内存和磁盘内存。
所需磁盘 memory 的数量显然取决于被监控的 主机 和参数的数量。
如果您计划保留较长时间的监控参数历史记录,则应考虑至少几个千兆字节的空间,以便在数据库中存储历史数据。
每个 Zabbix 守护进程都需要与数据库服务器建立多个连接。
为连接分配的 memory 数量取决于数据库引擎的配置。
物理 memory 越多,数据库(以及因此 Zabbix)的运行速度就越快。
CPU
Zabbix 及其数据库可能会根据受监控参数的数量和所选的数据库引擎消耗大量的 CPU 资源。
其他硬件
Zabbix 中使用 SMS 通知支持需要一个串行通信端口和一个串行 GSM 调制解调器。
USB-to-serial 转换器也可以工作。
该表格提供了基于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, Oracle |
m6i.4xlarge/m6g.4xlarge |
超大规模 | 1 000 000 | 32 | 96 | MySQL Server, Percona Server, mariadb Server, PostgreSQL, Oracle |
m6i.8xlarge/m6g.8xlarge |
1 1个指标 = 1个监控项 + 1个触发器 + 1个图形
2 示例采用Amazon通用型EC2实例(ARM64或x86_64架构),在生产环境部署前应通过Zabbix安装评估和测试选择适当的计算/内存/存储优化实例类型。
实际配置很大程度上取决于主动监控项数量和刷新频率(详见本页数据库规模章节)。 对于大规模部署,强烈建议run将数据库部署在独立服务器上。
由于安全要求以及监控服务器的关键任务性质,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 起的桌面和服务器版本,因为它是仅使用 agent-2 编译的,以防止关键安全漏洞。从 Go 1.21 开始,minimum required Windows versions 被提升,使得 Windows 10/Server 2016 成为 Zabbix agent 2 的最低 version。 |
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 server/agent 可能在其他类 Unix 操作系统上也能运行。
如果使用加密编译,Zabbix 会禁用核心转储(core dumps),并且如果系统不允许禁用核心转储,则 Zabbix 不会启动。
Zabbix 基于现代 Web 服务器、主流数据库引擎和 PHP 脚本语言构建。
若标注为必选,则该软件/库为严格必需项。 可选项目用于支持某些特定功能。
软件 | 必选状态 | 支持版本 | 备注 |
---|---|---|---|
MySQL/Percona | One of | 8.0.30-9.0.X | 当MySQL(或Percona)作为Zabbix后端数据库时必需。需使用InnoDB引擎。 新增支持的MySQL版本: - 8.4.X 自Zabbix 7.0.1起; - 9.0.X 自Zabbix 7.0.2起。 建议使用C API (libmysqlclient)库构建server/proxy。 |
mariadb | 10.5.00-12.0.X | 需使用InnoDB引擎。 推荐的version为11.4。 建议使用MariaDB Connector/C库构建server/proxy。 新增支持的mariadb版本: - 11.4.X 自Zabbix 7.0.1起; - 11.5.X 自Zabbix 7.0.4起; - 12.0.X 自Zabbix 7.0.19起。 另见:mysqlmariadb可能的死锁及使用mariadb 10.5.1–10.5.9访问UI元素。 |
|
Oracle | 19c - 21c | 当Oracle作为Zabbix后端数据库时必需。 自Zabbix 7.0起,Oracle DB支持已弃用。 |
|
PostgreSQL | 13.0-17.X | 当PostgreSQL作为Zabbix后端数据库时必需。 根据安装规模,可能需要增加PostgreSQL的work_mem配置参数(默认值为4MB),以确保数据库为特定操作分配的memory足够,且query执行不会耗时过长。 新增支持的PostgreSQL版本: - 17.X 自Zabbix 7.0.6起。 |
|
TimescaleDB for PostgreSQL | 2.13.0-2.21.X | 当TimescaleDB作为PostgreSQL数据库扩展时必需。请确保安装支持压缩的TimescaleDB社区版。 注意TimescaleDB 2.10起支持PostgreSQL 15。 有关PostgreSQL与TimescaleDBversion兼容性的详情,可参考TimescaleDB documentation。 新增支持的TimescaleDB版本: - 2.15.X 自Zabbix 7.0.1起; - 2.16.X 自Zabbix 7.0.4起; - 2.17.X 自Zabbix 7.0.6起; - 2.18.X 自Zabbix 7.0.10起; - 2.19.X 自Zabbix 7.0.13起; - 2.20.X 自Zabbix 7.0.17起; - 2.21.X 自Zabbix 7.0.18起。 |
|
SQLite | Optional | 3.3.5-3.34.X | SQLite仅支持Zabbix proxies。当SQLite作为Zabbix proxy数据库时必需。 |
smartmontools | 7.1或更高版本 | Zabbix agent 2功能必需。 | |
who | 用户计数插件必需。 | ||
dpkg | system.sw.packages插件必需。 | ||
pkgtool | system.sw.packages插件必需。 | ||
rpm | system.sw.packages插件必需。 | ||
pacman | system.sw.packages插件必需。 | ||
q applets | Gentoo Linux系统上,system.sw.packages插件需要qlist 和qsize 作为q applets的组成部分。 |
尽管Zabbix可与操作系统自带的数据库配合使用,但为获得最佳体验,建议使用从数据库开发者官方仓库安装的数据库。
Zabbix前端支持的最小屏幕宽度为1200px。
如果声明为必需项,则所需的软件/库是严格必要的。 可选参数用于支持某些特定功能。
软件 | 必需状态 | 支持版本 | 备注 |
---|---|---|---|
PHP | Yes | 8.0.0 - 8.4.X | 新增支持的PHP版本: - 自Zabbix 7.0.10起支持8.4.X |
Apache | One of | 2.4 或更高版本 | |
nginx | 1.20 或更高版本 | ||
MySQL | One of | 参见 第三方外部配套软件 | |
PostgreSQL | |||
Oracle | |||
PHP扩展 | |||
mysqli | Yes | 当使用MySQL作为Zabbix后端数据库时必须启用 | |
pgsql | 当使用PostgreSQL作为Zabbix后端数据库时必填。 | ||
oci8 | 当使用Oracle作为Zabbix后端数据库时必须安装. | ||
bcmath | php-bcmath (--enable-bcmath) | ||
mbstring | php-mbstring (--enable-mbstring) | ||
sockets | php-net-socket (--enable-sockets); 用户脚本支持所需。 | ||
gd | 2.0.28或更高版本 | php-gd(如果由发行商作为独立软件包提供);PHP GD扩展必须支持PNG图像(--with-png-dir)、JPEG图像(--with-jpeg-dir)以及FreeType 2(--with-freetype-dir)。为避免某些前端语言可能出现的文本重叠,可能需要2.3.0或更高版本。 | |
libxml | 2.6.15 或更高版本 | 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 | php-curl; 为Duo Universal Prompt所需 MFA. |
Zabbix 附带提供的第三方前端库:
库 | 必选状态 | 最小version | 备注 |
---|---|---|---|
jQuery JavaScript Library | Yes | 3.6.0 | 简化跨浏览器开发流程的JavaScript库。 |
jQuery UI | 1.12.1 | 一套基于jQuery Top构建的用户界面交互、效果、组件和主题集合。 | |
SAML PHP Toolkit | 4.0.0 | 一个PHP工具包,用于添加SAML 2.0认证支持以实现登录Zabbix的功能。 | |
Symfony Yaml Component | 5.1.0 | 新增对YAML格式中export和import Zabbix配置元素的支持。 |
Zabbix 同样可以在旧版本的 Apache、MySQL、Oracle 和 PostgreSQL 上运行。
对于默认DejaVu字体以外的其他字体,可能需要使用PHP函数imagerotate。 如果缺失这些字体,图表显示时可能会出现渲染错误。 此功能仅在PHP编译时包含捆绑的GD库的情况下可用,而Debian及其他发行版中并非如此。
用于编写和调试Zabbix前端代码的第三方库:
库 | 必选状态 | 最小 version | 描述 |
---|---|---|---|
Composer | No | 2.4.1 | 一个PHP应用层级的包管理工具,提供标准化格式用于管理PHP软件及其所需库的依赖关系。 |
PHPUnit | 8.5.29 | 用于测试Zabbix前端的PHP单元测试框架 | |
SASS | 3.4.22 | 一种预处理脚本语言,可被解释并编译为层叠样式表(CSS)。 |
必须启用 Cookies 和 JavaScript。
支持 Google Chrome、Mozilla Firefox、Microsoft Edge、Apple Safari 和 Opera 的最新稳定版本。
IFrames 的同源策略已实现,这意味着 Zabbix 不能被放置在不同域的框架中。
但是,如果放置在框架中的页面与 Zabbix 前端位于同一域,则该页面将可以通过 JavaScript 访问 Zabbix 前端。 例如,将 http://secure-zabbix.com/cms/page.html
页面放置在 http://secure-zabbix.com/zabbix/
的仪表板中后,该页面将拥有对 Zabbix 的完整 JS 访问权限。
如果声明为强制要求,则所需的软件/库是绝对必需的。 可选参数用于支持某些特定功能。
需求 | 必选状态 | 描述 |
---|---|---|
libpcre/libpcre2 | One of | 支持Perl Compatible Regular Expression (PCRE) 需要PCRE/PCRE2库. 不同GNU/Linux发行版可能使用不同命名,例如'libpcre3'或'libpcre1'。支持PCRE v8.x和PCRE2 v10.x版本。 |
libevent | Yes | 用于进程间通信的必需组件。要求版本2.0.10或更高(自Zabbix 7.0.4起;此前版本要求1.4)。 |
libevent-pthreads | 进程间通信所需。 | |
libpthread | 互斥锁和读写锁支持所需(可能是libc的一部分)。 | |
libresolv | DNS解析所必需(可能是libc的一部分)。 | |
libiconv | 文本编码/格式转换所需(可能是libc的一部分)。Linux环境下Zabbix server的强制依赖项。 | |
libz | 压缩功能支持所需依赖库. | |
libm | 数学库. 仅Zabbix server需要. | |
libmysqlclient | One of | 如果使用MySQL则必需 |
libmariadb | 若使用 mariadb 则为必选项。 | |
libclntsh | 若使用Oracle则必需;libclntsh version必须匹配或高于所用Oracle数据库的version版本。 | |
libpq5 | 若使用PostgreSQL则需安装;libpq5 version必须匹配或高于所用PostgreSQL数据库的version版本。 | |
libsqlite3 | 如果使用SQLite则必需。仅对Zabbix proxy为必需项。 | |
libOpenIPMI | No | 支持IPMI所需。仅Zabbix server需要。 |
libssh2 或 libssh | 用于 概述 的必需组件。版本要求:1.0 或更高(libssh2);0.9.0 或更高(libssh)。 | |
libcurl | 以下功能所需: - Web monitoring, VMware monitoring 和 HTTP agent 监控项 (全部要求: version 7.19.1 或更高版本); - Zabbix agent web.page.* 监控项 (version 7.19.1 或更高版本; 另见 agent 要求); - SMTP authentication (version 7.20.0 或更高版本); - Elasticsearch (version 7.28.0 或更高版本). 建议所有功能使用 7.28.0 或更高版本. 要为 web.page.* 监控项 使用升级的 cURL 功能,需重启 Zabbix server/proxy.SMTP 认证需在运行时使用 libcurl-full 包. |
|
libxml2 | VMware监控和XML XPath预处理所需. | |
net-snmp | SNMP支持所需。版本5.3.0或更高。 强加密协议(AES192/AES192C, AES256/AES256C)支持从net-snmp库5.8版本开始提供;在基于RHEL 8+的系统上,建议使用net-snmp 5.8.15或更高版本。 |
|
libunixodbc | 数据库监控所需依赖库。 | |
libgnutls 或 libopenssl | 使用 编译带加密支持的zabbix 时必需. 最低版本要求: libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
libldap | LDAP支持所需。 | |
fping | icmp-ping-检测所需组件. | |
c-ares | 当Zabbix配置了--with-ares 选项时,用于异步DNS解析。否则将使用libevent。自Zabbix 7.0.11起支持;最低version要求:1.16.0 |
需求 | 强制状态 | 描述 |
---|---|---|
libpcre/libpcre2 | One of | PCRE/PCRE2库为Perl Compatible Regular Expression (PCRE)支持所必需。 命名可能因GNU/Linux发行版而异,例如'libpcre3'或'libpcre1'。支持PCRE v8.x和PCRE2 v10.x。 日志监控需要。Windows上也需安装。 |
libpthread | Yes | 互斥锁和读写锁支持所需(可能是libc的一部分)。Windows不需要。 |
libresolv | DNS解析所需(可能是libc的一部分)。Windows不需要。 | |
libiconv | 日志监控项、file内容、file正则表达式和regmatch 监控项中文本编码/格式转换为UTF-8所需(可能是libc的一部分)。Windows不需要。 | |
libgnutls 或 libopenssl | No | 使用编译带加密支持的zabbix时必需。 最低版本: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或更高版本。 |
需求 | 必须状态 | 描述 |
---|---|---|
Go | Yes | 从源代码构建 Zabbix agent 2 及其插件时需要。 支持 Go 1.23 或更高版本。安装说明请参见 go.dev。 Zabbix agent 2 及其插件使用的 Go 库在 Zabbix Git 仓库中列出(仓库中标记为 indirect 的库是其他必需库的依赖项):- Zabbix agent 2 - Plugin support - PostgreSQL - MongoDB - MSSQL - Ember+ - Example plugin |
libpcre/libpcre2 | One of | 支持 Perl Compatible Regular Expression(PCRE)时需要 PCRE/PCRE2 库。 根据 GNU/Linux 发行版的不同,名称可能不同,例如 'libpcre3' 或 'libpcre1'。支持 PCRE v8.x 和 PCRE2 v10.x。 日志监控需要。Windows 上也需要。 |
libopenssl | No | 使用加密时需要。 UNIX 平台上需要 OpenSSL 1.0.1 或更高版本。 OpenSSL 库必须启用 PSK 支持。不支持 LibreSSL。 在 Microsoft Windows 系统上需要 OpenSSL 1.1.1 或更高版本。 |
使用 Zabbix 网络服务生成预定报告时,支持最新稳定版的 Google Chrome version。
用于构建网络服务的所需 Go version 应与用于 Zabbix agent 2 的版本一致。
如果您从源代码仓库或归档文件获取了 Zabbix,则必要依赖项已经包含在源代码树中。
如果您从发行版的软件包获取了 Zabbix,则必要的依赖项已经由打包系统提供。
在上述两种情况下,软件已经可以使用,无需额外下载。
然而,如果您希望提供自己的依赖版本(例如,如果您正在为某个 Linux 发行版准备软件包),以下是 Java gateway 已知可正常工作的库版本列表:
Zabbix 也可能与这些库的其他版本兼容。
以下表格列出了当前与 Java gateway 一起捆绑在原始代码中的 JAR 文件:
库 | 必须状态 | 最低版本 | 注释 |
---|---|---|---|
android-json | Yes | 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 |
可以使用 Oracle Java 或开源的 OpenJDK(version 1.6 或更高版本)来构建 Java gateway。 Zabbix 提供的软件包是使用 OpenJDK 编译的。 以下表格列出了不同发行版用于构建 Zabbix 软件包的 OpenJDK 软件包:
发行版 | OpenJDK 软件包 |
---|---|
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 | on demand |
Zabbix agent 2 | 10050 | TCP | on demand |
Zabbix server | 10051 | TCP | on demand |
Zabbix proxy | 10051 | TCP | on demand |
Zabbix Java gateway | 10052 | TCP | on demand |
Zabbix web service | 10053 | TCP | on demand |
Zabbix前端 | 80 | HTTP | on demand |
443 | HTTPS | on demand | |
Zabbix trapper | 10051 | TCP | on demand |
应开放防火墙中的端口号以启用Zabbix通信。 通常,传出的TCP连接不需要显式的防火墙设置。
Zabbix 的配置数据需要固定的磁盘空间,且不会显著增长。
Zabbix 数据库的大小主要取决于以下变量,这些变量定义了存储的历史数据量:
这是 Zabbix server 每秒平均接收到的新值数量。 例如,如果我们有 监控项 个监控项,刷新率为 60 秒,则每秒的值数量计算为 监控项/60 = 50。
这意味着每秒向 Zabbix 数据库中添加 50 个新值。
Zabbix 会将值保留固定的时间段,通常为几周或几个月。 每个新值都需要一定量的磁盘空间用于数据和索引。
因此,如果我们希望保留 30 天的历史数据,并且每秒接收 50 个值,则总值数量大约为 (30*24*3600)* 50 = 129,600,000,或约 1.3 亿个值。
根据所使用的数据库引擎、接收值的类型(浮点数、整数、字符串、日志文件等),存储单个值所需的磁盘空间可能从 40 字节到数百字节不等。 通常情况下,对于数值型 监控项2,每个值大约需要 90 字节。 在我们的案例中,这意味着 1.3 亿个值将需要 130M * 90 字节 = 10.9GB 的磁盘空间。
文本/日志 监控项值 的大小无法精确预测,但您可预计每个值大约需要 500 字节。
Zabbix 会在表 trends 中为每个 监控项 保留每小时的 max/min/avg/count 值集。 这些数据用于趋势分析和长期图表。 每小时的时间段无法自定义。
根据数据库类型的不同,Zabbix 数据库每个总计大约需要 90 字节。 假设我们希望保留 5 年的趋势数据。 3000 个 监控项 的值将需要 3000*24*365* 90 = 2.2GB 每年,或 5 年需要 11GB。
每个 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 configuration | 固定大小。通常为 10MB 或更少。 |
History | 天数*(监控项/刷新间隔)*24*3600*字节数 监控项 : 监控项 的数量 天数 : 要保留的历史天数 刷新间隔 : 监控项 的平均刷新率 字节数 : 存储单个值所需的字节数,取决于数据库引擎,通常约为 90 字节。 |
Trends | 天数*(监控项/3600)*24*3600*字节数 监控项 : 监控项 的数量 天数 : 要保留的历史天数 字节数 : 存储单个趋势所需的字节数,取决于数据库引擎,通常约为 90 字节。 |
Events | 天数*事件数*24*3600*字节数 事件数 : 每秒的事件数量。最坏情况下每秒一个(1)事件。 天数 : 要保留的历史天数 字节数 : 存储单个趋势所需的字节数,取决于数据库引擎,通常约为 330 + 每个事件的平均标签数量 * 100 字节。 |
因此,总所需磁盘空间可以计算为:
配置 + 历史 + 趋势 + 事件
Zabbix 安装后不会立即使用全部磁盘空间。 数据库的大小会逐渐增长,直到达到某个点,这取决于 Housekeeper 的设置。
运行Zabbix的服务器上必须拥有精确的系统时间。 ntpd 是最常用的守护进程,用于将 主机 的时间与其他机器的时间进行同步。 强烈建议在运行Zabbix组件的所有系统上保持系统时间同步。
以下列出的开放端口适用于各组件的默认配置。
端口 | 组件 |
---|---|
前端 | 80 上的 http,443 上的 https |
服务器 | 10051(用于主动 proxy/agents) |
主动 Proxy | 10051 |
被动 Proxy | 10051 |
Agent2 | 10050 |
Trapper | |
JavaGateway | 10052 |
WebService | 10053 |
应 在防火墙中打开端口号以启用与 Zabbix 的外部通信。 通常,传出的 TCP 连接不需要显式的防火墙设置。