内存
Zabbix 需要物理内存和磁盘内存。所需的磁盘内存量显然取决于正在监控的主机和参数的数量。如果您计划保留受监控参数的长期历史记录,则应该考虑至少几 GB 的空间,以便有足够的空间将历史记录存储在数据库中。每个 Zabbix 守护进程都需要与数据库服务器建立多个连接。分配给连接的内存量取决于数据库引擎的配置。
您拥有的物理内存越多,数据库(以及 Zabbix )的工作速度就越快!
CPU
Zabbix,尤其是 Zabbix 数据库可能需要大量 CPU 资源,该具体取决于被监控参数的数量和所选的数据库引擎。
其它硬件
在 Zabbix 中使用 SMS 通知支持需要串行通信端口和串行 GSM 调制解调器。USB 转串行转换器也可以使用。
该表提供了硬件配置示例,假设是 Linux/BSD/Unix 平台。
这些是开始时的大小和硬件配置示例。 每个 Zabbix 安装都是独一无二的。 确保在暂存或开发环境中对 Zabbix 系统的性能进行基准测试,以便在将 Zabbix 安装部署到其生产环境之前充分了解您的要求。
安装大小 | 监控指标1 | CPU/vCPU 内核 | 内存 (GiB) |
数据库 | Amazon EC22 |
---|---|---|---|---|---|
小 | 1 000 | 2 | 8 | MySQL 服务器, Percona 服务器, MariaDB 服务器, PostgreSQL |
m6i.large/m6g.large |
中 | 10 000 | 4 | 16 | MySQL 服务器, Percona 服务器, MariaDB 服务器, PostgreSQL |
m6i.xlarge/m6g.xlarge |
大 | 100 000 | 16 | 64 | MySQL 服务器, Percona 服务器, MariaDB 服务器, PostgreSQL, Oracle |
m6i.4xlarge/m6g.4xlarge |
非常大 | 1 000 000 | 32 | 96 | MySQL 服务器, Percona 服务器, MariaDB 服务器, PostgreSQL, Oracle |
m6i.8xlarge/m6g.8xlarge |
1 1 个指标 = 1 个项目 + 1 个触发器 + 1 个图表
2 以 Amazon 通用 EC2 实例为例,使用 ARM64 或 x86_64 架构,在生产环境中安装之前,应在 Zabbix 安装评估和测试期间选择适当的实例类型,如计算/内存/存储优化。
实际配置很大程度上取决于活动监控项的数量和刷新率(请参阅本节的 数据库大小 部分 详情页)。 对于大型安装,强烈建议在单独的机器上运行数据库。
由于安全要求和监控服务器的使命关键性质,UNIX是唯一能够持续提供必要性能、容错能力和弹性的操作系统。Zabbix在市场领先的版本上运行。
Zabbix组件适用于以下平台,并经过测试:
平台 | Server | Agent | Agent 2 | 注释 |
---|---|---|---|---|
Linux | √ | √ | √ | |
Windows | - | √ | √ | Zabbix Agent 支持自Windows XP (64位)/Server 2003以来的所有桌面和服务器版本。 Zabbix Agent 2 支持自Windows 10 (32位)/Server 2016以来的所有桌面和服务器版本,因为它仅与 Go 编译以防止关键安全漏洞。从Go 1.21开始,最低系统要求提高,使得Windows 10/Server 2016成为Zabbix Agent 2的最低版本。 |
Solaris | √ | √ | - | |
AIX | √ | √ | - | Zabbix Agent在低于6.1 TL07 / 7.1 TL01版本的AIX平台上无法工作。 |
HP-UX | √ | √ | - | |
FreeBSD | √ | √ | - | |
OpenBSD | √ | √ | - | |
NetBSD | √ | √ | - | |
MacOS | √ | √ | - |
Zabbix Agent/Zabbix Agent 2 可能在其他类Unix操作系统上工作。
如果使用加密编译,Zabbix会禁用核心转储,如果系统不允许禁用核心转储,Zabbix将不会启动。
Zabbix是围绕现代Web服务器,领先的数据库引擎和PHP脚本语言构建的。
如果声明为必需,所需软件/库是严格必要的。 可选的软件是为支持某些特定功能所需。
Software | 必需状态 | 支持版本 | 备注 |
---|---|---|---|
MySQL/Percona | 其中之一 | 8.0.30-9.0.X | 如果使用MySQL(或Percona)作为Zabbix后端数据库,则需要。需要InnoDB引擎。 自Zabbix 7.0.1起,添加了对MySQL版本的支持: - 8.4.X; - 自Zabbix 7.0.2起,9.0.X。 我们建议使用C API (libmysqlclient)库来构建server/proxy。 |
MariaDB | 10.5.00-11.5.X | 需要InnoDB引擎。 推荐版本是11.4。 我们建议使用MariaDB Connector/C库来构建server/proxy。 自Zabbix 7.0.1起,添加了对MariaDB版本的支持: - 11.4.X; - 自Zabbix 7.0.4起,11.5.X。 另请参阅:可能的MariaDB死锁和使用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),以确保数据库用于特定操作的内存量足够,且查询执行不会花费太多时间。 自Zabbix 7.0.6起,添加了对PostgreSQL版本的支持: - 17.X。 |
|
TimescaleDB for PostgreSQL | 2.13.0-2.19.X | 如果使用TimescaleDB作为PostgreSQL数据库扩展,则需要。确保安装TimescaleDB Community Edition,它支持压缩。 请注意,自TimescaleDB 2.10起,支持PostgreSQL 15。 您也可以参考Timescale文档,了解PostgreSQL和TimescaleDB版本兼容性的详细信息。 自Zabbix 7.0.1起,添加了对TimescaleDB版本的支持: - 2.15.X; - 自Zabbix 7.0.4起,2.16.X; - 自Zabbix 7.0.6起,2.17.X; - 自Zabbix 7.0.10起,2.18.X; - 自Zabbix 7.0.13起,2.19.X。 |
|
SQLite | 可选 | 3.3.5-3.34.X | 仅在Zabbix proxies中支持SQLite。如果使用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 | qlist 和qsize ,作为q applets的一部分,是Gentoo Linux上system.sw.packages插件所需。 |
尽管Zabbix可以与操作系统中可用的数据库一起工作,为了获得最佳体验,我们建议使用从官方数据库开发者仓库安装的数据库。
Zabbix 前台支持的最小屏幕宽度为 1200px。
如果声明为必需,所需软件/库是严格必要的。可选的则需要支持某些特定功能。
软件 | Mandatory status | 支持版本 | 备注 |
---|---|---|---|
PHP | 是 | 8.0.0 - 8.4.X | 新增支持 PHP 版本: - 从 Zabbix 7.0.10 开始支持 8.4.X。 |
Apache | 其中之一 | 2.4 或更高版本 | |
Nginx | 1.20 或更高版本 | ||
MySQL | 其中之一 | ||
PostgreSQL | |||
Oracle | |||
PHP 扩展 | |||
mysqli | 是 | 如果使用 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 | 否 | php-ldap;需要用于 LDAP 身份验证。 | |
openssl | php-openssl;需要用于 SAML 身份验证。 | ||
gettext | php-gettext (--with-gettext);需要用于翻译。 | ||
curl | php-curl;需要用于 Duo Universal Prompt 多因素身份验证选项。 |
随 Zabbix 提供的第三方前台库:
库 | Mandatory status | 最低版本 | 备注 |
---|---|---|---|
jQuery JavaScript Library | 是 | 3.6.0 | 简化跨浏览器开发过程的 JavaScript 库。 |
jQuery UI | 1.12.1 | 基于 jQuery 构建的一组用户界面交互、效果、小部件和主题。 | |
SAML PHP Toolkit | 4.0.0 | 一个 PHP 工具包,添加 SAML 2.0 身份验证支持,以便能够登录到 Zabbix。 | |
Symfony Yaml Component | 5.1.0 | 添加支持以 YAML 格式导出和导入 Zabbix 配置元素。 |
Zabbix 也可能在 Apache、MySQL、 Oracle 和 PostgreSQL 的先前版本上运行。
对于默认的 DejaVu 以外的其他字体,PHP 函数 imagerotate 可能 是必需的。如果缺失,这些字体在显示图表时可能会渲染不正确。此函数仅在 PHP 与捆绑的 GD 编译时可用,这在 Debian 和其他 发行版中并非如此。
用于编写和调试 Zabbix 前台代码的第三方库:
库 | Mandatory status | 最低版本 | 描述 |
---|---|---|---|
Composer | 否 | 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 前端位于同一域中,则放置在 Zabbix 框架中的页面将可以访问 Zabbix 前端(通过 JavaScript)。如果将 之类的页面放置http://secure-zabbix.com/cms/page.html
在 上的仪表板中http://secure-zabbix.com/zabbix/
,它将具有对 Zabbix 的完全 JS 访问权限。
如果声明为必需,所需软件/库是严格必要的。 可选的则需要支持某些特定功能。
要求 | Mandatory status | 描述 |
---|---|---|
libpcre/libpcre2 | 其中之一 | PCRE/PCRE2库对于Perl兼容正则表达式 (PCRE)支持是必需的。 命名可能因GNU/Linux发行版而异,例如'libpcre3'或'libpcre1'。支持PCRE v8.x和PCRE2 v10.x。 |
libevent | 是 | 对于进程间通信是必需的。版本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 | 其中之一 | 如果使用MySQL,则是必需的。 |
libmariadb | 如果使用MariaDB,则是必需的。 | |
libclntsh | 如果使用Oracle,则是必需的;libclntsh版本必须匹配或高于所使用的Oracle数据库版本。 | |
libpq5 | 如果使用PostgreSQL,则是必需的;libpq5版本必须匹配或高于所使用的PostgreSQL数据库版本。 | |
libsqlite3 | 如果使用SQLite,则是必需的。仅对于Zabbix proxy是必需的。 | |
libOpenIPMI | 否 | 对于IPMI支持是必需的。仅对于Zabbix server是必需的。 |
libssh2 或 libssh | 对于SSH检查是必需的。版本1.0或更高(libssh2);0.9.0或更高(libssh)。 | |
libcurl | 对于web监控、VMware监控、SMTP认证、web.page.* Zabbix agent 监控项、HTTP agent监控项和Elasticsearch(如果使用)是必需的。需要版本7.19.1或更高(推荐7.28.0或更高)。Libcurl版本要求: - SMTP认证:版本7.20.0或更高 - Elasticsearch:版本7.28.0或更高 为了利用升级的cURL特性,重启Zabbix server/proxy和agent(对于 web.page.* 监控项)。 |
|
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 | 当使用加密时是必需的。 最低版本:libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
libldap | 对于LDAP支持是必需的。 | |
fping | 对于ICMP ping监控项是必需的。 | |
c-ares | 如果Zabbix配置了--with-ares 选项,则对于异步DNS解析是必需的。否则,将使用libevent。自Zabbix 7.0.11起支持;最低版本:1.16.0 |
要求 | 强制状态 | 描述 |
---|---|---|
libpcre/libpcre2 | 之一 | PCRE/PCRE2 库是 Perl 兼容正则表达式 (PCRE) 支持所必需的。 命名可能因 GNU/Linux 发行版而异,例如“libpcre3”或“libpcre1”。支持 PCRE v8.x 和 PCRE2 v10.x。 日志监控所必需的。Windows 上也必需。 |
libpthread | 是 | 互斥和读写锁支持所必需的(可能是 libc 的一部分)。Windows 上不需要。 |
libresolv | DNS 解析所需(可能是 libc 的一部分)。Windows 上不需要。 | |
libiconv | 需要将日志项、文件内容、文件正则表达式和 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 | Rweb.page.* Zabbix agent监控项必需。不支持 Windows。 需要 7.19.1 或更高版本(建议使用 7.28.0 或更高版本)。 要使用升级的 cURL 功能,请重新启动 Zabbix agent。 |
|
libmodbus | 仅在使用 Modbus 监控时才需要。 版本 3.0 或更高版本。 |
Requirement | Mandatory status | Description |
---|---|---|
Go | 是 | 需要用于从源代码构建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 | 其中之一 | PCRE/PCRE2库对于Perl Compatible Regular Expression(PCRE)支持是必需的。 命名可能因GNU/Linux发行版而异,例如'libpcre3'或'libpcre1'。支持PCRE v8.x和PCRE2 v10.x。 对于日志监控是必需的。在Windows上也是必需的。 |
libopenssl | 否 | 在使用加密时需要。 在UNIX平台上需要OpenSSL 1.0.1或更高版本。 OpenSSL库必须启用PSK支持。不支持LibreSSL。 在Microsoft Windows系统上需要OpenSSL 1.1.1或更高版本。 |
最新稳定版的Google Chrome被支持用于通过Zabbix网络服务生成计划报告。
构建网络服务所需的Go版本与Zabbix agent 2中使用的版本相匹配。请注意,此处的"Zabbix agent 2"应被视为一个占位符或链接,直接保留不翻译。
如果您从源代码仓库或存档中获取了Zabbix,那么 所需的依赖项已经包含在源代码树中。
如果您从发行版的软件包中获取了Zabbix,那么 所需的依赖项已经由软件包管理系统提供。
在上述两种情况下,软件已经准备好使用,无需额外 下载。
然而,如果您希望提供您自己的这些依赖项版本 (例如,如果您正在为某个Linux 发行版准备软件包),以下是Java网关已知可工作的库版本列表。Zabbix可能也与这些 库的其他版本兼容。
下表列出了目前与Java 网关捆绑在一起的JAR文件:
库 | 强制状态 | 最低版本 | 注释 |
---|---|---|---|
android-json | 是 | 4.3r1 | JSON(JavaScript对象表示法)是一种轻量级的数据交换格式。这是从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 软件包,按发行版分类:
发行版 | 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 frontend | 80 | HTTP | on demand |
443 | HTTPS | on demand | |
Zabbix trapper | 10051 | TCP | on demand |
端口号应在防火墙中打开以放行 Zabbix 通信。传出 TCP 连接通常不需要明确的防火墙设置。
Zabbix 配置文件数据需要固定数量的磁盘空间,且增长不大。
Zabbix 数据库大小主要取决于这些变量,这些变量决定了存储的历史数据量:
这是 Zabbix server 每秒接收的新值的平均数。 例如,如果有3000个监控项用于监控,取值间隔为60秒,则这个值的数量计算为 3000/60 = ** 50 **。
这意味着每秒有 50 个新值被添加到 Zabbix 数据库中。
Zabbix 将接收到的值保存一段固定的时间,通常为几周或几个月。 每个新值都需要一定量的磁盘空间用于数据和索引。
所以,如果我们每秒收到 50 个值,且希望保留 30 天的历史数据,值的总数将大约在 (30*24*3600)* 50 = 129.600.000,即大约 130M 个值。
根据所使用的数据库引擎,接收值的类型(浮点数、整数、字符串、日志文件等),单个值的磁盘空间可能在 40 字节到数百字节之间变化。通常,数值类型的每个值大约为 90 个字节2。在上面的例子中,这意味着 130M 个值需要占用 130M * 90 bytes = 10.9GB 磁盘空间。
文本/日志类型的监控项值的大小是无法确定的,但可以以每个值大约 500 字节来计算。
Zabbix 为表 trends 中的每个项目保留1小时的最大值 / 最小值 / 平均值 / 统计值。该数据用于趋势图形和历史数据图形。这一个小时的时间段是无法自定义。
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 配置 | 固定大小。通常为 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 配置 + 历史数据 + 趋势数据 + 事件数据
在安装 Zabbix 后不会立即使用磁盘空间。 数据库大小取决于 housekeeper 设置,在某些时间点增长或停止增长。
服务器上拥有精确的系统时间对 Zabbix 的运行非常重要。 ntpd 是最流行的守护程序,它将主机的时间与其他计算机的时间同步。强烈建议在运行 Zabbix 组件的所有系统上保持系统时间同步。
每个组件的开放端口以下列表适用于默认配置。
组件 | 端口备注 |
---|---|
Frontend | http on 80, https on 443 |
Server | 10051 (for use with active proxy/agents) |
Active Proxy | 10051 |
Passive Proxy | 10051 |
Agent2 | 10050 |
Trapper | |
JavaGateway | 10053 |
WebService | 10053 |
应在防火墙中打开端口号以启用放行 Zabbix 的外部通信。传出 TCP 连接通常不需要明确的防火墙设置。