2. Требования
Оборудование
Память
Zabbix требуется как физическая память, так и память на диске. Очевидно, что объём необходимой памяти на диске зависит от количества наблюдаемых узлов сети и наблюдаемых параметров. Если вы планируете достаточно долгосрочное хранение истории наблюдаемых параметров, то потребуется по крайней мере несколько гигабайт для хранения данных истории в базе данных. Каждый из процессов демона Zabbix требует несколько подключений к серверу базы данных. Объём памяти, требуемый на каждое из подключений к базе данных, зависит от настроек базы данных.
Чем больше оперативной памяти вам доступно, тем быстрее работает база данных (а следовательно, и Zabbix).
CPU
Zabbix и, в частности, база данных Zabbix могут требовать значительных ресурсов CPU в зависимости от количества контролируемых параметров и выбранного движка базы данных.
Другое оборудование
Для использования встроенных в Zabbix SMS уведомлений потребуется последовательный порт передачи данных и GSM модем. Конвертер USB-to-serial также будет работать.
Примеры аппаратной конфигурации
В таблице приведены примеры аппаратной конфигурации при условии использования платформы Linux/BSD/Unix.
Это примеры размера и аппаратной конфигурации, с которых можно начать. Каждая установка Zabbix уникальна. Обязательно выполните тестирование производительности вашей системы Zabbix в тестовой или среде разработки, чтобы вы могли полностью понять свои требования до развертывания установки Zabbix в производственной среде.
| Размер установки | Контролируемые метрики1 | Ядра CPU/vCPU | Память (GiB) |
База данных | 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 график
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.
Стороннее внешнее сопутствующее ПО
Если указано как обязательное, требуемое ПО/библиотека строго необходимо. Необязательные нужны для поддержки некоторых конкретных функций.
| Software | Mandatory status | Supported versions | Comments | |
|---|---|---|---|---|
| MySQL/Percona | One of | 8.0.30-9.6.X | Требуется, если MySQL (или Percona) используется в качестве backend-базы данных Zabbix. Требуется движок InnoDB. Добавлена поддержка версий MySQL: - 9.5.X начиная с Zabbix 7.4.6; - 9.6.X начиная с Zabbix 7.4.9. Рекомендуем использовать библиотеку C API (libmysqlclient) для сборки server/proxy. |
|
| MariaDB | ^ | 10.5.00-12.2.X | Требуется движок InnoDB. Рекомендуемая версия — 11.4. Рекомендуем использовать библиотеку MariaDB Connector/C для сборки server/proxy. Добавлена поддержка версий MariaDB: - 12.0.X начиная с Zabbix 7.4.3; - 12.2.X начиная с Zabbix 7.4.9. См. также: Возможные взаимные блокировки с MariaDB и Доступ к элементам интерфейса с MariaDB 10.5.1-10.5.9. |
. |
| PostgreSQL | ^ | 13.0-18.X | Требуется, если PostgreSQL используется в качестве backend-базы данных Zabbix. В зависимости от размера установки может потребоваться увеличить параметр конфигурации PostgreSQL work_mem (значение по умолчанию — 4MB), чтобы объема памяти, используемого базой данных для конкретной операции, было достаточно и выполнение запросов не занимало слишком много времени. Добавлена поддержка версий PostgreSQL: - 18.X начиная с Zabbix 7.4.4. |
|
| TimescaleDB for PostgreSQL | ^ | 2.13.0-2.26.X | Требуется, если TimescaleDB используется как расширение базы данных PostgreSQL. Убедитесь, что установлена Community Edition TimescaleDB, поддерживающая сжатие. Обратите внимание, что PostgreSQL 15 поддерживается начиная с TimescaleDB 2.10. Также можно обратиться к документации TimescaleDB для получения подробностей о совместимости версий PostgreSQL и TimescaleDB. Добавлена поддержка версий TimescaleDB: - 2.20.X, 2.21.X начиная с Zabbix 7.4.1; - 2.22.X начиная с Zabbix 7.4.4; - 2.23.X начиная с Zabbix 7.4.6; - 2.24.X начиная с Zabbix 7.4.7; - 2.25.X начиная с Zabbix 7.4.8; - 2.26.X начиная с Zabbix 7.4.9. |
|
| SQLite | Optional | 3.3.5-3.53.X | SQLite поддерживается только с прокси Zabbix. Требуется, если SQLite используется как база данных прокси Zabbix. Поддержка версий SQLite: - 3.53.X начиная с Zabbix 7.4.9. |
|
| 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.
Если указано как обязательное, требуемое программное обеспечение/библиотека строго необходимо. Необязательные нужны для поддержки некоторых конкретных функций.
| Software | Mandatory status | Supported versions | Comments |
|---|---|---|---|
| PHP | Yes | 8.0.0 - 8.5.X | Добавлена поддержка версий PHP: - 8.5.X начиная с Zabbix 7.4.9. |
| Apache | One of | 2.4 or later | |
| Nginx | 1.20 or later | ||
| MySQL | One of | See Third-party external surrounding software | |
| PostgreSQL | |||
| PHP extensions | |||
| mysqli | Yes | Требуется, если 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 or later | php-gd (если поставляется дистрибьютором как отдельный пакет); расширение PHP GD должно поддерживать изображения PNG (--with-png-dir), изображения JPEG (--with-jpeg-dir) и FreeType 2 (--with-freetype-dir). Может потребоваться версия 2.3.0 или новее, чтобы избежать возможного наложения текста на графиках для некоторых языков веб-интерфейса. | |
| libxml | 2.6.15 or later | php-xml (если поставляется дистрибьютором как отдельный пакет) | |
| xmlwriter | php-xmlwriter (если поставляется дистрибьютором как отдельный пакет) | ||
| xmlreader | php-xmlreader (если поставляется дистрибьютором как отдельный пакет) | ||
| ctype | php-ctype (--enable-ctype) | ||
| session | php-session (если поставляется дистрибьютором как отдельный пакет) | ||
| ldap | No | php-ldap; требуется для LDAP-аутентификации. | |
| openssl | php-openssl; требуется для SAML-аутентификации. | ||
| gettext | php-gettext (--with-gettext); требуется для переводов. | ||
| cURL | 7.19.4 or later | php-curl; требуется для Duo Universal Prompt MFA и SMTP authentication. | |
Сторонние библиотеки веб-интерфейса, поставляемые с Zabbix:
| Library | Mandatory status | Supplied version | Comments |
|---|---|---|---|
| jQuery JavaScript Library | Yes | 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.4.0; - 4.3.1 начиная с Zabbix 7.4.8 (рекомендуется). |
|
| Duo Universal PHP library | 1.1.2 | Библиотека PHP, добавляющая поддержку многофакторной аутентификации Duo Universal Prompt для Zabbix. История поставляемых версий: - 1.0.2 начиная с Zabbix 7.4.0; - 1.1.0 начиная с Zabbix 7.4.7; - 1.1.2 начиная с Zabbix 7.4.10 (рекомендуется). |
|
| Symfony Yaml Component | 5.1.0 | Добавляет поддержку экспорта и импорта элементов конфигурации Zabbix в формате YAML. |
Zabbix также может работать на более ранних версиях Apache, MySQL и PostgreSQL.
Для шрифтов, отличных от стандартного DejaVu, может потребоваться функция PHP imagerotate. Если она отсутствует, эти шрифты могут отображаться некорректно при показе графика. Эта функция доступна только если PHP скомпилирован со встроенным GD, чего нет в Debian и других дистрибутивах.
Сторонние библиотеки, используемые для написания и отладки кода веб-интерфейса Zabbix:
| Library | Mandatory status | Minimum version | Description |
|---|---|---|---|
| Composer | No | 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.
Сервер/прокси
Если указано как обязательное, требуемое программное обеспечение/библиотека строго необходимо. Необязательные нужны для поддержки некоторых конкретных функций.
| Requirement | Mandatory status | Description |
|---|---|---|
| libpcre2 | Yes | Библиотека PCRE2 требуется для поддержки Perl Compatible Regular Expression (PCRE). Поддерживается PCRE2 v10.x. |
| libevent | Требуется для межпроцессного взаимодействия. Версия 2.0.10 или выше. | |
| libevent-pthreads | Требуется для межпроцессного взаимодействия. | |
| libpthread | Требуется для поддержки mutex и read-write lock (может входить в состав libc). | |
| libresolv | Требуется для разрешения DNS-имен (может входить в состав libc). | |
| libiconv | Требуется для преобразования текстовой кодировки/формата. Обязательно для Zabbix server в Linux. | |
| libz | Требуется для поддержки сжатия. | |
| libm | Математическая библиотека. Требуется только для Zabbix server. | |
| libmysqlclient | One of | Требуется, если используется MySQL. |
| libmariadb | Требуется, если используется MariaDB. | |
| libpq5 | Требуется, если используется PostgreSQL; версия libpq5 должна совпадать с версией используемой базы данных PostgreSQL или быть выше нее. | |
| libsqlite3 | Требуется, если используется SQLite. Требуется только для Zabbix proxy. | |
| libOpenIPMI | No | Требуется для поддержки IPMI. Требуется только для Zabbix server. |
| libssh2 or libssh | Требуется для проверок SSH. Версия 1.8.0 или выше (libssh2); 0.9.0 или выше (libssh). | |
| libcurl | Требуется для следующих функций: - Мониторинг веб-сайтов, мониторинг VMware и элементы данных HTTP agent (для всех: версия 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 или выше для всех функций. Чтобы использовать обновленные возможности cURL для элементов данных web.page.*, перезапустите Zabbix server/proxy.Для 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 or libopenssl | Требуется при использовании шифрования. Минимальные версии: libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
| libldap | Требуется для поддержки LDAP. | |
| fping | Требуется для элементов данных ICMP ping. | |
| c-ares | Требуется для асинхронного разрешения DNS, если Zabbix настроен с опцией --with-ares. В противном случае будет использоваться libevent.Минимальная версия: 1.16.0 |
Агент
| 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 | Требуется при использовании encryption. Минимальные версии: 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 agent. |
|
| libmodbus | Требуется только при использовании мониторинга Modbus. Версия 3.0 или выше. |
Агент 2
| Requirement | Mandatory status | Description |
|---|---|---|
| Go | Yes | Требуется для сборки Zabbix agent 2 и его плагинов из исходного кода. Поддерживается Go 1.24.10 или более поздняя версия. Инструкции по установке см. на go.dev. Библиотеки Go, используемые Zabbix agent 2 и его плагинами, перечислены в репозитории Zabbix Git (библиотеки, помеченные как indirect в репозитории, являются зависимостями других требуемых библиотек):- Zabbix agent 2 - Поддержка плагинов - PostgreSQL - MongoDB - MSSQL - Ember+ - NVIDIA GPU - Пример плагина |
| libpcre2 | Yes | Для поддержки регулярных выражений, совместимых с Perl (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.16 | ||
| logback-core | 1.5.16 | ||
| slf4j-api | 2.0.16 |
Java gateway может быть скомпилирован с использованием Oracle Java или с использованием OpenJDK (версия 1.6 или новее) с открытым исходным кодом. Пакеты, поставляемые Zabbix, скомпилированы с использованием OpenJDK. Следующая таблица перечисляет пакеты OpenJDK, использованные для сборки пакетов Zabbix в зависимости от дистрибутива:
| Дистрибутив | Пакет 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) |
2.0.16 |
Номера портов по умолчанию
Для конфигурации по умолчанию применим следующий список открытых портов по компонентам:
| Компонент 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 новых значений.
- Настройки очистки истории
Zabbix хранит значения за определённый период времени, обычно несколько недель или месяцев. Каждое новое значение требует определенного объёма дискового пространства для данных и индексов.
Таким образом, если требуется хранение 30 дней истории и каждую секунду мы получаем 50 новых значений, общее количество значений будет приблизительно (30*24*3600)* 50 = 129.600.000 или около 130М значений.
В зависимости от типа базы данных, типа полученных значений (с плавающей точкой, целое число, строки, файлы журналов и т.д.) может потребоваться от 40 байт до сотен байт дискового пространства для хранения одного значения. Обычно одно значение занимает около 90 байт для числового элемента данных2. В нашем случае это означает, что 130М значений потребуют 130M * 90 байт = 10.9ГБ дискового пространства.
Размер значений текстовых/журнальных элементов данных невозможно предугадать точно, но можно ожидать около 500 байт на значение.
- Настройки очистки динамики изменений
Zabbix хранит ежечасную статистику значений max/min/avg/count для каждого элемента данных в таблице trends. Эти данные используются для отслеживания динамики изменений и для графиков при отображении большого периода времени. Период в 1 час не является настраиваемым.
Базе данных Zabbix, в зависимости от типа базы данных, требуется около 90 байт на один элемент динамики изменений. Предположим, что требуется хранить динамику изменений в течение 5 лет. Значения 3000 элементов данных потребуют 3000*24*365* 90 = 2.2ГБ за год, или 11ГБ за 5 лет.
- Настройки очистки событий
Каждое событие Zabbix требует около 250 байт дискового пространства1. Сложно точно оценить количество событий, ежедневно генерируемых Zabbix сервером. В самом худшем случае, можно предположить, что Zabbix генерирует одно событие в секунду.
По каждому событию восстановления создается запись в event_recovery. Обычно большая часть событий восстанавливается, поэтому мы можем предположить, что в event_recovery будет по одной записи по каждому событию. Это означает дополнительные 80 байт на каждое событие.
Опционально, у событий могут быть теги, каждая запись тега требует приблизительно 100 байт дискового пространства1. Количество тегов на событие (#теги) зависит от конфигурации. Таким образом, каждая запись потребует дополнительно #теги * 100 байт дискового пространства.
Это означает, что для того, чтобы хранить события 3 года, потребуется 3*365*24*3600* (250+80+#tags*100) = \~30ГБ+#теги*100 байт дискового пространства2.
1 Больше, когда имеются не-ASCII имена событий, тегов и значения.
2 Приблизительные размеры основаны на MySQL и могут отличаться для других баз данных.
Представленная ниже таблица содержит формулы для расчёта требуемого дискового пространства для системы мониторинга Zabbix:
| Параметр | Формула для расчёта занимаемого места(в байтах) |
|---|---|
| Конфигурация Zabbix | Фиксированный размер. Обычно 10МБ или меньше. |
| История | дней*(элементов данных/частота обновления)*24*3600*байт элементы данных : количество элементов данных дней : количество дней хранения истории частота обновления : среднее значение периода проверки элементов данных байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 90 байт |
| Динамика изменений | дней*(элементов данных/3600)*24*3600*байт элеменов данных : количество элементов данных дней : количество дней хранения динамики изменений байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 90 байт. |
| События | дней*событий*24*3600*байт событий : количество событий в секунду. Одно (1) событие в секунду в худшем случае. дней : количество дней хранения событий байт : количество байт, требуемых для одного события, зависит от типа базы данных, обычно примерно 330 + среднее количество тегов на событие * 100 байт. |
Итак, общее количество требуемого места на жёстком диске рассчитывается:
Конфигурация + История + Динамика изменений + События
Дисковое пространство НЕ будет использовано сразу же после установки Zabbix. Размер базы данных будет постепенно увеличиваться и остановится по достижении определённого момента, зависящего от настроек очистки базы данных.
Синхронизация времени
Очень важно иметь точное системное время на сервере с запущенным Zabbix. ntpd [en] — один из самых популярных демонов синхронизации времени узла с временем на остальных серверах. Настоятельно рекомендуется поддерживать синхронизированное время на всех системах, где работают компоненты Zabbix.
Требования к сети
Следующий список открытых портов по компонентам применим к конфигурации по умолчанию.
| Компоненты | Порт |
|---|---|
| Веб-интерфейс | http на 80, https на 443 |
| Сервер | 10051 (для использования с активными прокси/агентами) |
| Активный прокси | 10051 |
| Пассивный прокси | 10051 |
| Агент 2 | 10050 |
| Траппер | |
| JavaGateway | 10052 |
| Веб-сервис | 10053 |
Чтобы разрешить внешние коммуникации с Zabbix, номера портов должны быть открыты на брандмауэре. Исходящие TCP-соединения обычно не требуют явных настроек брандмауэра.