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) используется в качестве серверной базы данных 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. Для сборки сервера/прокси мы рекомендуем использовать библиотеку C API (libmysqlclient). Настоятельно рекомендуем использовать в производственной среде только LTS-релизы. Релизы с пометками "rolling release", "early access" или аналогичными не рекомендуются. |
| MariaDB | 10.5.00-12.3.X | Требуется движок InnoDB. Рекомендуемая версия — 12.3. Для сборки сервера/прокси мы рекомендуем использовать библиотеку 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. Настоятельно рекомендуем использовать в производственной среде только LTS-релизы. Релизы с пометками "rolling release", "early access" или аналогичными не рекомендуются. |
|
| Oracle | 19c - 21c | Требуется, если Oracle используется в качестве серверной базы данных Zabbix. Поддержка Oracle DB считается устаревшей начиная с Zabbix 7.0. |
|
| PostgreSQL | 13.0-18.X | Требуется, если PostgreSQL используется в качестве серверной базы данных 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 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 в оригинальном коде:
| Библиотека | Признак обязательности | Поставляемая версия | Комментарии |
|---|---|---|---|
| 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 новых значений.
- Настройки 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-соединения обычно не требуют явных настроек брандмауэра.