Установка и запуск Zabbix agent2 на Ubuntu

Обновлено и опубликовано Опубликовано:

В инструкции установим и запустим zabbix-agent2 на Ubuntu 22.04 или 24.04 из официального репозитория Zabbix. Настроим пассивные и активные проверки, брандмауэр и при необходимости шифрование PSK. Zabbix Server к моменту выполнения уже должен быть развёрнут.

Установка zabbix-agent2

Пакет из репозиториев Ubuntu часто устаревший — подключаем официальный репозиторий Zabbix и ставим агент.

В идеале, версия zabbix агента должна совпадать с версией сервера.

Предположим, что версия сервера Zabbix — 7.4. Для удобства работы создадим переменную:

ZX_VER=7.4

* доступные для установки версии можно найти на официальном сайте.

а) Ubuntu 24.04:

Переходим во временную папку и загружаем deb-пакет с настройками репозитория:

cd /tmp

wget https://repo.zabbix.com/zabbix/${ZX_VER}/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu24.04_all.deb

Устанавливаем его:

dpkg -i zabbix-release_latest+ubuntu24.04_all.deb

б) Ubuntu 22.04:

cd /tmp

wget https://repo.zabbix.com/zabbix/${ZX_VER}/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu22.04_all.deb

dpkg -i zabbix-release_latest+ubuntu22.04_all.deb

Настройка репозитория завершена.

Обновляем кэш репозитория и устанавливаем агента:

apt update

apt install zabbix-agent2

Проверяем, что агент установлен и смотрим версию:

zabbix_agent2 -V

Агент установлен.

Конфигурация агента

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

  • Zabbix Server — 192.168.1.10
  • Компьютер с агентом — 192.168.1.20
  • Имя узла, где запускается агент — web01.example.com

Файл конфигурации — /etc/zabbix/zabbix_agent2.conf. Искомые строки по умолчанию закомментированы — снимаем # и подставляем свои значения.

Открываем конфиг:

vi /etc/zabbix/zabbix_agent2.conf

Приводим к следующему виду:

Server=192.168.1.10
...
ServerActive=192.168.1.10
...
Hostname=web01.example.com

* где:

  • Server — IP или DNS Zabbix Server/Proxy. Список хостов, которым разрешено опрашивать этого агента (пассивный режим, порт 10050). Несколько адресов через запятую.
  • ServerActive — адрес сервера, к которому агент сам подключается (активный режим, порт 10051). Если активные проверки не нужны — строку закомментируйте.
  • Hostname — имя узла в Zabbix. Должно точно совпадать с полем Host name в веб-интерфейсе, с учётом регистра.

Брандмауэр

Настраиваем только тот инструмент, который используется на сервере. IP 192.168.1.10 — адрес Zabbix Server из конфига.

iptables

Разрешаем входящие подключения от Zabbix Server для пассивных проверок — порт TCP 10050:

iptables -I INPUT -p tcp -s 192.168.1.10 --dport 10050 -m comment --comment "Zabbix agent2" -j ACCEPT

Для активных проверок агенту нужно исходящее подключение к серверу — порт TCP 10051:

iptables -I OUTPUT -p tcp -d 192.168.1.10 --dport 10051 -m comment --comment "Zabbix active checks" -j ACCEPT

* правила iptables не сохраняются после перезагрузки. Для постоянного хранения: apt install -y iptables-persistent, затем netfilter-persistent save.

Сохраняем правила:

netfilter-persistent save

ufw

Проверяем, активен ли ufw на сервере:

ufw status

* если Status: inactive — блок ufw пропускаем.

Разрешаем пассивные проверки — входящий TCP 10050 только с Zabbix Server:

ufw allow from 192.168.1.10 to any port 10050 proto tcp comment 'Zabbix agent2'

Для активных проверок разрешаем исходящий TCP 10051 к серверу:

ufw allow out to 192.168.1.10 port 10051 proto tcp comment 'Zabbix active checks'

Применяем правила:

ufw reload

Брандмауэр настроен.

Шифрование PSK (опционально)

По умолчанию трафик между агентом и сервером не шифруется. Если сеть между ними доверенная — раздел пропускаем. Если нет — настроим PSK-шифрование.

Генерируем случайный ключ:

openssl rand -hex 32

* сохраните вывод — это значение PSK (256 бит, 64 hex-символа). Его же позже укажем в веб-интерфейсе Zabbix.

Создаём файл с ключом:

vi /etc/zabbix/zabbix_agent2.psk

af8ced32dfe8714e548694e2d29e1a14ba6fa13f216cb35c19d0feb1084b0429

* в файле — одна строка с hex-ключом из вывода openssl rand, без пробелов и префикса identity.

Ограничиваем доступ к файлу с ключом:

chmod 640 /etc/zabbix/zabbix_agent2.psk

chown root:zabbix /etc/zabbix/zabbix_agent2.psk

Снова открываем конфиг агента и добавляем параметры шифрования:

vi /etc/zabbix/zabbix_agent2.conf

TLSConnect=psk
TLSAccept=unencrypted,psk
TLSPSKFile=/etc/zabbix/zabbix_agent2.psk
TLSPSKIdentity=PSK-001-web01

* где:

  • TLSConnect — шифрование исходящих соединений (активные проверки).
  • TLSAccept — шифрование входящих соединений (пассивные проверки, zabbix_get).
  • TLSPSKFile — файл с hex-значением PSK.
  • TLSPSKIdentity — идентификатор ключа (не секрет). Тот же identity и тот же PSK указываем на узле в Zabbix → вкладка Encryption.

Запуск и проверка

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

systemctl restart zabbix-agent2

systemctl status zabbix-agent2

* после каждого изменения /etc/zabbix/zabbix_agent2.conf снова выполняем systemctl restart zabbix-agent2. Ожидаем Active: active (running).

На агенте проверяем, что процесс отвечает:

zabbix_agent2 -t agent.ping

* в ответе должно быть 1 — процесс агента работает.

Убеждаемся, что агент слушает нужный порт:

ss -lntp | grep 10050

* агент слушает 0.0.0.0:10050 — готов принимать пассивные подключения.

С Zabbix Server (пакет zabbix-get на сервере) проверяем доступность агента по сети:

zabbix_get -s 192.168.1.20 -k agent.ping

* IP 192.168.1.20 — адрес узла с агентом. Ответ 1 — пассивная проверка и сеть работают.

Если что-то идёт не так — смотрим лог агента:

tail -n 50 /var/log/zabbix/zabbix_agent2.log

Агент запущен и доступен по сети.

Узел в веб-интерфейсе Zabbix

Агент настроен на своей стороне. Теперь добавим сервер как узел (host) в веб-интерфейсе Zabbix, чтобы он начал собирать данные.

Data collection → Hosts → Create host

Вкладка Host

  • Host nameweb01.example.com (как Hostname в конфиге агента).
  • Host groups — например, Linux servers.

Interfaces

  • Тип Agent.
  • IP address192.168.1.20 (адрес сервера с агентом).
  • Port10050.

Templates

  • Linux by Zabbix agent — для пассивных проверок (Server в конфиге).
  • Linux by Zabbix agent active — для активных проверок (ServerActive в конфиге).
  • Если настроены оба режима — привязываем оба шаблона.

Encryption

Только если настроен PSK на агенте:

  • Connections to hostPSK (пассивные проверки).
  • Connections from hostPSK (активные проверки).
  • PSK identityPSK-001-web01.
  • PSK — hex-ключ из openssl rand.

Нажимаем Add. Через 1–2 минуты в Monitoring → Latest data появятся метрики. Зелёный ZBX в списке хостов — агент доступен.

Узел добавлен, сервер под мониторингом.

Решение типичных проблем

Get value from agent failed

agent.ping с сервера не отвечает, в интерфейсе красный статус агента.

Причина: брандмауэр блокирует TCP 10050, неверный IP в Server, агент не запущен.

Решение: проверьте systemctl status zabbix-agent2, правила ufw/iptables и что IP сервера в Server= совпадает с адресом, с которого идёт опрос.

Host is not monitored / No data

Узел создан, но метрик нет.

Причина: Hostname в конфиге не совпадает с Host name в Zabbix (регистр важен) или не привязан нужный шаблон.

Решение: выровняйте имя в /etc/zabbix/zabbix_agent2.conf и в карточке хоста. Для пассивных проверок нужен шаблон Linux by Zabbix agent, для активных — Linux by Zabbix agent active. Перезапустите агент: systemctl restart zabbix-agent2.

TLS handshake failed

В логе агента или сервера ошибки PSK/TLS.

Причина: разные PSK или identity на агенте и в интерфейсе Zabbix.

Решение: сверьте TLSPSKIdentity, содержимое /etc/zabbix/zabbix_agent2.psk и вкладку Encryption узла. После правок перезапустите агент.

Агент не стартует после правок конфига

systemctl status zabbix-agent2 показывает failed.

Причина: синтаксическая ошибка в конфиге или недоступный файл TLSPSKFile.

Решение: zabbix_agent2 -t agent.ping и tail -n 100 /var/log/zabbix/zabbix_agent2.log. Проверьте права на конфиг и PSK-файл (640, владелец root:zabbix).

Connection refused / порт закрыт снаружи

С сервера мониторинга zabbix_get зависает или сразу отдаёт ошибку соединения, при этом локально zabbix_agent2 -t agent.ping отвечает 1.

Причина: порт 10050 не проброшен на уровне сети (провайдер, security group в облаке) — правило локального брандмауэра здесь ни при чём.

Решение: проверьте правила на уровне облака или внешнего файрвола, не только ufw/iptables на самой машине. Для проверки доступности порта снаружи используйте nc -zv 192.168.1.20 10050 с сервера мониторинга.

# Linux # Ubuntu # Мониторинг
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет

Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Заказать настройку мониторинга

Нужна бесплатная консультация?

Мини-инструкции

Zabbix agent2 на Ubuntu: установка и настройка

Использование kustomize в Argo CD для описания манифестов под разные среды без дублирования

Как запустить llama.cpp на Linux-сервере: сборка, модель GGUF и API-сервер

OpenSSH Server на Windows: вход по SSH

Установка и запуск Harbor Registry на Kubernetes с помощью Helm Chart

Установка и запуск GitLab Runner в Kubernetes через Helm

Как установить и настроить ArgoCD в кластере Kubernetes

Другие инструкции

Все статьи

Нужна помощь? Пишите:






Реклама