2. Требования
Аппаратное обеспечение
Память
Zabbix требуется как физическая память, так и память на диске. Очевидно, что объём необходимой памяти на диске зависит от количества наблюдаемых узлов сети и наблюдаемых параметров. Если вы планируете достаточно долгосрочное хранение истории наблюдаемых параметров, то потребуется по крайней мере несколько гигабайт для хранения данных истории в базе данных. Каждый из процессов демона Zabbix требует несколько подключений к серверу базы данных. Объём памяти, требуемый на каждое из подключений к базе данных, зависит от настроек базы данных.
Чем больше оперативной памяти вам доступно, тем быстрее работает база данных (а следовательно, и Zabbix).
CPU
Zabbix и особенно база данных могут потребовать значительных ресурсов процессора в зависимости от количества наблюдаемых параметров и выбранного типа базы данных.
Другое оборудование
Для использования встроенных в Zabbix SMS уведомлений потребуется последовательный порт передачи данных и GSM модем. Конвертер USB-to-serial также будет работать.
Примеры конфигураций оборудования
Следующая таблица приводит примеры конфигураций оборудования для платформы Linux/BSD/Unix.
Это примеры размеров и конфигураций оборудования, с которых можно начать. Каждая инсталляция Zabbix уникальна. Обязательно оцените производительность вашей системы Zabbix на промежуточной среде или среде разработки, чтобы вы смогли полностью понять свои требования перед развёртыванием инсталляции Zabbix в производственной среде.
| Размер инсталляции | Кол-во наблюдаемых метрик1 | Ядра CPU/vCPU | Память (ГБ) |
База данных | 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. Необходимый тип инстанса, такой как оптимизированный на Compute/Memory/Storage, необходимо выбрать во время оценки и тестирования инсталляции Zabbix перед установкой в производственной среде.
Фактическая конфигурация очень сильно зависит от количества активных элементов данных и частоты обновления (смотрите раздел этой же страницы размер базы данных для получения подробных сведений). Настоятельно рекомендуется в случае крупных инсталляций запускать базу данных на отдельной машине.
Поддерживаемые платформы
В связи с требованиями безопасности и критически важным характером работы системы мониторинга, единственной операционной системой, которая может обеспечить необходимую производительность, отказоустойчивость и гибкость является операционная система UNIX. Zabbix работает на лидирующих на рынке версиях.
Компоненты Zabbix доступны и протестированы на следующих платформах:
| Платформа | Сервер | Агент | Агент 2 | Комментарий | |
|---|---|---|---|---|---|
| Linux | x | x | x | ||
| Windows | - | x | x | Zabbix агент поддерживается на всех версиях Windows для рабочих станций и серверов, начиная с XP (64-битная)/Server 2003. |
Zabbix агент 2 поддерживается на всех версиях Windows для рабочих станций и серверов, начиная с Windows 10 (32-битная)/Server 2016, поскольку, чтобы предотвратить критические уязвимости безопасности, компилируется только с поддерживаемыми версиями Go. Начиная с Go 1.21, повышены минимальные необходимые версии Windows [en], поэтому минимальной версией Windows для Zabbix агента 2 является Windows 10/Server 2016. |
| Mac OS X | x | x | - | ||
| IBM AIX | x | x | - | Zabbix агент не будет работать на платформах AIX ниже версий 6.1 TL07 / 7.1 TL01. | |
| FreeBSD | x | x | - | ||
| OpenBSD | x | x | - | ||
| Solaris | x | x | - | ||
| NetBSD | x | x | - | ||
| HP-UX | x | x | - |
Zabbix сервер/агент может работать также и на других Unix-подобных операционных системах.
Zabbix отключает дампы памяти, если скомпилирован с шифрованием, и не запустится, если система не позволяет отключение дампов памяти.
Требуемое программное обеспечение
Zabbix использует современные веб-сервера, ведущие СУБД и язык сценариев PHP.
Стороннее внешнее сопутствующее ПО
Если указано как обязательное, требуемое ПО/библиотека строго необходимо. Необязательные нужны для поддержки некоторых конкретных функций.
| Software | Mandatory status | Supported versions | Comments |
|---|---|---|---|
| MySQL/Percona | One of | 8.0.30-9.7.X | Требуется, если MySQL (или Percona) используется в качестве backend database Zabbix. Требуется движок InnoDB. Добавлена поддержка версий MySQL: - 8.4.X начиная с Zabbix 7.0.1; - 9.0.X начиная с Zabbix 7.0.2; - 9.5.X начиная с Zabbix 7.0.22; - 9.6.X начиная с Zabbix 7.0.25; - 9.7.X начиная с Zabbix 7.0.28. Для сборки server/proxy мы рекомендуем использовать библиотеку C API (libmysqlclient). Мы настоятельно рекомендуем использовать в production environments только LTS-релизы. Релизы с пометками "rolling release", "early access" или аналогичными не рекомендуются. |
| MariaDB | 10.5.00-12.3.X | Требуется движок InnoDB. Для сборки server/proxy мы рекомендуем использовать библиотеку MariaDB Connector/C. Добавлена поддержка версий MariaDB: - 11.4.X начиная с Zabbix 7.0.1; - 11.5.X начиная с Zabbix 7.0.4; - 12.0.X начиная с Zabbix 7.0.19; - 12.2.X начиная с Zabbix 7.0.25; - 12.3.X начиная с Zabbix 7.0.28. См. также: Возможные взаимные блокировки с MariaDB и Доступ к элементам интерфейса с MariaDB 10.5.1-10.5.9. Мы настоятельно рекомендуем использовать в production environments только LTS-релизы. Релизы с пометками "rolling release", "early access" или аналогичными не рекомендуются. |
|
| Oracle | 19c - 21c | Требуется, если Oracle используется в качестве backend database Zabbix. Поддержка Oracle DB является устаревшей начиная с Zabbix 7.0. |
|
| PostgreSQL | 13.0-18.X | Требуется, если PostgreSQL используется в качестве backend database Zabbix. В зависимости от размера установки может потребоваться увеличить параметр конфигурации PostgreSQL work_mem (значение по умолчанию — 4MB), чтобы объем памяти, используемый базой данных для конкретной операции, был достаточным и выполнение запросов не занимало слишком много времени. Добавлена поддержка версий PostgreSQL: - 17.X начиная с Zabbix 7.0.6; - 18.X начиная с Zabbix 7.0.20. |
|
| TimescaleDB for PostgreSQL | 2.13.0-2.28.X | Требуется, если TimescaleDB используется как расширение базы данных PostgreSQL. Убедитесь, что установлена TimescaleDB Community Edition, которая поддерживает сжатие. Подробности о совместимости версий PostgreSQL и TimescaleDB см. в документации TimescaleDB. Добавлена поддержка версий 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; - 2.22.X начиная с Zabbix 7.0.20; - 2.23.X начиная с Zabbix 7.0.22; - 2.24.X начиная с Zabbix 7.0.23; - 2.25.X начиная с Zabbix 7.0.24; - 2.26.X начиная с Zabbix 7.0.25; - 2.27.X начиная с Zabbix 7.0.28; - 2.28.X начиная с Zabbix 7.0.29. |
|
| SQLite | Optional | 3.3.5-3.53.X | SQLite поддерживается только с прокси Zabbix. Требуется, если SQLite используется в качестве базы данных прокси Zabbix. Поддержка версий SQLite: - 3.53.X начиная с Zabbix 7.0.25. |
| 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 | qlist и qsize как часть q applets требуются для плагина system.sw.packages в Gentoo Linux. |
Хотя Zabbix может работать с базами данных, доступными в операционных системах, для наилучшего результата мы рекомендуем использовать базы данных, установленные из официальных репозиториев разработчика базы данных.
Веб-интерфейс
Минимально поддерживаемая ширина экрана для веб-интерфейса Zabbix — 1200px.
Если отмечено как обязательное, требуемое приложение/библиотека строго необходимы. Необязательные требуются для поддержки некоторых отдельных функций.
| Приложение | Признак обязательности | Поддерживаемые версии | Комментарии |
|---|---|---|---|
| PHP | Да | 8.0.0 - 8.5.X | Добавлена поддержка версий PHP: - 8.4.X с Zabbix 7.0.10; - 8.5.X с Zabbix 7.0.25. |
| Apache | Одно из | 2.4 или новее | |
| Nginx | 1.20 или новее | ||
| MySQL | Одно из | Смотрите Стороннее программное обеспечение | |
| PostgreSQL | |||
| Oracle | |||
| Расширения PHP | |||
| mysqli | Да | Требуется, если в качестве базы данных Zabbix используется MySQL. | |
| pgsql | Требуется, если в качестве базы данных Zabbix используется PostgreSQL. | ||
| oci8 | Требуется, если в качестве базы данных Zabbix используется Oracle. | ||
| 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:
| Библиотека | Признак обязательности | Поставляемая версия | Комментарии |
|---|---|---|---|
| библиотека jQuery JavaScript | Да | 3.6.0 | Библиотека JavaScript, которая упрощает процесс кроссбраузерной разработки. |
| jQuery UI | 1.12.1 | Набор интерфейсных взаимодействий пользователя, эффектов, виджетов и тем, созданных на основе jQuery. | |
| SAML PHP Toolkit | 4.3.1 | Набор инструментов PHP, который добавляет поддержку аутентификации SAML 2.0 для входа в Zabbix. История поставляемых версий: - 4.0.0 с версии Zabbix 7.0.0; - 4.3.1 с версии Zabbix 7.0.24 (рекомендуется). |
|
| библиотека Duo Universal PHP | 1.1.2 | Библиотека PHP, которая добавляет для Zabbix поддержку многофакторной аутентификации Duo Universal Prompt. История поставляемых версий: - 1.0.2 с Zabbix 7.0.0; - 1.1.0 с Zabbix 7.0.23; - 1.1.2 с Zabbix 7.0.26 (рекомендуется). |
|
| Symfony Yaml компонент | 5.1.0 | Добавление поддержки экспорта и импорта элементов конфигурации Zabbix в формате YAML. |
Zabbix может работать также и с предыдущими версиями Apache, MySQL, Oracle и PostgreSQL.
Для шрифтов, помимо используемого по умолчанию DejaVu, может потребоваться функция PHP imagerotate [en]. Если функция отсутствует, при отображении графиков шрифты могут отрисовываться некорректно. Эта функция доступна, только если PHP скомпилирован вместе с GD, что не относится к Debian и некоторым другим дистрибутивам.
Сторонние библиотеки, используемые для написания и отладки кода веб-интерфейса Zabbix:
| Библиотека | Признак обязательности | Минимальная версия | Описание |
|---|---|---|---|
| Composer | Нет | 2.4.1 | Менеджер пакетов уровня приложений для PHP, который обеспечивает стандартный формат для управления зависимостями PHP программных приложений и требуемых библиотек. |
| PHPUnit | 8.5.29 | Среда модульного тестирования PHP для тестирования Zabbix веб-интерфейса. | |
| SASS | 3.4.22 | Язык сценариев препроцессора, который интерпретируется и компилируется в Cascading Style Sheets (CSS). |
Веб-браузер на стороне клиента
Cookies и JavaScript должны быть включены.
Поддерживаются последние стабильные версии Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari и Opera.
Реализована политика одного источника для IFrames, что означает, что Zabbix веб-интерфейс нельзя поместить во фреймы на другом домене.
Тем не менее, помещённые в Zabbix фреймы страницы будут иметь доступ к веб-интерфейсу Zabbix (посредством JavaScript), если помещённая во фрейм страница и веб-интерфейс Zabbix располагаются на одном домене.
Такая станица как http://secure-zabbix.com/cms/page.html, при помещении в панели на
http://secure-zabbix.com/zabbix/, будет иметь полный доступ к Zabbix посредством JS.
Сервер/прокси
Обязательные требования всегда нужно соблюдать. Дополнительные требования требуются для поддержки отдельных функций.
| Требование | Признак обязательности | Описание |
|---|---|---|
| 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 до этого). |
| libpthread | Требуется для поддержки мьютексов (mutex) и блокировок на чтение-запись (может быть частью libc). | |
| libresolv | Требуется для разрешения имён DNS (может быть частью libc). | |
| libiconv | Требуется для конвертации кодировки / формата текста (может быть частью libc). Обязательно для Zabbix сервера на Linux. | |
| libz | Требуется для поддержки сжатия. | |
| libm | Математическая библиотека. Требуется только для Zabbix сервера. | |
| libmysqlclient | Одна из | Требуется, если используется MySQL. |
| libmariadb | Требуется, если используется MariaDB. | |
| libclntsh | Требуется, если используется Oracle; версия libclntsh должна совпадать либо быть выше, чем версия используемой базы данных Oracle. | |
| libpq5 | Требуется, если используется PostgreSQL; версия libpq5 должна совпадать либо быть выше, чем версия используемой базы данных PostgreSQL | |
| libsqlite3 | Требуется, если используется SQLite. Требуется только для Zabbix прокси. | |
| OpenIPMI | Нет | Требуется для поддержки IPMI. Требуется только для Zabbix сервера. |
| libssh2 или libssh | Требуется для SSH проверок. Версия 1.0 или выше (libssh2); 0.9.0 или выше (libssh). | |
| libcurl | Требуется для следущих функций: - веб-мониторинга, VMware мониторинга и элементов данных HTTP агента (для всех: версия 7.19.1 или выше); - элементов данных Zabbix агента web.page.* (версия 7.19.1 или выше; смотрите также требования к агенту;- SMTP аутентификации (версия 7.20.0 или выше); - Elasticsearch (версия 7.28.0 или выше). Для всех функций рекомендуется версия 7.28.0 или выше. Чтобы использовать возможности обновлённых версий cURL для элементов данных web.page.*, перезапустите Zabbix сервер/прокси.Для SMTP аутентификации используйте во время выполнения пакет libcurl-full. |
|
| libxml2 | Требуется для мониторинга VMware и предобработки XML XPath. | |
| libnetsnmp | Требуется для поддержки 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 пинг. | |
| c-ares | Требуется для асинхронного разрешения DNS, если Zabbix сконфигурирован с опцией --with-ares. В противном случае будет использоваться 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 | Требуется для конвертации кодировки/форматирования текста в UTF-8 в элементах данных журналов, содержимого файлов, в регулярных выражениях файлов и в элементах данных с поиском соответствия по регулярному выражению (может быть частью libc). Не требуется на Windows. | |
| libgnutls или libopenssl | Нет | Требуется при использовании шифрования. Минимальные версии: libgnutls — 3.1.18, libopenssl — 1.0.1 На системах Microsoft Windows требуется версия OpenSSL 1.1.1 или новее. |
| libldap | Требуется при использовании LDAP. Не поддерживается на Windows. | |
| libcurl | Требуется для расширенной поддержки элементов данных Zabbix агента web.page.*.Без libcurl доступен базовый функционал (например, web.page.get[http://example.com]). С libcurl агент поддерживает дополнительные функции, такие как HTTP URL с учётными данными (например, http://user:[email protected]) и HTTPS URL. Требуется версия 7.19.1 или новее (рекомендуется версия 7.28.0 или новее). Для использования возможностей в обновлённых версиях cURL перезапустите Zabbix агент. |
|
| libmodbus | Требуется, только если используется мониторинг Modbus. Версия 3.0 или новее. |
Agent 2
| Requirement | Mandatory status | Description |
|---|---|---|
| Go | Yes | Требуется для сборки Zabbix agent 2 и его плагинов из исходного кода. Поддерживается Go 1.25 или более поздняя версия. См. go.dev для инструкций по установке. Библиотеки Go, используемые Zabbix agent 2 и его плагинами, перечислены в репозитории Zabbix Git (библиотеки, помеченные как indirect в репозитории, являются зависимостями других требуемых библиотек):- Zabbix agent 2 - Plugin support - PostgreSQL - MongoDB - MSSQL - Ember+ - Example plugin |
| libpcre/libpcre2 | One of | Требуется библиотека PCRE/PCRE2 для поддержки Perl Compatible Regular Expression (PCRE). Название может отличаться в зависимости от дистрибутива 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.
Версия Go, требуемая для построения веб-сервиса, совпадает с той, которая используется для Zabbix агента 2.
Java gateway
Если вы получили Zabbix из исходного репозитория или архива, все необходимые зависимости уже включены в дерево исходного кода.
Если вы получили Zabbix из пакета вашего дистрибутива, все необходимые зависимости уже предоставлены системой пакетирования.
В обоих случаях программное обеспечение готово к использованию, и никаких дополнительных загрузок не требуется.
Однако если вы хотите предоставить свои версии этих зависимостей (например, если вы готовите пакет для какого-либо дистрибутива Linux), ниже приведен список версий библиотек, с которыми, как известно, работает Java gateway. Zabbix также может работать и с другими версиями этих библиотек.
В следующей таблице перечислены JAR-файлы, которые в настоящее время входят в состав Java gateway в исходном коде:
| Library | Mandatory status | Bundled version | Comments |
|---|---|---|---|
| android-json | Yes | 4.3r1 | JSON (JavaScript Object Notation) — это легковесный формат обмена данными. Это реализация, совместимая с org.json, для Android, извлеченная из Android SDK. |
| logback-classic | 1.5.16 | ||
| logback-core | 1.5.16 | ||
| slf4j-api | 2.0.16 |
Java gateway можно собрать с использованием Oracle Java или open source OpenJDK (версия 1.6 или новее). Пакеты, предоставляемые Zabbix, собираются с использованием OpenJDK. В следующей таблице перечислены пакеты OpenJDK, используемые для сборки пакетов Zabbix в различных дистрибутивах:
| Distribution | OpenJDK package |
|---|---|
| AlmaLinux 10 | java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2) |
| 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 10 | java-21-openjdk-devel (amd64, arm64: 21.0.11.0.10-2) |
| 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 13 | default-jdk-headless (amd64, arm64: 2:1.21-76) |
| Debian 12 | default-jdk-headless (amd64, arm64: 2:1.17-74) |
| Debian 11 | default-jdk-headless (amd64: 2:1.11-72) |
| OpenSUSE Leap 16 | java-21-openjdk-devel (amd64, arm64: 21.0.11.0-160000.2.1) |
| 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 10 | java-21-openjdk-devel (amd64, arm64: 21.0.11.0.10-2.0.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 13 | default-jdk-headless (arm64, armhf: 2:1.21-76) |
| 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 10 | java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2) |
| 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 10 | java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2) |
| 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 16 | java-21-openjdk-devel (amd64, arm64: 21.0.11.0-160000.1.1) |
| 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 26.04 | default-jdk-headless (amd64, arm64: 2:1.25-77) |
| 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 агент | 10050 | TCP | по требованию |
| Zabbix агент 2 | 10050 | TCP | по требованию |
| Zabbix сервер | 10051 | TCP | по требованию |
| Zabbix прокси | 10051 | TCP | по требованию |
| Zabbix Java gateway | 10052 | TCP | по требованию |
| Zabbix веб-сервис | 10053 | TCP | по требованию |
| Zabbix веб-интерфейс | 80 | HTTP | по требованию |
| 443 | HTTPS | по требованию | |
| Zabbix траппер | 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, или около 130M значений.
В зависимости от используемого движка базы данных, типа получаемых значений (числа с плавающей точкой, целые числа, строки, файлы журналов и т. д.) объем дискового пространства для хранения одного значения может варьироваться от 40 байт до сотен байт. Обычно это около 90 байт на значение для числовых элементов данных2. В нашем случае это означает, что для 130M значений потребуется 130M * 90 байт = 10.9GB дискового пространства.
Размер значений текстовых/журнальных элементов данных невозможно точно предсказать, но можно ожидать около 500 байт на значение.
- Настройка housekeeper для трендов
Zabbix хранит набор значений max/min/avg/count за 1 час для каждого элемента данных в таблице trends. Эти данные используются для построения трендов и графиков за длительные периоды. Период в один час нельзя настраивать.
База данных Zabbix, в зависимости от типа базы данных, требует около 90 байт на каждый итог. Предположим, что мы хотим хранить данные трендов за 5 лет. Для значений 3000 элементов данных потребуется 3000*24*365* 90 = 2.2GB в год, или 11GB за 5 лет.
- Настройки 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 [en] — один из самых популярных демонов синхронизации времени узла с временем на остальных серверах. Настоятельно рекомендуется поддерживать синхронизированное время на всех системах, где работают компоненты Zabbix.
Требования к сети
Следующий список открытых портов по компонентам применим к конфигурации по умолчанию.
| Компоненты | Порт |
|---|---|
| Веб-интерфейс | http на 80, https на 443 |
| Сервер | 10051 (для использования с активными прокси/агентами) |
| Активный прокси | 10051 |
| Пассивный прокси | 10051 |
| Агент 2 | 10050 |
| Траппер | |
| JavaGateway | 10052 |
| Веб-сервис | 10053 |
Чтобы разрешить внешние коммуникации с Zabbix, номера портов должны быть открыты на брандмауэре. Исходящие TCP-соединения обычно не требуют явных настроек брандмауэра.