Установка и настройка Zabbix Agent 2

Лабораторные работы

Версия Zabbix: 7.4
ОС: Debian 13 (Trixie)


Установка

Подключение репозитория Zabbix 7.4:

wget https://repo.zabbix.com/zabbix/7.4/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.4+debian13_all.deb
dpkg -i zabbix-release_latest_7.4+debian13_all.deb
apt update

Установка Zabbix Agent 2:

apt install -y zabbix-agent2

Включаем и запускаем сервис:

systemctl enable zabbix-agent2
systemctl start zabbix-agent2
systemctl status zabbix-agent2

Настройка

Все правки делаем через sed — не открывая редактор вручную.

Задаём переменные под свою среду:

ZABBIX_SERVER="192.168.1.100"   	# IP или HOSTNAME вашего Zabbix Server
AGENT_HOSTNAME="my-debian-host"		# Имя хоста (должно совпадать с именем в веб-интерфейсе)
CONF="/etc/zabbix/zabbix_agent2.conf"

Применяем настройки:

# Zabbix Server — принимать пассивные запросы только от этого IP
sed -i "s/^Server=.*/Server=${ZABBIX_SERVER}/" $CONF

# Zabbix Server — куда отправлять активные данные
sed -i "s/^ServerActive=.*/ServerActive=${ZABBIX_SERVER}/" $CONF

# Имя хоста — должно точно совпадать с Host name в веб-интерфейсе Zabbix
sed -i "s/^Hostname=.*/Hostname=${AGENT_HOSTNAME}/" $CONF

Перезапускаем агент:

systemctl restart zabbix-agent2

Добавление пассивного хоста в веб-интерфейс Zabbix Server

Для пассивных проверок Zabbix Agent должен быть доступен по сети для Zabbix Server или Zabbix Proxy

  1. Открыть веб-интерфейс Zabbix Server
  2. Перейти в Сбор данных → Узлы сети → Создать узел сети
  3. Заполнить:
    • Узел сети — значение Hostname из конфига агента (регистр важен)
    • Шаблоны — добавить Linux by Zabbix agent
    • Интерфейсы → Добавить → Агент — указать IP или DNS агента, порт 10050
  4. При необходимости укажите используемый Прокси
  5. Нажать Добавить
  6. Убедитесь, что в колонке Доступность загорелось зелёным ZBX.

Добавление активного хоста в веб-интерфейс Zabbix Server

Если сервер не доступен со стороны Zabbix Server или Zabbix Proxy, но обратно сеть есть - используйте активные проверки.

  1. Открыть веб-интерфейс Zabbix Server
  2. Перейти в Сбор данных → Узлы сети → Создать узел сети
  3. Заполнить:
    • Узел сети — значение Hostname из конфига агента (регистр важен)
    • Шаблоны — добавить Linux by Zabbix agent active
  4. При необходимости укажите используемый Прокси
  5. Нажать Добавить
  6. Убедитесь, что в колонке Доступность загорелось зелёным ZBX.

Мониторинг PostgreSQL через плагин Zabbix Agent 2

Быстрым способом будет использование встроенного плагина, но у него есть ряд недостатков, главный - отсутствие поддержки старых версий PostgreSQL, а SQL-Запросы жёстко "зашиты" внутри бинарника. Кроме того, для сбора кастомных метрик всё равно необходимо править когфигурацию на сервере, добавляя SQL-запросы. Поэтому я рекомендую использовать шаблоны от 1-го агента.

Устанавливаем плагин для Zabbix Agent 2:

apt install -y zabbix-agent2-plugin-postgresql

Перезапускаем агент:

systemctl restart zabbix-agent2

Создадим пользователя в базе данных (вместо SOMEPASSWORD укажите надёжный пароль):

CREATE USER zbx_monitor WITH PASSWORD 'SOMEPASSWORD' INHERIT;
GRANT pg_monitor TO zbx_monitor;

В Web-интерфейсе необходимо подключить шаблон PostgreSQL by Zabbix agent 2 или PostgreSQL by Zabbix agent 2 active. Так же в самом шаблоне, либо во всех хостах необходимо изменить макрос {$PG.CONNSTRING.AGENT2} на значение tcp://127.0.0.1:5432, т.к. localhost часто возвращаеть IPv6, а он далеко не всегда включён в PostgreSQL. Так же заполните макрос {$PG.PASSWORD} созданным ранее паролем.


Мониторинг Nginx

Добавьте в конфигурацию nginx для defult server следующийlocation:

location = /basic_status {
    stub_status;
    allow 127.0.0.1;
    allow ::1;
    deny all;
}

Перезапустим nginx:

systemctl restart nginx

В Web-интерфейсе необходимо подключить шаблон Nginx by Zabbix agent. Для активного ангента шаблона не предусмотрено, но его легко сделать самому - склонировав Nginx by Zabbix agent и поменяв Zabbix агент на Zabbix агент (активный).


Справочная информация

Параметр Значение
Конфиг агента /etc/zabbix/zabbix_agent2.conf
Лог агента /var/log/zabbix/zabbix_agent2.log
Порт пассивных проверок 10050/tcp
Порт активных проверок 10051/tcp
Systemd сервис zabbix-agent2

Полезные команды

Перезапуск агента

systemctl restart zabbix-agent2

Логи в реальном времени

tail -f /var/log/zabbix/zabbix_agent2.log

Версия агента

zabbix_agent2 -V

Тест конкретного ключа

zabbix_agent2 -c /etc/zabbix/zabbix_agent2.conf -t system.uptime
zabbix_agent2 -c /etc/zabbix/zabbix_agent2.conf -t agent.ping