Требования
Аппаратное обеспечение
Память
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 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 |
m6i.4xlarge/m6g.4xlarge |
| Очень большой | 1 000 000 | 32 | 96 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.8xlarge/m6g.8xlarge |
1 Для определения размера 1 контролируемая метрика приблизительно представляется формулой: 1 метрика = 1 элемент данных + 1 триггер + 1 график. Это лишь оценочное правило, а не формула для расчета количества контролируемых метрик.
2 Пример с инстансами Amazon EC2 общего назначения, использующими архитектуру ARM64 или x86_64. При оценке и тестировании установки 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.
Стороннее внешнее программное обеспечение
Если программное обеспечение или библиотека указаны как обязательные, они строго необходимы. Необязательные компоненты требуются для поддержки некоторых определённых функций.
| Программное обеспечение | Обязательный статус | Поддерживаемые версии | Комментарии |
|---|---|---|---|
| MySQL/Percona | One of | 8.4.0-9.7.X | Требуется, если MySQL (или Percona) используется в качестве внутренней базы данных Zabbix. Требуется механизм InnoDB. Для сборки сервера/прокси рекомендуется использовать библиотеку C API (libmysqlclient). Настоятельно рекомендуется использовать в производственных средах только выпуски LTS. Выпуски с пометками «rolling release», «early access» и аналогичными не рекомендуются. |
| MariaDB | 10.11.00-12.3.X | Требуется механизм InnoDB. Для сборки сервера/прокси рекомендуется использовать библиотеку MariaDB Connector/C. См. также: Возможные взаимоблокировки с MariaDB и Доступ к элементам веб-интерфейса с MariaDB 10.5.1-10.5.9. Настоятельно рекомендуется использовать в производственных средах только выпуски LTS. Выпуски с пометками «rolling release», «early access» и аналогичными не рекомендуются. |
|
| PostgreSQL | 15.0-18.X | Требуется, если PostgreSQL используется в качестве внутренней базы данных Zabbix. В зависимости от размера установки может потребоваться увеличить значение свойства конфигурации PostgreSQL work_mem (значение по умолчанию — 4 МБ), чтобы объём памяти, используемый базой данных для определённой операции, был достаточным, а выполнение запроса не занимало слишком много времени. |
|
| TimescaleDB for PostgreSQL | 2.20.X-2.29.X | Требуется, если TimescaleDB используется как расширение базы данных PostgreSQL. Убедитесь, что установлена TimescaleDB Community Edition, поддерживающая сжатие. Подробные сведения о совместимости версий PostgreSQL и TimescaleDB см. в документации TimescaleDB. |
|
| Elasticsearch | 7.X | Требуется, если Elasticsearch используется в качестве внутренней базы данных Zabbix. Elasticsearch можно использовать только для хранения данных истории; он поддерживается только серверами Zabbix. Поддержка Elasticsearch в настоящее время является экспериментальной. См. также необходимое программное обеспечение для сервера/прокси. |
|
| ClickHouse | 26.3.0.0-26.9.X.X | Требуется, если ClickHouse используется в качестве внутренней базы данных Zabbix для хранения данных истории (поддерживается только серверами Zabbix) или как источник данных телеметрии. Для использования ClickHouse в качестве источника данных телеметрии требуется ClickHouse версии 26.8.17.4 или более поздней. Системное время на сервере Zabbix и сервере ClickHouse также должно быть синхронизировано; в противном случае запросы телеметрии могут пропускать данные или возвращать одни и те же данные дважды. |
|
| SQLite | Optional | 3.3.5-3.53.X | SQLite поддерживается только прокси Zabbix. Требуется, если SQLite используется в качестве базы данных прокси Zabbix. |
| smartmontools | 7.1 or later | Требуется для агента Zabbix 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.2.0 - 8.5.X | |
| Apache | Один из | 2.4 или более поздняя | |
| Nginx | 1.20 или более поздняя | ||
| MySQL | Один из | См. стороннее внешнее сопутствующее программное обеспечение | |
| PostgreSQL | |||
| Расширения PHP | |||
| mysqli | Да | Требуется, если MySQL используется в качестве внутренней базы данных сервера Zabbix. | |
| pgsql | Требуется, если PostgreSQL используется в качестве внутренней базы данных сервера 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 | 7.19.4 или более поздняя | php-curl; требуется для MFA Duo Universal Prompt, аутентификации SMTP и тестирования источника данных телеметрии. | |
Сторонние библиотеки веб-интерфейса, поставляемые вместе с Zabbix:
| Библиотека | Обязательность | Поставляемая версия | Комментарии |
|---|---|---|---|
| Библиотека JavaScript jQuery | Да | 3.6.0 | Библиотека JavaScript, упрощающая разработку для разных браузеров. |
| jQuery UI | 1.12.1 | Набор взаимодействий с пользовательским интерфейсом, эффектов, виджетов и тем, созданных на основе jQuery. | |
| SAML PHP Toolkit | 4.3.1 | Инструментарий PHP, добавляющий поддержку аутентификации SAML 2.0 для входа в Zabbix. | |
| Duo Universal PHP library | 1.1.2 | Библиотека PHP, добавляющая поддержку многофакторной аутентификации Duo Universal Prompt для Zabbix. | |
| Symfony Yaml Component | 5.1.0 | Добавляет поддержку экспорта и импорта элементов конфигурации Zabbix в формате YAML. |
Zabbix также может работать с более ранними версиями Apache, MySQL и PostgreSQL.
Для шрифтов, отличных от используемого по умолчанию DejaVu, может потребоваться функция PHP imagerotate. Если она отсутствует, эти шрифты могут отображаться некорректно при отображении графика. Эта функция доступна только в том случае, если PHP скомпилирован со встроенной GD, что не относится к Debian и другим дистрибутивам.
Сторонние библиотеки, используемые для написания и отладки кода веб-интерфейса Zabbix:
| Библиотека | Обязательность | Минимальная версия | Описание |
|---|---|---|---|
| Composer | Нет | 2.4.1 | Менеджер пакетов уровня приложения для PHP, предоставляющий стандартный формат управления зависимостями программного обеспечения PHP и необходимыми библиотеками. |
| PHPUnit | 8.5.29 | Среда модульного тестирования PHP для тестирования веб-интерфейса Zabbix. | |
| SASS | 3.4.22 | Скриптовый язык препроцессора, который интерпретируется и компилируется в каскадные таблицы стилей (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.
Сервер/прокси
Если программное обеспечение или библиотека указаны как обязательные, они строго необходимы. Необязательные компоненты требуются для поддержки некоторых функций.
| Требование | Обязательный статус | Описание |
|---|---|---|
| libpcre2 | Да | Библиотека PCRE2 требуется для поддержки совместимых с Perl регулярных выражений (PCRE). Поддерживается PCRE2 v10.x. |
| libevent | Требуется для межпроцессного взаимодействия. Версия 2.0.10 или выше. | |
| libevent-pthreads | Требуется для межпроцессного взаимодействия. | |
| libpthread | Требуется для поддержки мьютексов и блокировок чтения-записи (может входить в состав libc). | |
| libresolv | Требуется для разрешения DNS-имен (может входить в состав libc). | |
| libiconv | Требуется для преобразования кодировок и форматов текста (может входить в состав libc). Обязательна для сервера Zabbix в Linux. | |
| libz | Требуется для поддержки сжатия. | |
| libm | Математическая библиотека. Требуется только серверу Zabbix. | |
| libmysqlclient | Одна из | Требуется, если используется MySQL. |
| libmariadb | Требуется, если используется MariaDB. | |
| libpq5 | Требуется, если используется PostgreSQL; версия libpq5 должна совпадать с версией используемой базы данных PostgreSQL или быть выше нее. | |
| libsqlite3 | Требуется, если используется SQLite. Требуется только прокси Zabbix. | |
| libOpenIPMI | Нет | Требуется для поддержки IPMI. Требуется только серверу Zabbix. |
| libssh2 или libssh | Требуется для проверок SSH. Версия 1.8.0 или выше (libssh2); 0.9.0 или выше (libssh). | |
| libcurl | Требуется для следующих функций: - элементов данных веб-мониторинга, мониторинга VMware и HTTP-агента (для всех: версия 7.19.1 или выше); - элементов данных Zabbix agent web.page.* (версия 7.19.1 или выше; также см. требования к агенту); - аутентификации SMTP (Basic: версия 7.20.0 или выше; OAuth: версия 7.33 или выше; также см. требования к веб-интерфейсу); - Elasticsearch (версия 7.28.0 или выше); - элементов данных запроса телеметрии (версия 7.28.0 или выше). Для всех функций рекомендуется версия 7.28.0 или выше. Чтобы использовать обновленные возможности cURL для элементов данных web.page.*, перезапустите сервер/прокси Zabbix.Для аутентификации 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 | Требуется при использовании шифрования. Минимальные версии: libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
| libldap | Требуется для поддержки LDAP. | |
| fping | Требуется для элементов данных проверки ICMP ping. | |
| c-ares | Требуется для асинхронного разрешения DNS-имен, если Zabbix настроен с параметром --with-ares. В противном случае будет использоваться libevent.Минимальная версия: 1.16.0. Для функции кэширования запросов DNS и переключения при сбое (кэш запросов включен по умолчанию) требуется c-ares версии 1.26.0 или выше. В системах, где c-ares предоставляется пакетом ОС, убедитесь, что установленная библиотека времени выполнения предоставляет функции разрешения имен, необходимые для кэширования DNS и переключения при сбое. |
|
| g++ | Компилятор C++. Требуется для компиляции прокси Zabbix с параметром --with-apm для мониторинга производительности приложений (APM). |
|
| gRPC | Требуется для APM на прокси Zabbix, если он скомпилирован с параметром --with-apm.Требуемые библиотеки: grpc++, grpc, gpr. Для компиляции прокси Zabbix также требуется утилита grpc_cpp_plugin.Требуемая версия доступна в стандартных репозиториях пакетов следующих операционных систем: - Ubuntu 23.04 или более поздней версии; - Debian 12 (Bookworm) или более поздней версии; - Alpine Linux 3.15 или более поздней версии; - RHEL, Rocky Linux, CentOS Stream 9 или более поздней версии (только из репозитория EPEL); - Fedora X или более поздней версии. В более старых версиях операционных систем gRPC необходимо собирать из исходного кода. |
|
| protobuf | Требуется для APM на прокси Zabbix, если он скомпилирован с параметром --with-apm.Для компиляции прокси Zabbix также требуется компилятор protoc. |
|
| Abseil | Требуется для APM на прокси Zabbix, если он скомпилирован с параметром --with-apm.Требуемые библиотеки: absl_synchronization, absl_base. Обычно устанавливается вместе с gRPC. |
Агент
| Requirement | Mandatory status | Description |
|---|---|---|
| libpcre2 | Yes | Требуется библиотека PCRE2 для поддержки Perl Compatible Regular Expression (PCRE). Поддерживается PCRE2 v10.x. Требуется для мониторинга журналов. Также требуется в Windows. |
| libpthread | Требуется для поддержки mutex и read-write lock (может быть частью libc). В Windows не требуется. | |
| libresolv | Требуется для разрешения DNS (может быть частью libc). В Windows не требуется. | |
| libiconv | Требуется для преобразования текстовой кодировки/формата в UTF-8 в элементах данных журнала, содержимого файлов, регулярных выражений файлов и элементах данных regmatch (может быть частью libc). В Windows не требуется. | |
| libgnutls or libopenssl | No | Требуется при использовании шифрования. Минимальные версии: 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 агент поддерживает дополнительные возможности, такие как HTTP URL с учетными данными (например, http://user:[email protected]) и HTTPS URL. Требуется версия 7.19.1 или выше (рекомендуется 7.28.0 или выше). Чтобы использовать обновленные возможности cURL, перезапустите агент Zabbix. |
|
| libmodbus | Требуется только при использовании мониторинга Modbus. Версия 3.0 или выше. |
Агент 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+ - NVIDIA GPU - Example plugin |
| libpcre2 | Yes | Для поддержки Perl Compatible Regular Expression (PCRE) требуется библиотека PCRE2. Поддерживается 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 в исходном коде:
| Библиотека | Обязательность | Включённая версия | Комментарии |
|---|---|---|---|
| android-json | Да | 4.3r1 | JSON (JavaScript Object Notation) — это облегчённый формат обмена данными. Это совместимая с org.json реализация для Android, извлечённая из Android SDK. |
| logback-classic | 1.5.25 | ||
| logback-core | 1.5.25 | ||
| slf4j-api | 2.0.16 |
Java gateway можно собрать с использованием Oracle Java или свободно распространяемого OpenJDK (версии 8 или новее). Пакеты, предоставляемые Zabbix, компилируются с использованием OpenJDK. В следующей таблице перечислены пакеты OpenJDK, используемые дистрибутивами для сборки пакетов Zabbix:
| Дистрибутив | Пакет OpenJDK |
|---|---|
| AlmaLinux 10 | java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2) |
| AlmaLinux 9 | java-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2) |
| 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-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2) |
| 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-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-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-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2) |
| 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-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2) |
| 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 могут использовать в конфигурации по умолчанию:
| Компонент Zabbix | Протокол и порт | Соединение инициируется |
|---|---|---|
| Агент Zabbix | TCP 10050 | Сервер Zabbix или прокси Zabbix (только пассивные проверки) |
| Агент Zabbix 2 | TCP 10050 | Сервер Zabbix или прокси Zabbix (только пассивные проверки) |
| Сервер Zabbix | TCP 10051 | Активные агенты Zabbix, активный прокси Zabbix, Zabbix sender, веб-интерфейс Zabbix |
| Прокси Zabbix | TCP 10051 | Активные агенты Zabbix, Zabbix sender, сервер Zabbix (только пассивный прокси) |
| Java gateway Zabbix | TCP 10052 | Сервер Zabbix или прокси |
| Веб-сервис Zabbix | TCP 10053 | Сервер Zabbix |
| MCP-сервер Zabbix | TCP 8443 | Клиенты MCP (агенты ИИ) |
| Веб-интерфейс Zabbix | TCP 80 | Веб-браузеры, веб-сервис Zabbix (плановые отчеты), клиенты API |
| TCP 443 | ||
| SNMP-ловушки (snmptrapd) | UDP 162 | Устройства SNMP |
| Адаптер моста Zabbix | TCP 10054 | Сервер Zabbix |
Открывайте только порты, необходимые для фактически используемых компонентов, и ограничивайте каждое правило брандмауэра конкретными узлами сети, которым требуется подключение (например, разрешайте порт 10050 только для сервера Zabbix или прокси, а не для любого адреса).
Не открывайте порты Zabbix напрямую в интернет.
Перед открытием портов защитите установку: включите шифрование между компонентами, ограничьте разрешенные узлы сети в конфигурационных файлах компонентов и ознакомьтесь с рекомендациями по обеспечению безопасности.
Размер базы данных
Конфигурационные данные 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.