Zabbix4.2 文档 安装要求

本文详细介绍了Zabbix监控系统的硬件与软件需求,包括内存、CPU、磁盘空间的最低配置,以及数据库、Web服务器、脚本语言的支持版本。同时,探讨了不同规模的监控需求对硬件配置的影响。

要求

硬件

记忆

Zabbix需要物理内存和磁盘内存。128 MB的物理内存和256 MB的可用磁盘空间可能是一个很好的起点。但是,所需的磁盘内存量显然取决于正在监视的主机和参数的数量。如果您计划保留受监视参数的长历史,那么您应该考虑至少几千兆字节,以便有足够的空间将历史记录存储在数据库中。每个Zabbix守护程序进程都需要与数据库服务器建立多个连接。为连接分配的内存量取决于数据库引擎的配置。

您拥有的物理内存越多,数据库(以及Zabbix)的工作速度就越快!

中央处理器

Zabbix,尤其是Zabbix数据库可能需要大量CPU资源,具体取决于受监视参数的数量和所选的数据库引擎。

其他硬件

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

硬件配置示例

该表提供了几个硬件配置示例:

名称平台CPU /内存数据库受监控的主机
CentOS虚拟设备MySQL InnoDB100
介质CentOS2个CPU核心/ 2GBMySQL InnoDB500
RedHat Enterprise Linux4个CPU核心/ 8GBRAID10 MySQL InnoDB或PostgreSQL> 1000
很大RedHat Enterprise Linux8个CPU核心/ 16GB快速RAID10 MySQL InnoDB或PostgreSQL> 10000

实际配置非常依赖于活动项目数和刷新率。强烈建议在单独的框中运行数据库以进行大型安装。

支持的平台

由于监视服务器的安全性要求和任务关键性,UNIX是唯一能够始终如一地提供必要性能,容错和弹性的操作系统。Zabbix以市场领先的版本运营。

Zabbix在以下平台上进行了测试:

  • Linux

  • IBM AIX

  • FreeBSD

  • NetBSD

  • OpenBSD系统

  • HP-UX

  • Mac OS X.

  • Solaris

  • Windows:自XP以来的所有桌面和服务器版本(仅限Zabbix代理)

Zabbix也可以在其他类Unix操作系统上运行。

如果使用加密编译,Zabbix将禁用核心转储,如果系统不允许禁用核心转储,则Zabbix不会启动。

软件

Zabbix是围绕现代Apache Web服务器,领先的数据库引擎和PHP脚本语言构建的。

数据库管理系统

软件评论
MySQL5.0.3 - 8.0.x如果MySQL用作Zabbix后端数据库,则是必需的。InnoDB引擎是必需的。
MariaDB也与Zabbix合作。
Oracle10g或更高如果将Oracle用作Zabbix后端数据库,则为必需。
PostgreSQL8.1或更高版本如果将PostgreSQL用作Zabbix后端数据库,则必需。
建议至少使用PostgreSQL 8.3,它引入了更好的VACUUM性能
TimescaleDB1.0或更高版本,
OSS(免费)版本
如果TimescaleDB用作Zabbix后端数据库,则为必需。
IBM DB29.7或更高版本如果将IBM DB2用作Zabbix后端数据库,则为必需。
SQLite3.3.5或更高版本只有Zabbix代理支持SQLite。如果SQLite用作Zabbix代理数据库,则为必需。

IBM DB2和TimescaleDB支持是实验性的!

前端

运行Zabbix前端需要以下软件:

软件评论
Apache1.3.12或更高版本 
PHP5.4.0或更高版本 
PHP扩展:
gd2.0.28或更高版本PHP GD扩展必须支持PNG图像( - with-png-dir),JPEG( - with-jpeg-dir)图像和FreeType 2(-- with-freetype-dir)。
bcmath php-bcmath(--enable-bcmath
ctype php-ctype(-- enable-ctype
libxml2.6.15或更高版本php-xml或php5-dom,如果由经销商作为单独的包提供。
xmlreader php-xmlreader,如果由经销商提供为单独的包。
xmlwriter php-xmlwriter,如果由经销商提供为单独的包。
session php-session,如果由经销商作为单独的包提供。
sockets php-net-socket(-- enable-socket)。用户脚本支持需要。
mbstring php-mbstring(--enable-mbstring
gettext php-gettext(-- with-gettext)。翻译工作需要。
ldap PHP-LDAP。仅在前端中使用LDAP身份验证时才需要。
ibm_db2 如果将IBM DB2用作Zabbix后端数据库,则为必需。
mysqli 如果MySQL用作Zabbix后端数据库,则是必需的。
oci8 如果将Oracle用作Zabbix后端数据库,则为必需。
pgSQL 如果将PostgreSQL用作Zabbix后端数据库,则必需。

Zabbix也可以在以前的Apache,MySQL,Oracle和PostgreSQL版本上运行。

对于除默认DejaVu之外的其他字体,可能需要PHP函数imagerotate。如果缺少,则在显示图形时可能会错误地呈现这些字体。只有在使用捆绑的GD编译PHP时才能使用此函数,而在Debian和其他发行版中则不是这种情况。

客户端的Web浏览器

必须启用Cookie和Java Script。

支持最新版本的Google Chrome,Mozilla Firefox,Microsoft Internet Explorer和Opera。其他浏览器(Apple Safari,Konqueror)也可以与Zabbix一起使用。

实现了IFrame的相同原始策略,这意味着Zabbix不能放在不同域的帧中。

但是,如果放置在框架中的页面和Zabbix前端位于同一个域中,则置于Zabbix框架中的页面将可以访问Zabbix前端(通过JavaScript)。一个页面一样http://secure-zabbix.com/cms/page.html,如果放置到屏幕上的仪表盘或http://secure-zabbix.com/zabbix/将有充分的JS访问的zabbix。

服务器

始终需要强制性要求。支持特定功能需要可选要求。

需求状态描述
libpcre强制性Perl兼容正则表达式(PCRE)支持需要PCRE库。
命名可能因GNU / Linux发行版而异,例如'libpcre3'或'libpcre1'。请注意,您需要完全PCRE(v8.x); 未使用PCRE2(v10.x)库。
libevent批量指标支持和IPMI监控所必需的。版本1.4或更高版本。
请注意,对于Zabbix代理,此要求是可选的; 它是IPMI监控支持所必需的。
libpthread对于互斥锁和读写锁支持是必需的。
zlib压缩支持需要。
OpenIPMI可选的IPMI支持需要。
libssh2SSH支持需要。版本1.0或更高版本。
fpingICMP ping项必需。
libcurlWeb监控,VMware监控,SMTP身份验证,​web.page.*Zabbix代理,HTTP代理项和Elasticsearch(如果使用)所必需的。建议使用7.28.0或更高版本。
Libcurl版本要求:
- SMTP身份验证:版本7.20.0或更高
版本 - Elasticsearch:版本7.28.0或更高版本
libiksemelJabber支持需要。
libxml2VMware监视和XML XPath预处理所必需的。
net-snmpSNMP支持需要。

Java网关

如果从源存储库或存档中获取Zabbix,则源树中已包含必需的依赖项。

如果您从分发包中获得Zabbix,那么包装系统已经提供了必要的依赖关系。

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

但是,如果您希望提供这些依赖项的版本(例如,如果您正在为某些Linux发行版准备软件包),则下面是Java网关已知可以使用的库版本列表。Zabbix也可以与这些库的其他版本一起使用。

下表列出了原始代码中当前与Java网关捆绑在一起的JAR文件:

图书馆执照网站评论
logback-core-0.9.27.jarEPL 1.0,LGPL 2.1http://logback.qos.ch/测试0.9.27,1.0.13和1.1.1。
logback-classic-0.9.27.jarEPL 1.0,LGPL 2.1http://logback.qos.ch/测试0.9.27,1.0.13和1.1.1。
slf4j-api-1.6.1.jarMIT许可证http://www.slf4j.org/测试1.6.1,1.6.6和1.7.6。
android-json-4.3_r3.1.jarApache License 2.0https://android.googlesource.com/platform/libcore/+/master/json测试2.3.3_r1.1和4.3_r3.1。有关创建JAR文件的说明,请参阅src / zabbix_java / lib / README。

Java网关使用Java 1.6及更高版本编译和运行。建议那些为其他人提供网关预编译版本的人使用Java 1.6进行编译,以便它可以在所有版本的Java上运行,直到最新版本。

数据库大小

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

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

  • 每秒处理的值数

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

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

  • 管家设置历史

Zabbix将值保持一段固定的时间,通常为几周或几个月。每个新值都需要一定量的磁盘空间用于数据和索引。

因此,如果我们想要保留30天的历史记录并且我们每秒收到50个值,则值的总数将在(30 * 24 * 3600)* 50 = 129.600.000或大约130M的值附近。

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

文本/日志项值的大小无法准确预测,但每个值可能需要大约500个字节。

  • 管家设置趋势

Zabbix为表格趋势中的每个项目保留1小时最大/最小/平均/计数值集。该数据用于趋势和长周期图。一小时的时间段无法定制。

Zabbix数据库,根据数据库类型,每个总共需要大约90个字节。假设我们希望将趋势数据保持5年。3000项的值将需要3000 * 24 * 365 * 90 = 2.2GB每年或11GB为5年。

  • 管家设置事件

每个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 *(项目/刷新率)* 24 * 3600 * bytes 
项目:项目
天数:保持历史
刷新率的天数:项目平均刷新率
字节:保持单个值所需的字节数,取决于数据库引擎,通常~90个字节。
趋势days *(items / 3600)* 24 * 3600 * bytes 
项目:项目
天数:保持历史
字节数天数:保持单个趋势所需的字节数,取决于数据库引擎,通常为~90字节。
活动days * events * 24 * 3600 * bytes 
events:每秒事件数。在最坏的情况下每秒一(1)个事件。
days:保留历史
字节的天数:保持单个趋势所需的字节数,取决于数据库引擎,通常~330 +每个事件的平均标签数* 100字节。

因此,所需的总磁盘空间可以计算为:
配置+历史记录+趋势+事件
Zabbix安装后不会立即使用磁盘空间。数据库大小将增长然后它将在某个时刻停止增长,这取决于管家设置。

时间同步

在运行Zabbix的服务器上拥有精确的系统日期非常重要。ntpd是最受欢迎的守护进程,它将主机的时间与其他计算机的时间同步。强烈建议在运行Zabbix组件的所有系统上维护同步系统日期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值