Zabbix Agent собирает показатели Linux-компьютера или сервера и передаёт их в систему мониторинга. Ниже — безопасная последовательность: определить тип агента, установить пакет, указать адрес сервера, зарегистрировать узел и проверить обмен данными.
Настройка Zabbix Agent в Linux: короткий и прямой ответ
Настройка Zabbix Agent в Linux состоит из четырёх действий: установить пакет, указать в конфигурации адрес Zabbix Server и имя узла, запустить службу и создать такой же хост в веб-интерфейсе Zabbix. Значение имени должно совпадать посимвольно, иначе сервер не сопоставит данные с нужным компьютером.
Сначала определите вариант агента. Классический Zabbix Agent использует файл zabbix_agentd.conf и службу zabbix-agent. Zabbix Agent 2 хранит настройки в zabbix_agent2.conf и запускается службой zabbix-agent2. Параметры во многом похожи, но в этой инструкции рассматривается классический агент: не смешивайте файлы и команды двух вариантов.
После настройки сервер опрашивает агент по TCP-порту 10050. В Zabbix создают хост с тем же именем, добавляют интерфейс Agent с IP-адресом или DNS-именем Linux-машины и назначают подходящий шаблон мониторинга. Агент получает и передаёт технические показатели, но не заменяет сам сервер мониторинга.
| Что должно совпасть | Где задать | Пример |
|---|---|---|
| Имя узла | Hostname и поле Host name в Zabbix | web-01 |
| Адрес сервера | Server | 192.0.2.10 |
| Адрес активных проверок | ServerActive | 192.0.2.10:10051 |
| Порт агента | Интерфейс хоста и правила сети | 10050 |
Почему возникает проблема или зачем нужна эта настройка
Агент нужен, чтобы Zabbix получал показатели, которых не видно при обычной проверке доступности по сети: загрузку процессора, использование памяти, свободное место, процессы, журналы и состояние служб. При неверной конфигурации хост может отображаться как недоступный или оставаться без свежих метрик, хотя Linux работает нормально.
Есть два способа обмена. При пассивных проверках Zabbix Server либо прокси подключается к агенту на порт 10050; параметр Server ограничивает адреса, с которых агент принимает запросы. При активных проверках агент сам обращается к серверу или прокси за списком проверок; для этого нужен ServerActive. Если применяются оба способа, укажите оба параметра и убедитесь, что соединения разрешены в нужных направлениях.
Частая причина неполадок — путаница между DNS-именем, результатом команды hostname и полем Host name в Zabbix. Значение Hostname — идентификатор именно для Zabbix. Выберите короткое постоянное имя, например db-01, и используйте его одинаково в конфигурации и карточке хоста. Не меняйте его на работающем узле без одновременной правки в интерфейсе.
Отдельная причина — фильтрация трафика. Команда ping подтверждает только доступность ICMP, но не TCP-порта 10050. На системах с firewalld может потребоваться правило межсетевого экрана, а в корпоративной сети соединение иногда ограничивают VLAN, маршрутизация или облачный firewall. Поэтому сначала проверяют адреса и порт, затем меняют настройки.
Что проверить и подготовить перед основными действиями
До установки узнайте версию Zabbix Server и дистрибутив Linux. Для надёжной работы рекомендуется использовать агент того же выпуска Zabbix, что и сервер. Определить систему поможет команда cat /etc/os-release, а посмотреть имя машины — hostnamectl.
Подготовьте IP-адрес или DNS-имя Zabbix Server, адрес контролируемой машины, имя хоста в Zabbix и способ проверок: пассивный, активный либо оба. Если сервер указан по имени, проверьте разрешение DNS командой getent hosts zabbix.example.local. Не подставляйте публичные адреса наугад: параметры доступа должны содержать только адреса вашей системы мониторинга.
Проверьте, не установлен ли уже другой вариант агента: systemctl status zabbix-agent и systemctl status zabbix-agent2. До установки сообщение о том, что служба не найдена, нормально. Если агент уже работает, сохраните копию его конфигурации и не ставьте второй пакет без плана миграции: оба процесса могут претендовать на один порт.
Проверьте связь с сервером без изменения настроек. При установленной утилите netcat команда nc -vz zabbix.example.local 10051 проверит TCP-соединение с обычным портом сервера. Корректные часы также важны для анализа событий и меток времени; если они сбиваются, выполните настройка синхронизации времени linux, а затем повторите проверку связи.
Для удалённого администрирования используйте отдельную учётную запись с правами sudo. Если компьютер работает под ALT Linux, заранее изучите alt linux ssh настройка: защищённое подключение позволит вносить изменения без физического доступа к устройству. Пароль администратора не следует добавлять в команды или конфигурационный файл агента.
Пошаговое решение для актуальных версий системы или устройства
На Debian и Ubuntu агент устанавливают через APT, а на RHEL, Rocky Linux, AlmaLinux и Fedora — через DNF или YUM. Сначала подключите официальный репозиторий Zabbix для точной версии своей ОС и выпуска Zabbix: системные репозитории могут содержать устаревший пакет. Не устанавливайте агент из случайного стороннего источника.
- На Debian или Ubuntu выполните
sudo apt update, затемsudo apt install zabbix-agent. На RHEL-подобной системе используйтеsudo dnf install zabbix-agent; на старых системах без DNF —sudo yum install zabbix-agent. - Откройте конфигурацию командой
sudoedit /etc/zabbix/zabbix_agentd.conf. Этот способ сохраняет права файла и не требует запускать редактор напрямую от имени root. - Для пассивных проверок задайте
Server=192.0.2.10, заменив пример на адрес сервера или прокси. Для активных проверок добавьтеServerActive=192.0.2.10:10051. Затем укажитеHostname=web-01, заменив пример именем уже созданного хоста в Zabbix. - Убедитесь, что нет второй рабочей строки с теми же параметрами. Строка, начинающаяся с
#, является комментарием. Не указывайтеServer=0.0.0.0/0: это разрешит обращения от любого IPv4-адреса. - Примените настройки:
sudo systemctl enable --now zabbix-agent. Затем проверьте состояние:sudo systemctl status zabbix-agent --no-pager. Статусactive (running)подтверждает запуск процесса, но не связь с сервером. - В интерфейсе Zabbix создайте хост, выберите группу, добавьте интерфейс Agent с адресом Linux-машины и портом 10050, назначьте совместимый шаблон мониторинга. Поле Host name обязано совпадать со значением
Hostnameв конфигурации. После сохранения дождитесь одного-двух интервалов обновления.
Проверить локальное прослушивание можно командой sudo ss -lntp | grep ':10050': в выводе должна быть строка с zabbix_agentd. Открывать порт наружу следует только для адреса сервера или прокси. В firewalld, nftables, iptables и облачном firewall используйте одно правило: разрешить TCP 10050 только доверенному источнику, а не всей сети.
Типичные ошибки, безопасный откат и проверка результата
Если служба не запускается, не перезагружайте сервер и не удаляйте zabbix_agentd.conf. Сначала получите точную причину командой sudo journalctl -u zabbix-agent -n 50 --no-pager. Затем проверьте значения Server, ServerActive и Hostname; обычно проблема связана с несуществующим адресом, дублирующей строкой или ошибкой при редактировании.
Недоступность агента в Zabbix обычно вызвана остановленной службой, неверным IP-адресом в карточке хоста, закрытым TCP 10050 или отсутствием адреса сервера в Server. Проверьте службу через systemctl is-active zabbix-agent, прослушивание через ss -lntp, а затем протестируйте соединение именно с сервера мониторинга. При нескольких сетевых интерфейсах особенно важно сверить используемый IP-адрес.
При активных проверках просмотрите журнал: sudo journalctl -u zabbix-agent -n 100 --no-pager. Сообщение о неизвестном хосте обычно означает, что Hostname не совпадает с Host name в Zabbix. Ошибка подключения требует проверить ServerActive, DNS, TCP 10051 и маршрут от агента к серверу или прокси.
Безопасный откат — вернуть сохранённую копию конфигурационного файла, выполнить sudo systemctl restart zabbix-agent и проверить состояние службы. Если копии нет, отменяйте только последние известные изменения и перед каждой правкой сохраняйте текущую версию файла. Не удаляйте хост в интерфейсе для устранения ошибки: можно потерять накопленные данные.
Результат проверен, когда индикатор доступности агента в карточке хоста становится зелёным, в Latest data появляются свежие значения, а журнал не показывает повторяющихся ошибок связи. Если в инфраструктуре есть несколько серверов или прокси, запишите, какая система обслуживает каждый узел.
FAQ
Почему Zabbix показывает недоступный агент, хотя служба запущена?
Работающий процесс подтверждает только локальный запуск. Проверьте IP-адрес хоста в интерфейсе, прослушивание TCP 10050 и наличие адреса Zabbix Server или прокси в параметре Server. После этого протестируйте соединение со стороны сервера мониторинга.
Можно ли использовать только активные проверки и не открывать порт 10050?
Да. При активных проверках агент сам подключается к серверу или прокси по адресу из ServerActive, поэтому входящий TCP 10050 обычно не нужен. Убедитесь, что исходящее соединение к порту 10051 разрешено, а Hostname совпадает с именем хоста в Zabbix.
Как проверить правильность параметра Hostname?
Сравните значение после Hostname= в /etc/zabbix/zabbix_agentd.conf с полем Host name в карточке хоста, включая регистр, дефисы и пробелы. При активных проверках несовпадение обычно видно в выводе journalctl -u zabbix-agent. После исправления перезапустите службу.
Когда лучше обратиться к специалисту?
Помощь нужна, если требуется менять общие правила firewall, маршрутизацию, VPN, SELinux-политику или корпоративный прокси. Не экспериментируйте на критичном сервере без копии конфигурации и согласованного окна работ. Специалист сможет проверить сетевые правила без открытия доступа посторонним адресам.
