Skip to main content

zabbix-server image перевод

Что такое Zabbix?

Zabbix - это решение для распределенного мониторинга корпоративного уровня с открытым исходным кодом.

Zabbix - это программное обеспечение, которое отслеживает многочисленные параметры сети, а также работоспособность и целостность серверов. Zabbix использует гибкий механизм оповещения, который позволяет пользователям настраивать оповещения на основе электронной почты практически для любого события. Это позволяет быстро реагировать на проблемы с сервером. Zabbix предлагает отличные функции создания отчетов и визуализации данных на основе сохраненных данных. Это делает Zabbix идеальным решением для планирования производственных мощностей.

Для получения дополнительной информации и связанных с ней загрузок компонентов Zabbix, пожалуйста, посетите https://hub.docker.com/u/zabbix/ и https://zabbix.com
Что такое Zabbix server?

Zabbix server - это центральный процесс программного обеспечения Zabbix.

Сервер выполняет опрос и обработку данных, вычисляет триггеры, отправляет уведомления пользователям. Это центральный компонент, в который агенты и прокси-серверы Zabbix передают данные о доступности и целостности систем. Сервер может сам удаленно проверять сетевые службы (такие как веб-серверы и почтовые серверы), используя простые проверки служб.
Изображения сервера Zabbix

Это единственные официальные образы Zabbix server Docker. Они основаны на образах Alpine Linux версии 3.21, Ubuntu 24.04 (noble), CentOS Stream 9 и Oracle Linux 9. Доступны следующие версии Zabbix server:

Zabbix server 5.0 (теги: alpine-5.0-последняя версия, ubuntu-5.0-последняя версия, ol-5.0-последняя версия)
Zabbix server 5.0.* (теги: alpine-5.0.*, ubuntu-5.0.*, ol-5.0.*)
Zabbix server 6.0 (теги: alpine-6.0-последняя версия, ubuntu-6.0-последняя версия, ol-6.0-последняя версия)
Zabbix сервер 6.0.* (теги: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*)
Zabbix server 7.0 (теги: alpine-7.0-последняя версия, ubuntu-7.0-последняя версия, ol-7.0-последняя версия)
Zabbix сервер 7.0.* (теги: alpine-7.0.*, ubuntu-7.0.*, ol-7.0.*)
Zabbix server 7.2 (теги: alpine-7.2-последняя версия, ubuntu-7.2-последняя версия, ol-7.2-последняя версия, alpine-последняя версия, ubuntu-последняя версия, ol-последняя версия, новейшая версия)
Zabbix сервер 7.2.* (теги: alpine-7.2.*, ubuntu-7.2.*, ol-7.2.*)
Zabbix сервер 7.4 (теги: alpine-trunk, ubuntu-trunk, ol-trunk)

Изображения обновляются при публикации новых версий. Изображение с тегом latest основано на Alpine Linux.

Изображение использует базу данных PostgreSQL. Для запуска используется следующая процедура:

    Проверка доступности базы данных
    Проверка наличия базы данных POSTGRES_DB. Создание имени базы данных POSTGRES_DB, если она не существует
    Проверка наличия таблицы dbversion. Создание схемы базы данных сервера Zabbix и загрузка образца исходных данных, если таблицы dbversion нет

Как использовать этот образ
Запустите zabbix-сервер-pgsql

Запустите контейнер Zabbix-сервера следующим образом:

запустите docker -назовите какой-нибудь zabbix-сервер-pgsql -e DB_SERVER_HOST="какой-нибудь postgres-сервер" -e POSTGRES_USER="какой-нибудь пользователь" -e POSTGRES_PASSWORD="какой-нибудь пароль" -инициализируйте zabbix/zabbix-сервер-pgsql:тег

Где some-zabbix-server-pgsql - это имя, которое вы хотите присвоить своему контейнеру, some-postgres-server - это IP или DNS-имя сервера PostgreSQL, some-user - это пользователь для подключения к базе данных Zabbix на сервере PostgreSQL, some-password - это пароль для подключения к серверу PostgreSQL и пометка это тег, указывающий нужную вам версию. Соответствующие теги приведены в списке выше или ознакомьтесь с полным списком тегов.

    Примечание
    На сервере Zabbix есть возможность запустить утилиту "fping" для выполнения ICMP-проверок. Когда контейнеры работают в режиме без рутинга или в среде с определенными ограничениями, вы можете столкнуться с ошибками, связанными с fping: "fping: Операция запрещена" или потеряны все пакеты для всех ресурсов. В этом случае добавьте "--cap-add=net_raw" к командам "docker run" или "podman run". Кроме того, для выполнения fping в некорневой среде может потребоваться изменение sysctl: `net.ipv4.ping_group_range=0 1995`, где 1995 - это идентификатор zabbix GID. 

Доступ к оболочке контейнера и просмотр логов сервера Zabbix

Команда docker exec позволяет запускать команды внутри контейнера Docker. Следующая командная строка предоставит вам оболочку bash внутри вашего контейнера zabbix-server-pgsql.:

$ docker exec -ti some-zabbix-server-pgsql /bin/bash

Журнал сервера Zabbix доступен через журнал контейнера Docker:

$ docker регистрирует некоторые данные zabbix-сервера-pgsql

Переменные среды

При запуске образа zabbix-сервера-pgsql вы можете настроить конфигурацию Zabbix-сервера, передав одну или несколько переменных среды в командной строке запуска docker.
DB_SERVER_HOST

Эта переменная является IP-адресом или DNS-именем сервера PostgreSQL. По умолчанию используется значение 'postgres-server'
DB_SERVER_PORT

Эта переменная является портом сервера PostgreSQL. По умолчанию используется значение '5432'.
POSTGRES_USER, ПАРОЛЬ POSTGRES_PASSWORD, ФАЙЛ POSTGRES_USER_FILE, ФАЙЛ POSTGRES_PASSWORD_FILE

Эти переменные используются сервером Zabbix для подключения к базе данных Zabbix. С помощью переменных _FILE вы можете указать путь к файлу, который содержит имя пользователя / пароль. Без использования Docker Swarm или Kubernetes вам также придется сопоставлять файлы. Они являются эксклюзивными, поэтому вы можете указать только один тип - либо POSTGRES_USER, либо POSTGRES_USER_FILE!

docker run --назовите какой-нибудь zabbix-сервер-pgsql -e DB_SERVER_HOST="какой-нибудь postgres-сервер" -v ./.POSTGRES_USER:/запустить/секреты/POSTGRES_USER -e POSTGRES_USER_FILE=/запустить/секреты/POSTGRES_USER -v ./.POSTGRES_PASSWORD:/запустить/секреты/POSTGRES_PASSWORD -e POSTGRES_PASSWORD_FILE=/var/run/secrets/POSTGRES_PASSWORD --инициализировать zabbix/zabbix-сервер-pgsql:тег

В Docker Swarm или Kubernetes это работает с секретами. Таким образом, это реплицируется в вашем кластере!

printf "zabbix" | docker secret создает пароль пользователя POSTGRES_USER -
printf "zabbix" | docker secret создает пароль пользователя POSTGRES_USER -
docker run -назовите какой-нибудь zabbix-сервер-pgsql -e DB_SERVER_HOST="какой-нибудь postgres-сервер" -e POSTGRES_USER_FILE=/запустите/секреты/POSTGRES_USER -e POSTGRES_PASSWORD_FILE=/запустите/секреты/POSTGRES_PASSWORD -инициализируйте zabbix/zabbix-сервер-pgsql:тег

По умолчанию значениями для POSTGRES_USER и POSTGRES_PASSWORD являются zabbix, zabbix.
POSTGRES_DB

Переменной является имя базы данных Zabbix. По умолчанию используется значение zabbix.
POSTGRES_USE_IMPLICIT_SEARCH_PATH

В некоторых настройках, например, включая PgBouncer

, установка search_path через параметры подключения завершается неудачей. Если для этой переменной задано значение "true", изображение пропускает установку search_path и верит, что search_path пользователя Zabbix настроен правильно в базе данных PostgreSQL.
ZBX_LOADMODULE

Переменная представляет собой список загружаемых модулей Zabbix, разделенных запятыми. Она работает с volume /var/lib/zabbix/modules. Синтаксис переменной dummy1.so,dummy2.so.
ZBX_DEBUGLEVEL

Переменная используется для определения уровня отладки. По умолчанию значение равно 3. Это параметр уровня отладки в zabbix_server.conf. Ниже перечислены допустимые значения:

    0 - основная информация о запуске и остановке процессов Zabbix;
    1 - критическая информация
    2 - информация об ошибках
    3 - предупреждения
    4 - для отладки (выводит много информации)
    5 - расширенная отладка (выводит еще больше информации)

ZBX_TIMEOUT

Переменная используется для указания времени ожидания для обработки проверок. По умолчанию значение равно 4.
ZBX_JAVAGATEWAY_ENABLE

Переменная позволяет подключаться к Zabbix Java Gateway для сбора проверок, связанных с Java. По умолчанию значение равно false.
Другие переменные

Кроме того, изображение позволяет указать множество других переменных среды, перечисленных ниже:

ZBX_ALLOWUNSUPPORTEDDBVERSIONS=0 # Доступно с версии 6.0.0
ZBX_DBTLSCONNECT= # Доступно с версии 5.0.0
ZBX_DBTLSCAFILE= # Доступен с версии 5.0.0
ZBX_DBTLSCERTFILE= # Доступен с версии 5.0.0
ZBX_DBTLSKEYFILE= # Доступен с версии 5.0.0
ZBX_DBTLSCIPHER= # Доступен с версии 5.0.0
ZBX_DBTLSCIPHER13= # Доступен с версии 5.0.0
ZBX_VAULTDBPATH= # Доступен с версии 5.2.0
ZBX_VAULTPREFIX= # Доступно с версии 7.0.0
ZBX_VAULTURL=https://127.0.0.1:8200 # Доступно с версии 5.2.0
VAULT_TOKEN= # Доступно начиная с версии 5.2.0
ZBX_LISTENIP=
ZBX_LISTENPORT=10051
ZBX_LISTENBACKLOG=
ZBX_STARTREPORTWRITERS=0 # Доступно начиная с версии 5.4.0
ZBX_WEBSERVICEURL=http://zabbix-веб-сервис:10053/отчет # Доступен начиная с версии 5.4.0.
ZBX_SERVICEMANAGERSYNCFREQUENCY=60 # Доступно с версии 6.0.0
ZBX_HISTORYSTORAGEURL= # Доступно с версии 3.4.0
ZBX_HISTORYSTORAGETYPES=uint,dbl,str,log,text # Доступно с версии 3.4.0
ZBX_ENABLEGLOBALSCRIPTS=0 # Доступно с версии 7.0.0
ZBX_STARTPOLLERS=5
ZBX_STARTIPMIPOLLERS=0
ZBX_STARTCONNECTORS=0 # Доступно с версии 6.4.0
ZBX_STARTPREPROCESSORS=3 # Доступно с версии 3.4.0
ZBX_STARTPOLLERS НЕДОСТУПНО=1
ZBX_STARTTRAPPERS=5
ZBX_STARTPINGERS=1
ZBX_STARTDISCOVERERS=1
ZBX_STARTHISTORYPOLLERS=5 # Доступно начиная с версии 5.4.0
ZBX_STARTHTTPOLLERS=1
ZBX_STARTODBCPOLLERS=1 # Доступно с версии 6.0.0
ZBX_STARTTIMERS=1
ZBX_STARTESCALATORS=1
ZBX_STARTALERTERS=3 # Доступно начиная с версии 3.4.0
ZBX_JAVAGATEWAY=zabbix-java-шлюз
ZBX_JAVAGATEWAYPORT=10052
ZBX_STARTJAVAPOLLERS=5
ZBX_STARTLLDПРОЦЕССОРЫ=2 # Доступны с версии 4.2.0
ZBX_STATSALLOWEDIP= # Доступны с версии 4.0.5
ZBX_STARTVMWARECOLLECTORS=0
ZBX_VMWAREFREQUENCY=60
ZBX_VMWAREPERFFREQUENCY=60
ZBX_VMWARECACHESIZE=8 М
ZBX_VMWARETIMEOUT=10
ZBX_ENABLE_SNMP_TRAPS=ложь
ZBX_SOURCEIP=
ZBX_SMSDEVICES=
ZBX_HOUSEKEEPINGFREQUENCY=1
ZBX_MAXHOUSEKEEPERDELETE=5000 УДАЛЕННЫХ ДОМЕННЫХ ИМЕН.
ZBX_PROBLEMHOUSEKEEPINGFREQUENCY=60 # Доступно с версии 6.0.0
ZBX_SENDERFREQUENCY=30 # Недоступно с версии 3.4.0
ZBX_CACHESIZE=8 МИЛЛИОНОВ
ZBX_CACHEUPDATEFREQUENCY=10
ZBX_STARTDBSYNCERS=4
ZBX_EXPORTFILESIZE=1G # Доступно с версии 4.0.0
ZBX_EXPORTTYPE= # Доступно с версий 5.0.10 и 5.2.6
ZBX_AUTOHANODENAME=полное доменное имя # Допустимые значения: полное доменное имя, имя хоста. Доступно с версии 6.0.0
ZBX_HANODENAME= # Доступно с версии 6.0.0
ZBX_AUTONODEADDRESS=полное доменное имя # Допустимые значения: полное доменное имя, имя хоста. Доступно с версии 6.0.0
ZBX_NODEADDRESSPORT=10051 # Разрешено использовать только с переменной ZBX_AUTONODEADDRESS. Доступно с версии 6.0.0
ZBX_NODEADDRESS=локальный хост # Доступен с версии 6.0.0
ZBX_HISTORYCACHESIZE=16 МИЛЛИОНОВ
ZBX_HISTORYINDEXCACHESIZE=4 МИЛЛИОНА
ZBX_HISTORYSTORAGEDATEINDEX=0 # Доступно с версии 4.0.0
ZBX_TRENDCACHESIZE=4 МИЛЛИОНА
ZBX_TRENDFUNCTIONCACHESIZE=4 МИЛЛИОНА
ZBX_VALUECACHESIZE=8 М
ZBX_TRAPPERTIMEOUT=300
ZBX_UNREACHABLE PERIOD=45
ZBX_UNAVAILABLEDELAY=60
ZBX_UNREACHABLEDELAY=15
ZBX_LOGSLOWQUERIES=3000
ZBX_STARTPROXYPOLLERS=1
ZBX_PROXYCONFIG ЧАСТОТА=10
ZBX_PROXYDATAFREQUENCY=1
ZBX_TLSCAFILE=
ZBX_TLSCA=
ZBX_TLSCRLФАЙЛ=
ZBX_TLSCRL=
ZBX_TLSCERTFILE=
ZBX_TLSCERT=
ZBX_TLSKEYFILE=
ZBX_TLSKEY=
ZBX_TLSCIPHERALL= # Доступен начиная с версии 4.4.7
ZBX_TLSCIPHERALL13= # Доступно с версии 4.4.7
ZBX_TLSCIPHERCERT= # Доступно с версии 4.4.7
ZBX_TLSCIPHERCERT13= # Доступно с версии 4.4.7
ZBX_TLSCIPHERPSK= # Доступно с версии 4.4.7
ZBX_TLSCIPHERPSK13= # Доступно с версии 4.4.7
ZBX_WEBDRIVERURL= # Доступно с версии 7.0.0
ZBX_STARTBROWSERPOLLERS=1 # Доступно с версии 7.0.0

Значения этих переменных по умолчанию указаны после знака равенства.

Допустимые переменные идентичны параметрам в официальном zabbix_server.conf. Например, ZBX_LOGSLOWQUERIES = LogSlowQueries. Запросы к журналу.

Пожалуйста, воспользуйтесь официальной документацией по zabbix_server.conf

чтобы получить более подробную информацию о переменных.
Допустимые объемы для контейнера Zabbix server
/usr/lib/zabbix/alertscripts

Объем используется для пользовательских сценариев оповещений. Это параметр AlertScriptsPath в zabbix_server.conf.
/usr/lib/zabbix/externalscripts

Объем используется для внешних проверок (тип элементов). Это параметр ExternalScripts в zabbix_server.conf.
/var/lib/zabbix/modules

Объем позволяет загружать дополнительные модули и расширять Zabbix-сервер с помощью функции LoadModule.
/var/lib/zabbix/enc

Этот том используется для хранения файлов, связанных с протоколом TLS. Имена этих файлов задаются с помощью переменных ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSCERTFILE и ZBX_TLSKEYFILE. Кроме того, можно использовать переменные окружения ZBX_TLSCA, ZBX_TLSCRL, ZBX_TLSCERT и ZBX_TLSKEY с текстовыми значениями.
/var/lib/zabbix/ssh_keys

Том используется в качестве хранилища открытых и закрытых ключей для проверок и действий по SSH. Это параметр SSHKeyLocation в zabbix_server.conf.
/var/lib/zabbix/ssl/certs.

Этот том используется в качестве хранилища файлов клиентских сертификатов SSL для аутентификации клиента. Это параметр SSLCertLocation в zabbix_server.conf.
/var/lib/zabbix/ssl/keys.

Этот том используется в качестве хранилища файлов закрытого SSL-ключа для аутентификации клиента. Это параметр SSLKeyLocation в zabbix_server.conf.
/var/lib/zabbix/ssl/ssl_ca

Этот том используется в качестве хранилища файлов центра сертификации (CA) для проверки сертификата SSL-сервера. Это параметр SSLCALocation в zabbix_server.conf.
/var/lib/zabbix/snmptraps.

Этот том используется в качестве хранилища файла snmptraps.log. Он может быть использован совместно с контейнером zabbix-snmptraps и унаследован с помощью параметра volumes_from Docker при создании нового экземпляра Zabbix-сервера. Функцию обработки SNMP-ловушек можно было бы включить, используя общий том и изменив значение переменной среды ZBX_ENABLE_SNMP_TRAPS на true.
/var/lib/zabbix/mibs

Том позволяет добавлять новые MIB-файлы. Он не поддерживает подкаталоги, все MIB-файлы должны быть размещены в /var/lib/zabbix/mibs.
/var/lib/zabbix/export

Каталог для экспорта событий, истории и трендов в реальном времени в формате JSON, разделенном новой строкой. Может быть включен с помощью переменной среды ZBX_EXPORTFILESIZE.
Варианты изображений

Образы zabbix-server-pgsql представлены в различных вариантах, каждый из которых предназначен для конкретного случая использования.
zabbix-server-pgsql:alpine-<версия>

Этот образ основан на популярном проекте Alpine Linux project

, доступном в официальном образе alpine. Размер Alpine Linux намного меньше, чем у большинства базовых образов дистрибутива (~5 МБ), что в целом приводит к получению гораздо более компактных образов.

Этот вариант настоятельно рекомендуется, если желательно, чтобы конечный размер изображения был как можно меньше. Главное предостережение, на которое следует обратить внимание, заключается в том, что в нем используется musl libc
вместо glibc и friends, поэтому в некоторых программах могут возникнуть проблемы в зависимости от глубины их требований к libc. Однако в большинстве программ с этим проблем нет, поэтому этот вариант, как правило, является очень безопасным. Смотрите эту ветку комментариев к Hacker News

для более подробного обсуждения проблем, которые могут возникнуть, и некоторых сравнений "за" и "против" использования изображений на основе Alpine.

Чтобы минимизировать размер изображения, в изображения на основе Alpine редко включаются дополнительные связанные инструменты (такие как git или bash). Используя этот образ как базовый, добавьте все, что вам нужно, в свой собственный файл Dockerfile (примеры установки пакетов, если вы не знакомы с ними, смотрите в описании образа alpine).
zabbix-server-pgsql:ubuntu-<версия>

Это исходное изображение. Если вы не уверены в том, что вам нужно, возможно, вы захотите использовать это изображение. Он предназначен для использования как в качестве одноразового контейнера (смонтируйте исходный код и запустите контейнер, чтобы запустить ваше приложение), так и в качестве основы для создания других образов.
zabbix-server-pgsql:ol-<версия>

Oracle Linux - это операционная система с открытым исходным кодом, доступная по лицензии GNU General Public License (GPLv2). Он подходит для рабочих нагрузок общего назначения или Oracle, благодаря тщательному тестированию в течение более 128 000 часов в день при реальных рабочих нагрузках и включает в себя уникальные инновации, такие как Ksplice для исправления ядра без простоев, DTrace для диагностики в режиме реального времени, мощную файловую систему Btrfs и многое другое.
Поддерживаемые версии Docker

Этот образ официально поддерживается в Docker версии 1.12.0.

Поддержка более старых версий (вплоть до 1.6) предоставляется по мере возможности.

Пожалуйста, ознакомьтесь с документацией по установке Docker

для получения подробной информации о том, как обновить ваш демон Docker.
Отзывы пользователей
Документация

Документация к этому образу хранится в каталоге server-pgsql/
репозитория zabbix/zabbix-docker на GitHub. Обязательно ознакомьтесь с файлом репозитория README.md 

, прежде чем отправлять запрос на извлечение.
Проблемы

Если у вас возникнут какие-либо проблемы или вопросы по поводу этого изображения, пожалуйста, свяжитесь с нами через GitHub.

.
Известные проблемы

Сервер Zabbix не поддерживает Jabber-уведомления в Alpine Linux, поскольку пакет iksemel находится в тестируемом репозитории и недоступен в стабильном репозитории.
Способствующий

Мы приглашаем вас вносить свой вклад в разработку новых функций, исправлений или обновлений, больших или малых; мы всегда рады получать запросы на доработку и делаем все возможное, чтобы обработать их как можно быстрее.

Прежде чем приступить к написанию кода, мы рекомендуем обсудить ваши планы с помощью GitHub issue

, особенно для более масштабных работ. Это дает другим участникам возможность указать вам правильное направление, дать отзыв о вашем дизайне и помочь узнать, работает ли кто-то еще над тем же проектом.
Лицензия

Начиная с Zabbix версии 7.0, все последующие версии Zabbix будут выпущены под общей публичной лицензией GNU Affero версии 3 (AGPLv3). Вы можете изменить соответствующую версию и распространять такую измененную версию в соответствии с условиями AGPLv3, опубликованными Фондом свободного программного обеспечения. Дополнительные сведения, включая ответы на распространенные вопросы о AGPLv3, см. в разделе "Общие вопросы и ответы на вопросы" Фонда свободного программного обеспечения.

.

Zabbix - это программное обеспечение с открытым исходным кодом, однако, если вы используете Zabbix в коммерческих целях, мы убедительно просим вас поддержать разработку Zabbix, предоставив определенный уровень технической поддержки. Все предыдущие версии программного обеспечения Zabbix вплоть до версии 6.4 выпущены под лицензией GNU General Public License версии 2 (GPLv2). Официальные условия GPLv2 и AGPLv3 можно найти по адресу http://www.fsf.org/licenses/
.