Погодин Евгений — ИТ Заметки
📈Мониторинг Обновлено 28.10.2026

Zabbix с нуля: установка, первые узлы и уведомления

Note

Материал сверен с официальной документацией (Zabbix 7.0, Ubuntu Server, Microsoft Learn; ссылки — в конце статьи). Примеры вывода — иллюстрации: у вас значения и формат могут отличаться. Перед работой на боевой системе проверьте шаги на тестовой.

В пятницу вечером на файловом сервере закончилось место на диске, а вы узнали об этом в понедельник от пользователей. Система мониторинга нужна, чтобы узнавать о таком первыми: она сама опрашивает серверы, хранит историю показателей и пишет вам, когда значение выходит за границы. Мы развернём Zabbix на Ubuntu Server 24.04 LTS (Long Term Support — выпуск с долгосрочной поддержкой), подключим Linux- и Windows-серверы, настроим уведомления по почте и в Telegram, проверим их искусственной аварией и закроем главные риски безопасности.

В примерах lnx1 (192.168.10.20) — сервер Zabbix, lnx2 (192.168.10.21) — наблюдаемый Linux, SRV1 (192.168.10.10) — наблюдаемый Windows. admin-lab — учётная запись Linux; в самом Zabbix мы начнём со встроенного пользователя Admin.

Что нужно знать заранее

Понадобятся машина с Ubuntu Server и постоянным адресом, права sudo, выход lnx1 в интернет (к repo.zabbix.com), права администратора на наблюдаемых серверах и SMTP-сервер (Simple Mail Transfer Protocol — протокол отправки почты; в примерах smtp.lab.example). Документация для малой установки (около 1000 метрик) приводит пример: 2 vCPU (виртуальных процессора) и 8 ГиБ памяти; это ориентир, а не минимум. На всех машинах нужно точное время. Пункты меню Zabbix даны по английскому интерфейсу; в русском они переведены.

Из чего состоит Zabbix

         Браузер администратора
                 | HTTP(S), порт 80/443
                 v
 +--------------- lnx1 192.168.10.20 ---------------+
 | Веб-интерфейс --> База данных <-- Zabbix server  |
 | (Apache + PHP)    (PostgreSQL)     (порт 10051)  |
 | + Zabbix agent 2 (порт 10050) для самого lnx1    |
 +---------------|----------------------^-----------+
                 | (1) сервер сам       | (2) агент сам
                 | опрашивает агента    | обращается к серверу
                 | (порт 10050)         | (порт 10051)
                 v                      |
 +--------------------------------------------------+
 | lnx2 и SRV1: Zabbix agent 2 (слушает порт 10050) |
 +--------------------------------------------------+

Стрелка (1) — пассивная проверка, стрелка (2) — активная; разницу разберём ниже.

  • Сервер — центральный процесс: принимает данные, вычисляет триггеры, рассылает уведомления.
  • База данных хранит настройки и собранные данные; с ней работают сервер и веб-интерфейс. Мы берём PostgreSQL.
  • Веб-интерфейс на PHP обычно стоит на одной машине с сервером.
  • Агент стоит на наблюдаемом узле и отдаёт локальные показатели. Агентов два: лёгкий Zabbix agent (на C) и Zabbix agent 2 (на Go, с плагинами, может служить заменой первому). Мы выбираем agent 2.
  • Прокси — необязательный посредник для сбора данных, например в филиале.

Настройка идёт цепочкой: чтобы получить письмо о перегрузке процессора сервера X, нужны узел X, элемент данных (метрика процессора), триггер (порог) и действие, отправляющее письмо.

Термин Что это
Узел (host) любое наблюдаемое устройство, сервис или приложение
Группа узлов логическая группа; права доступа выдаются группам
Элемент данных (item) одна метрика узла; её ключ, например system.cpu.load
Триггер выражение-порог; состояния OK и Problem
Шаблон набор элементов и триггеров, который привязывают к узлам
Действие (action) условия и операции, например «отправить сообщение»
Тип оповещения (media type) канал доставки: Email, webhook (вызов внешнего сервиса по HTTP скриптом на JavaScript) и другие

Порты по умолчанию:

Компонент Порт Кто начинает соединение
Агент и агент 2 TCP 10050 сервер или прокси (только пассивные проверки)
Сервер TCP 10051 активные агенты, прокси, zabbix_sender, веб-интерфейс
Веб-интерфейс TCP 80, 443 браузеры

Пассивные и активные проверки

Пассивные Активные
Кто начинает сервер спрашивает агента агент берёт у сервера список проверок и присылает данные
Параметры агента Server= ServerActive= и Hostname=
Интерфейс узла в Zabbix нужен (адрес агента) не нужен
Шаблон Linux by Zabbix agent Linux by Zabbix agent active

Режимы можно использовать одновременно. Активные проверки удобны, если агент за брандмауэром: входящие соединения к нему не нужны. Мы пойдём пассивным путём.

Какую версию ставить

По странице загрузки и политике релизов на 28.10.2026 актуальная выпущенная LTS-ветка — Zabbix 7.0 (последний выпуск ветки — 7.0.32). LTS поддерживается пять лет: три года полной поддержки и два года ограниченной (только критичные исправления). Для 7.0 полная поддержка действует до 30 июня 2027 года, ограниченная — до 30 июня 2029 года, поэтому обновление на следующую LTS стоит запланировать заранее. Выход LTS-версии 8.0 политика релизов планирует на IV квартал 2026; на странице загрузки она пока помечена как предрелиз (8.0.0rc2). Если к моменту чтения 8.0 уже вышла, сверяйте шаги с её документацией.

Ставьте пакеты только из официального репозитория Zabbix: пакеты из репозиториев дистрибутивов проектом не поддерживаются и могут отставать.

Установка сервера на Ubuntu Server 24.04 LTS

Все команды на lnx1. Шаги повторяют инструкцию со страницы загрузки Zabbix для выбора «7.0 LTS, Ubuntu 24.04, PostgreSQL, Apache».

Шаг 1. База данных. Установите PostgreSQL и убедитесь, что версия попадает в поддерживаемый диапазон (для Zabbix 7.0 это 13.0–18.X):

sudo apt update
sudo apt install postgresql
sudo -u postgres psql -c "select version();"

Шаг 2. Репозиторий Zabbix.

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/\
zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo apt update

В выводе apt update должны появиться строки с repo.zabbix.com.

Шаг 3. Пакеты.

sudo apt install zabbix-server-pgsql zabbix-frontend-php php8.3-pgsql \
  zabbix-apache-conf zabbix-sql-scripts zabbix-agent2

Это сервер с поддержкой PostgreSQL, веб-интерфейс, настройка Apache, схема базы и агент для самого lnx1. Модуль PHP для PostgreSQL ставится из репозитория Ubuntu (пакетов PHP в репозитории Zabbix нет): на 24.04 это php8.3-pgsql, для 26.04 страница загрузки подставляет php8.5-pgsql (Zabbix 7.0 поддерживает PHP 8.0–8.5). Проверьте версию:

zabbix_server -V

В ответе должен быть номер выпуска ветки 7.0.

Шаг 4. База данных Zabbix.

sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | \
  sudo -u zabbix psql zabbix

Первая команда дважды спросит пароль пользователя БД zabbix (<ПАРОЛЬ_БД>); вторая создаёт базу с владельцем zabbix; третья загружает схему и начальные данные. В конце вывода не должно быть строк ERROR. Проверка: sudo -u postgres psql -c "\l" покажет базу zabbix. PostgreSQL в Ubuntu по умолчанию принимает подключения только с самого сервера; для Zabbix на одной машине это то, что нужно, поэтому не меняйте listen_addresses и не открывайте порт 5432.

Шаг 5. Пароль в конфигурации сервера. Откройте /etc/zabbix/zabbix_server.conf (sudo nano) и задайте:

DBPassword=<ПАРОЛЬ_БД>

В поставляемом файле DBName и DBUser уже равны zabbix; при других именах поправьте их.

Шаг 6. Запуск.

sudo systemctl restart zabbix-server zabbix-agent2 apache2
sudo systemctl enable zabbix-server zabbix-agent2 apache2
sudo systemctl status zabbix-server
sudo ss -tlnp | grep -E ':(80|10050|10051)\s'

На 26.04 LTS к службам добавляется php8.5-fpm. Служба должна быть active (running), а ss покажет порты 80, 10050 и 10051. Путь к журналу задан параметром LogFile в zabbix_server.conf.

Если на lnx1 включён ufw (по умолчанию он выключен), пустите в веб-интерфейс только офисную сеть, иначе страница из шага 7 не откроется (о ufw — в статье Сеть в Linux: Netplan, ip, DNS и ufw):

sudo ufw allow proto tcp from 192.168.10.0/24 to any port 80

Порт 10051 открывайте позже, когда появятся активные агенты или прокси, и только для их адресов.

Шаг 7. Мастер веб-интерфейса. Откройте в браузере http://192.168.10.20/zabbix (для Apache адрес именно с /zabbix). Мастер проверит требования (обязательные пункты должны быть в порядке), спросит параметры базы (PostgreSQL, хост localhost, база и пользователь zabbix, пароль из шага 4) и настройки (имя сервера, часовой пояс, тема), затем покажет сводку и завершит установку. После этого войдите как Admin с паролем zabbix и сразу смените пароль: User settings → Profile → Change password. После смены Zabbix завершит все активные сеансы пользователя. Учётная запись guest по умолчанию отключена.

Через минуту-две в разделе Monitoring → Hosts узел Zabbix server (в нём наблюдается сам lnx1) должен получить зелёный значок ZBX: он в столбце Availability показывает, отвечает ли агент узла.

Первый узел: Linux-сервер lnx2

На lnx2 подключите тот же репозиторий (шаг 2) и установите агент:

sudo apt install zabbix-agent2

Откройте /etc/zabbix/zabbix_agent2.conf и задайте:

Server=192.168.10.20
ServerActive=192.168.10.20
Hostname=lnx2

Для пассивных проверок обязателен только Server: адреса серверов или прокси, которым разрешено подключаться к агенту (чужие соединения отклоняются, а без параметра агент не слушает TCP-порт). ServerActive и Hostname задаём сразу, чтобы агент был готов к активному режиму и не оставался со значениями по умолчанию (127.0.0.1 и Zabbix server). Hostname должен в точности (с учётом регистра) совпадать с именем узла в Zabbix.

sudo systemctl restart zabbix-agent2
sudo systemctl enable zabbix-agent2
sudo ufw allow proto tcp from 192.168.10.20 to any port 10050

Правило ufw нужно, только если брандмауэр включён; оно пускает на порт агента один адрес сервера. Проверьте агента с lnx1 утилитой zabbix_get из пакета zabbix-get:

sudo apt install zabbix-get
zabbix_get -s 192.168.10.21 -k agent.ping
zabbix_get -s 192.168.10.21 -k agent.version

Ответ 1 на первую команду (агент всегда возвращает единицу) и номер версии на вторую (например, 7.0.x) означают, что связь есть. Теперь создайте узел: Data collection → Hosts → Create host:

  • Host name: lnx2;
  • Templates: Linux by Zabbix agent;
  • Host groups: Linux servers (имя несуществующей группы создаст её);
  • Interfaces → Add → Agent: IP 192.168.10.21, Connect to — IP, порт 10050.

Нажмите Add. В течение пары минут значок ZBX в Monitoring → Hosts станет зелёным; метрики видны по ссылке Latest data.

Второй узел: Windows-сервер SRV1

Агент 2 требует Windows 10 или Windows Server 2016 и новее. Скачайте MSI-пакет на странице загрузки агентов Zabbix и сверьте контрольную сумму с указанной там:

Get-FileHash .\zabbix_agent2-<ВЕРСИЯ>-windows-amd64-openssl.msi `
    -Algorithm SHA256

Версия агента должна совпадать с версией сервера (так рекомендует документация). Мастер установки спрашивает параметры конфигурации: Host name (SRV1), Zabbix server IP/DNS (192.168.10.20), порт агента, адрес для активных проверок. То же делает командная строка от администратора (замените <ВЕРСИЯ> на номер скачанного выпуска):

msiexec.exe /l*v "C:\package.log" ^
 /i "C:\zabbix_agent2-<ВЕРСИЯ>-windows-amd64-openssl.msi" /qn+ ^
 SERVER=192.168.10.20 SERVERACTIVE=192.168.10.20 HOSTNAME=SRV1

Установщик создаёт службу Windows и, если не указать SKIP=fw, добавляет исключение в брандмауэр. Проверьте службу и сузьте правило до адреса сервера:

Get-Service -DisplayName "Zabbix*"
Get-NetFirewallRule -DisplayName "*Zabbix*" |
    Format-Table DisplayName, Enabled, Direction, Action
Set-NetFirewallRule -DisplayName "<ИМЯ_ПРАВИЛА>" -RemoteAddress 192.168.10.20

Имя правила возьмите из вывода второй команды. Дальше всё как для Linux: zabbix_get -s 192.168.10.10 -k agent.ping с lnx1 и узел SRV1 с шаблоном Windows by Zabbix agent, группой Windows servers и интерфейсом Agent 192.168.10.10:10050.

Шаблоны, элементы данных и триггеры

Шаблон Linux by Zabbix agent содержит десятки элементов: загрузку процессора, память, подкачку, время работы, а также автоматическое обнаружение файловых систем и сетевых интерфейсов. Агент 2 поддерживает все возможности прежнего агента, поэтому шаблоны … by Zabbix agent работают и с ним (шаблон требует агента версии 7.0 или новее). Поверх элементов заданы триггеры, пороги которых вынесены в макросы:

Триггер (Linux) Серьёзность Условие по умолчанию
Linux: Zabbix agent is not available Average нет ответа агента {$AGENT.TIMEOUT} = 3 минуты
Linux: High CPU utilization Warning загрузка выше 90 % ({$CPU.UTIL.CRIT}) в течение 5 минут
Linux: High memory utilization Average занято более 90 % памяти ({$MEMORY.UTIL.MAX}) 5 минут
Linux: FS [/]: Space is low Warning занято более 80 % ({$VFS.FS.PUSED.MAX.WARN})
Linux: FS [/]: Space is critically low Average занято более 90 % ({$VFS.FS.PUSED.MAX.CRIT})

[/] — имя файловой системы, оно подставляется автоматически. У Windows by Zabbix agent триггеры похожи. Серьёзность (severity) определяет цвет проблемы и то, кому и каким каналом писать. Уровней шесть: Not classified, Information, Warning, Average, High, Disaster.

Пороги меняют на узле, не трогая шаблон: Data collection → Hosts → узел → вкладка Macros → Inherited and host macros, где можно задать своё значение, например {$VFS.FS.PUSED.MAX.WARN} = 75.

Чтобы понять синтаксис триггеров, создайте свой (по образцу быстрого старта Zabbix). Data collection → Hosts → lnx2 → Items → Create item: имя CPU load, ключ system.cpu.load; историю можно хранить 7–14 дней. Затем Triggers → Create trigger: имя CPU load too high on lnx2 for 3 minutes, выражение:

avg(/lnx2/system.cpu.load,3m)>2

Читается так: среднее значение system.cpu.load узла lnx2 за 3 минуты больше 2. Когда значение приходит в норму, триггер снова становится OK. Для обзора нескольких узлов служат дашборды (раздел Dashboards) из виджетов.

Уведомления

Чтобы Zabbix отправил сообщение, нужны три вещи: операция действия, рабочий тип оповещения и адрес получателя в профиле пользователя.

Почта

Откройте Alerts → Media types → Email и заполните: Email provider — Generic SMTP, SMTP server smtp.lab.example, порт, Email (адрес отправителя) zabbix@lab.example, Connection security (STARTTLS — шифрование, включаемое в ходе SMTP-сеанса, или SSL/TLS), Authentication (имя пользователя и <ПАРОЛЬ>). Отметьте Enabled. На вкладке Message templates для типов событий Problem и Problem recovery должны быть шаблоны сообщений: они обязательны для любого способа доставки. Нажмите Test в списке типов, укажите получателя (Send to) и отправьте тестовое письмо: окно покажет, удалась ли отправка.

Адрес получателя укажите в профиле пользователя. Для первого запуска возьмите встроенного Admin (тип Super admin, он видит все узлы): User settings → Profile, вкладка Media → Add (Type — Email, Send to — admin-lab@lab.example). Для команды правильнее завести отдельных пользователей: Users → Users → Create user (имя, группа, например Zabbix administrators, пароль; вкладка Permissions — роль Admin; вкладка Media — адрес). Права на узлы выдают группам пользователей: по умолчанию пользователи типов User и Admin не видят никаких узлов, а без права чтения (Read) на группу узлов (вкладка Host permissions в свойствах группы) уведомлений о ней не получат.

Письма с нового адреса отправителя могут отклоняться или попадать в спам; как этого избежать, объясняет статья SPF, DKIM и DMARC на примере.

Действие

Alerts → Actions → Trigger actions → Create action. Задайте имя, например Notify admins. Без условий действие сработает на любую проблему; условиями ограничивают группу узлов, шаблон, серьёзность (например, «Trigger severity is greater than or equals Warning»), теги. На вкладке Operations нажмите Add: операция Send message, Send to users — Admin (или созданный вами пользователь), Send to media type — Email (в версиях до 7.0.7 поле называлось Send only to). В блоке Recovery operations добавьте операцию Notify all involved, чтобы получать сообщения и о восстановлении. Сценарии вроде «через 45 минут напишите начальнику» строятся на эскалации (последовательности уведомлений с задержкой).

Telegram

  1. Создайте бота: отправьте /newbot боту @BotFather и сохраните выданный <ТОКЕН>. Токен даёт управление ботом: не публикуйте его.
  2. ID чата узнаёт пользователь, отправив /getid боту @myidbot; затем он обязательно отправляет /start вашему боту: бот не может первым начать диалог. ID группы отрицательный.
  3. Откройте Alerts → Media types: если типа Telegram нет, скачайте файл media_telegram.yaml из официального репозитория Zabbix (ветка release/7.0, каталог templates/media/telegram) и нажмите Import. Импортируйте только официальный файл: webhook — это JavaScript, который выполняет сервер Zabbix.
  4. Откройте тип Telegram, задайте api_token (<ТОКЕН>) и api_parse_mode (markdown, html или markdownv2), проверьте шаблоны сообщений (как и для почты, они обязательны) и отметьте Enabled.
  5. В профиле пользователя добавьте медиа Telegram: Send to — ID чата <ID_ЧАТА>.
  6. Создайте отдельное действие с Send to media type — Telegram: разметка Markdown или HTML в общем действии может дать в других каналах «сырые» теги.

Серверу нужен исходящий HTTPS-доступ к api.telegram.org; при выходе через прокси добавьте в тип оповещения параметр http_proxy.

Проверка: искусственная авария

Остановите агента на lnx2:

sudo systemctl stop zabbix-agent2

Не сразу, а примерно через {$AGENT.TIMEOUT} (по умолчанию три минуты) после потери связи сработает триггер Linux: Zabbix agent is not available. В Monitoring → Problems появится проблема, в столбце Actions виден итог отправки (зелёные числа — отправлено, красные — неудачи), а на почту и в Telegram придёт уведомление. Верните агента:

sudo systemctl start zabbix-agent2

Проблема закроется, и придёт сообщение о восстановлении. Подробности отправок — в Reports → Action log. Вторая проверка — нагрузка для собственного триггера: на lnx2 запустите cat /dev/urandom | md5sum (на многоядерной машине — несколько), дождитесь проблемы и остановите команду Ctrl+C.

Безопасность

  • Пароли. Смените пароль Admin сразу после установки. Пароль БД неизбежно хранится в zabbix_server.conf, а пароль SMTP и токен бота — в типах оповещения: ограничьте доступ к этим местам (проверьте ls -l /etc/zabbix/zabbix_server.conf: файл не должен читаться всеми) и не копируйте секреты в тикеты, письма, скриншоты и репозитории. При экспорте типа оповещения пароль SMTP попадает в файл открытым текстом, поэтому храните его в макросе пользователя (например, {$EMAIL_SMTP_PASSWORD}).
  • Порты. Открывайте только нужное и только для нужных адресов: 10050 на агентах — лишь для сервера, 10051 на сервере — лишь для сетей с агентами. Порты Zabbix нельзя выставлять в интернет. Встроенное шифрование Zabbix не защищает связь браузера с веб-сервером, поэтому включите HTTPS: HTTPS и сертификаты: как работает Let's Encrypt.
  • Шифрование агента. По умолчанию соединения сервера с агентом не шифруются. Zabbix поддерживает PSK (pre-shared key, общий секретный ключ) и сертификаты. Включаем PSK поэтапно: пока агент принимает и шифрованные, и обычные соединения, откат возможен без простоя. Создайте ключ на lnx2 с правами только для пользователя zabbix:
sudo sh -c 'umask 077; openssl rand -hex 32 > /etc/zabbix/lnx2.psk'
sudo chown zabbix:zabbix /etc/zabbix/lnx2.psk
sudo chmod 400 /etc/zabbix/lnx2.psk

В zabbix_agent2.conf добавьте:

TLSAccept=unencrypted,psk
TLSPSKFile=/etc/zabbix/lnx2.psk
TLSPSKIdentity=psk-lnx2

Перезапустите агента (sudo systemctl restart zabbix-agent2). Ключ для веб-интерфейса выведите командой sudo cat /etc/zabbix/lnx2.psk; не копируйте его в чаты и тикеты (в базе Zabbix он хранится открытым текстом). Откройте узел lnx2, вкладка Encryption: Connections to host — PSK, PSK identity — psk-lnx2, PSK — ключ. Через минуту связь пойдёт по PSK, а значок ZBX должен остаться зелёным. Если он покраснел, наведите курсор, посмотрите журналы сервера и агента (LogFile) и верните Connections to host в «No encryption». Когда всё работает, замените в агенте TLSAccept=unencrypted,psk на TLSAccept=psk, добавьте TLSConnect=psk (для активных проверок), перезапустите агента и выберите PSK в Connections from host. Теперь zabbix_get без параметров TLS получит отказ. Идентификатор PSK идёт по сети открытым текстом: секретов в нём быть не должно.

  • Права процессов. По умолчанию сервер и агент работают под одним пользователем zabbix; агент на той же машине может прочитать конфигурацию сервера с паролем БД. Документация советует запускать агента под отдельным пользователем; для agent 2 это задают на уровне службы (systemd), а не в его конфигурации.

Типичные ошибки и недоразумения

  • Значок ZBX красный. Наведите курсор: там текст ошибки. Проверьте, что агент запущен; в Server= указан адрес именно сервера (иначе соединение отклоняется); порт 10050 не закрыт брандмауэром; в интерфейсе узла верный адрес; zabbix_get с сервера отвечает.
  • Активные проверки не работают. Hostname в zabbix_agent2.conf не совпадает с именем узла в Zabbix (по умолчанию там Zabbix server) или в ServerActive неверный адрес.
  • Страница /zabbix не открывается. Проверьте ss (шаг 6) и правила ufw на lnx1. Если мастер не подключается к базе, проверьте пароль, хост, имя базы и установлен ли php8.3-pgsql; неверные DBPassword, DBName, DBUser не дают и серверу работать с базой.
  • Письмо не пришло. Тип оповещения не включён (Enabled) или без шаблона сообщения; у пользователя нет медиа или права чтения на группу узлов; действие выключено либо условия его не пропускают; неверная аутентификация SMTP. Причину укажет Reports → Action log.
  • Telegram молчит. Нет /start у бота, неверный ID чата или токен, нет выхода на api.telegram.org.

Проверьте себя

  1. Чем пассивная проверка отличается от активной и на какой стороне открыт какой порт? Пассивную начинает сервер: подключается к агенту на TCP 10050 (нужны Server= и интерфейс узла). Активную начинает агент: обращается к серверу на TCP 10051 за списком проверок (нужны ServerActive= и совпадающий Hostname=).
  2. Что нужно, чтобы Zabbix отправил письмо о проблеме? Включённый тип Email с шаблонами сообщений, адрес в медиа пользователя, действие с операцией «Send message» и право чтения на узел через группу пользователя.
  3. Значок ZBX у узла красный. Назовите три проверки. Прочитать ошибку по наведению курсора; проверить, что агент запущен, Server= содержит адрес сервера, порт 10050 открыт; выполнить zabbix_get.
  4. Как изменить порог «диск занят на 80 %» только для одного сервера? Переопределить макрос {$VFS.FS.PUSED.MAX.WARN} на вкладке Macros этого узла.
  5. Почему сразу после установки нужно сменить пароль Admin и не открывать порты Zabbix в интернет? Логин и пароль по умолчанию публичны; соединения с агентами не шифруются, а доступ к ним ограничен лишь списком Server; порты Zabbix нельзя выставлять в интернет.

Что дальше

Источники