zabbix6.0安装教程:安装要求&获取方式

Posted 正月十六工作室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix6.0安装教程:安装要求&获取方式相关的知识,希望对你有一定的参考价值。


zabbix6.0安装教程(一):安装要求&获取方式


目录


一、zabbix6.0安装要求

1.硬件

1.1 内存和磁盘

Zabbix6.0安装 运行需要物理内存和磁盘空间。如果刚接触 Zabbix,128 MB 的物理内存和 256 MB 的可用磁盘空间可能是一个很好的起点。 然而,所需的内存和磁盘空间显然取决于被监控的主机数量和配置参数。 如果您计划调整参数以保留较长的历史数据,那么您应该考虑至少有几 GB 磁盘空间,以便有足够的磁盘空间将历史数据存储在数据库中。

每个 Zabbix 守护程序进程都需要与数据库服务器建立多个连接。 为连接分配的内存量取决于数据库引擎的配置。

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

1.2CPU

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

1.3其它硬件

如果需要启用短信(SMS)通知功能,需要串行通讯口(serial communication port)和串行GSM调制解调器(serial GSM modem)。USB转串行转接器也同样可以工作。

1.4硬件资源配置参考

下表提供了几个硬件配置参考:

名称平台CPU/内存数据库监控主机数
CentOSVirtual Appliancemysql InnoDB100
CentOS2 CPU cores/2GBMySQL InnoDB500
RedHat Enterprise Linux4 CPU cores/8GBRAID10 MySQL InnoDB or PostgreSQL>1000
非常大RedHat Enterprise Linux8 CPU cores/16GBFast RAID10 MySQL InnoDB or PostgreSQL>10000

实际上,Zabbix 环境的配置非常依赖于监控项(主动)和更新间隔。 (查看这个页面的 数据库大小 章节以了解详情)。如果是进行大规模部署,强烈建议将数据库独立部署。

Installation size (dedicated servers/on-prem/virtual/clouds)Installation size (dedicated servers/on-prem/virtual/clouds)Installation size (dedicated servers/on-prem/virtual/clouds)Installation size (dedicated servers/on-prem/virtual/clouds)Containers baseLarge/very large installations (dedicated servers/on-prem/virtual/clouds)Large/very large installations (dedicated servers/on-prem/virtual/clouds)Large/very large installations (dedicated servers/on-prem/virtual/clouds)Large/very large installations (dedicated servers/on-prem/virtual/clouds)
SmallMediumLargeVery largeAllDatabaseServerFrontendProxy
Hardware examples
CPU (2018+ m.y.)2 core8 core4+ core24 core
CPU High clock frequency (2018+ m.y.)1 core8 core16+ core8+ core
RAM1 GB2 GB16 GB64+ GB32+ GB16 GB8+ GB24 GB
NUMA (check/setup if >2 sockets or >8 cores VM)++++
Storage/SANRAIDvRAIDvRAID
Flash storage/SAN+vRAIDvRAID
SSD write-intensive or mixed usage+++
NVME+++
Any storage for OS and logs+++
Hosts100500>1000>10000
Database examples
Oracle Database++++
Percona Server++++++
MariaDB Enterprise/Community Server++++++
MySQL Community Edition/Commercial++++++
PostgreSQL/PostgreSQL Pro/EnterpriseDB++++++
TimescaleDB++++++
Filesystem examples
BTRFS++
EXT4++++++++
XFS++++++++
ZFS+++
Networking examples
Synchronous cluster (RTT/Latency)Single DC
Asynchronous replication (RTT/Latency)<5 seconds
NIC Teaming/BondingRecommendedRecommendedRecommendedRecommendedRecommended
Bandwidth10mbits/sec+100mbits/sec+100mbits/sec+1000mbits/sec+1000mbits/sec+1000mbits/sec+1000mbits/sec+1mbit/sec+3

1 For adoption and testing
2 According to the amount of users
3 Depending on the workload and requirements

Actual configuration depends on the number of active items and refresh rates very much (see database size section of this page for details). It is highly recommended to run the database on a separate box for large installations.

1.5受支持的平台

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

经测试,Zabbix 组件 可以运行在下列平台:

平台ServerAgentAgent2
Linuxxxx
IBM AIXxx-
FreeBSDxx-
NetBSDxx-
OpenBSDxx-
HP-UXxx-
Mac OS Xxx-
Solarisxx-
Windows-xx

Zabbix server/agent 也可以在其他类Unix操作系统上运行。自XP以来,所有Windows desktop 和 server 版本都支持Zabbix agent。

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

2.软件

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

2.1数据库管理系统

数据库软件支持的版本备注
MySQL/Percona8.0.X如果需要使用 MySQL (or Percona) 作为 Zabbix 后端数据库。 需要 InnoDB engine 。 我们推荐使用 MariaDB Connector/C 来构建 server/proxy。
MariaDB10.5.00-10.6.X需要 InnoDB engine 。我们推荐使用 MariaDB Connector/C 来构建 server/proxy。
Oracle19c - 21c如果需要使用 Oracle 作为 Zabbix 后端数据库。
PostgreSQL13.0 - 14.X如果需要使用 PostgreSQL 作为 Zabbix 后端数据库。
TimescaleDB for PostgreSQL2.0.1-2.3如果需要使用 TimescaleDB 作为 Zabbix 后端数据库。确保安装的 TimescaleDB 发行版支持压缩。
SQLite3.3.5-3.34.X如果需要使用 SQLite 作为 Zabbix 后端数据库。 SQLite 只支持 Zabbix proxy。

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

2.2前端

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

软件版本备注
Apache1.3.12 或更高版本
PHP7.2.5 或更高版本不支持 PHP 8.0。
PHP 扩展:
gd2.0.28 或更高版本PHP GD 扩展必须支持 PNG (–with-png-dir)、JPEG (–with-jpeg-dir) 和 FreeType 2 (–with-freetype-dir)。
bcmathphp-bcmath (–enable-bcmath)
ctypephp-ctype (–enable-ctype)
libXML2.6.15 或更高版本php-xml,如果由分发者作为单独的包提供。
xmlreaderphp-xmlreader,如果由分发者作为单独的包提供。
xmlwriterphp-xmlwriter,如果由分发者作为单独的包提供。
sessionphp-session,如果由分发者作为单独的包提供。
socketsphp-net-socket (–enable-sockets)。需要用户脚本支持。
mbstringphp-mbstring (–enable-mbstring)
gettextphp-gettext (–with-gettext)。Required for translations to work.
ldapphp-ldap.仅当在前端使用 LDAP 身份验证时才需要。
opensslphp-openssl.仅当在前端使用 SAML 身份验证时才需要。
mysqli如果 MySQL 用作 Zabbix 后端数据库,则需要。
oci8如果使用 Oracle 作为 Zabbix 后端数据库,则需要。
pgsql如果使用 PostgreSQL 作为 Zabbix 后端数据库,则需要。

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

如果需要使用默认 DejaVu 以外的字体, 可能会需要 PHP 的 imagerotate 函数。如果缺少,在 Zabbix 前端查看图形时可能会显示异常。该函数只有在使用捆绑的 GD 库编译 PHP 时才可用。在 Debian 和某些发行版本中,这个问题不存在。

2.3客户端浏览器

浏览器必须启用 Cookies 和 Java Script 。

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

为了执行 IFrame 的“同源政策”,意味着 Zabbix 不能放在不同域的 frames 中。

但是,如果放置在 frames 中的页面和 Zabbix 前端位于同一个域中,则置于 Zabbix frames 中的页面将可以访问 Zabbix 前端(通过javascript)。像 http://secure-zabbix.com/cms/page.html 这样的页面,如果置于 http://secure-zabbix.com/zabbix/ 的聚合图形或仪表盘上,将拥有对 Zabbix 的完整 JS 访问权限。

2.4Server

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

需求状态描述
libpcre强制PCRE 库 被 Perl 兼容正则表达式 (PCRE) 支持 所需要。 命名可能因 GNU/Linux 发行版而异,例如 ‘libpcre3’ 或 ‘libpcre1’。(Zabbix 6.0.0)支持 PCRE v8.x 及 PCRE2 v10.x。
libevent强制大量请求指标和IPMI监控需要。1.4版本及以上。 Zabbix proxy该项可选;IPMI监控支持必须。
libpthread强制被 互斥锁(mutex)和 读写分离锁 (read-write lock)支持 所需要。
zlib强制被 压缩支持 所需要。
OpenIPMI可选被 IPMI 支持 所需要。
libssh2可选被 SSH 支持所需要。 版本 1.0 以上。
fping可选ICMP ping 监控项 所需要。
libcurl可选被 web 监控, VMware 监控 和 SMTP 认证 所需要。如果是为了 SMTP 认证,需要 7.20.0 以上的版本,同时需要 Elasticsearch。
libiksemel可选被 Jabber 支持 所需要。
libxml2可选被 VMware 监控 所需要。
net-snmp可选被 SNMP 支持 所需要。

2.5Agent

需求状态描述
libpcre强制PCRE 库 被 Perl 兼容正则表达式 (PCRE) 支持 所需要。 命名可能因 GNU/Linux 发行版而异,例如 ‘libpcre3’ 或 ‘libpcre1’。(Zabbix 6.0.0)支持 PCRE v8.x 及 PCRE2 v10.x。
GnuTLS, OpenSSL or LibreSSL可选当使用 加密 时需要。 在 Microsoft Windows 系统上需要 OpenSSL 1.1.1 及以上版本。

从 5.0.3 版本开始,Zabbix agent 将不再支持低于 6.1 TL07 / AIX 7.1 TL01 版本的 AIX 平台。

2.6Agent 2

需求状态描述
libpcre强制PCRE 库 被 Perl 兼容正则表达式 (PCRE) 支持 所需要。 命名可能因 GNU/Linux 发行版而异,例如 ‘libpcre3’ 或 ‘libpcre1’。(Zabbix 6.0.0)支持 PCRE v8.x 及 PCRE2 v10.x。
OpenSSL可选当使用加密时需要。 UNIX 平台上需要 OpenSSL 1.0.1 或更高版本。 OpenSSL 库必须启用 PSK 支持。不支持 LibreSSL。 在 Microsoft Windows 系统上需要 OpenSSL 1.1.1 及以上版本。

2.7Java 网关

如果您从源代码仓库或存档中获得了 Zabbix,则必要的依赖项已包含在源代码树中。

如果您从发行版的软件包中获得了Zabbix,那么打包系统已经提供了必要的依赖项。

在上述两种情况下,即可准备部署软件了,而不需要下载额外的依赖包。

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

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

库名许可网站备注
logback-core-1.2.3.jarEPL 1.0, LGPL 2.1http://logback.qos.ch/0.9.27, 1.0.13, 1.1.1 和 1.2.3 测试通过。
logback-classic-1.2.3.jarEPL 1.0, LGPL 2.1http://logback.qos.ch/0.9.27, 1.0.13, 1.1.1 和 1.2.3 测试通过。
slf4j-api-1.7.30.jarMIT Licensehttp://www.slf4j.org/1.6.1, 1.6.6, 1.7.6 和 1.7.30 测试通过。
android-json-4.3_r3.1.jarApache License 2.0https://android.googlesource.com/platform/libcore/+/master/json2.3.3_r1.1 和 4.3_r3.1 测试通过。关于创建 JAR 文件,详见 src/zabbix_java/lib/README 说明。

Java网关可以使用Oracle Java或开源OpenJDK(版本1.6或更高版本)构建。Zabbix提供的软件包是使用OpenJDK编译的。下表提供了有关用于按发行版构建Zabbix软件包的OpenJDK版本的信息:

发行版OpenJDK 版本
RHEL/CentOS 81.8.0
RHEL/CentOS 71.8.0
SLES 1511.0.4
SLES 121.8.0
Debian 1011.0.8
Ubuntu 20.0411.0.8
Ubuntu 18.0411.0.8

Default port numbers

The following table lists default port numbers that Zabbix components listen on:

Zabbix componentPort numberProtocolType of connection
Zabbix agent10050TCPon demand
Zabbix agent 210050TCPon demand
Zabbix server10051TCPon demand
Zabbix proxy10051TCPon demand
Zabbix Java gateway10052TCPon demand
Zabbix web service10053TCPon demand

数据库大小

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

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

  • 每秒处理值的数量

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

这意味着每秒有 50 个新值被添加到 Zabbix 数据库中。

  • Housekeeper 的历史记录设置

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

所以,如果我们每秒收到 50 个值,且希望保留 30 天的历史数据,值的总数将大约在 (30*24*3600)* 50 = 129.600.000,即大约 130M 个值。

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

文本/日志类型的监控项值的大小是无法确定的,但可以以每个值大约 500 字节来计算。

  • Housekeeper 的趋势记录设置

Zabbix 为表 trends 中的每个项目保留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 配置 + 历史数据 + 趋势数据 + 事件数据
在安装 Zabbix 后不会立即使用磁盘空间。 数据库大小取决于 housekeeper 设置,在某些时间点增长或停止增长。

时间同步

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

二、zabbix6.0获取方式

获取 Zabbix6.0安装介质有四种方法:

请转到 Zabbix 下载页面 下载最新的源码包或应用,此页面提供最新版本的直接链接。 如果要下载旧版本,请参阅以下稳定版本下载链接。

获取Zabbix源码

如何获取Zabbix源码有如下几种方式:

必须安装 Git 客户端才能克隆存储源。 官方命令行 Git 客户端包在发布版本中通常称为 git。 示例:在 Debian/Ubuntu 上安装,请运行如下命令:

sudo apt-get updatesudo apt-get install git

若需获取所有 Zabbix 源代码,请更改相应文件来替换源码并执行如下命令:

git clone https://git.zabbix.com/scm/zbx/zabbix.git

排版: 玩具熊
初审: 王乐平
复审: 二月二

本篇教程来源乐维社区|专注IT运维技术分享,经本工作室二次编辑,如有侵权,请联系我们。
参考资料

  1. zabbix6.0安装教程·获取 Zabbix
  2. zabbix6.0安装要求

以上是关于zabbix6.0安装教程:安装要求&获取方式的主要内容,如果未能解决你的问题,请参考以下文章

zabbix6.0安装教程:Zabbix6.0安装最佳实践

zabbix6.0安装教程:Zabbix6.0安装最佳实践

zabbix6.0安装教程:Zabbix6.0安装最佳实践

zabbix6.0安装教程:从源代码安装

zabbix6.0安装教程:从源代码安装

zabbix6.0安装教程:从源代码安装