Что такое Zabbix Agent и зачем он нужен?
Представь, что твой сервер — это пациент в больнице. Zabbix Server — это врач, который ставит диагноз, но для этого ему нужны данные: температура, давление, пульс. Zabbix Agent — это медсестра, которая постоянно снимает эти показатели и передает врачу. Без агента мониторинг невозможен.
Подготовка к установке Zabbix Agent
Перед началом убедись, что у тебя есть:
- Доступ к серверу Ubuntu/Debian с правами sudo
- IP-адрес или доменное имя твоего Zabbix Server
- Стабильное интернет-соединение для загрузки пакетов
- Знание базовых команд Linux
lsb_release -a или cat /etc/os-release.
Установка Zabbix Agent на Ubuntu
Давай разберем процесс установки по шагам. Представь, что это сборка конструктора — каждый этап важен.
Шаг 1: Добавление репозитория Zabbix
Сначала добавим официальный репозиторий, чтобы получить актуальную версию агента.
# Обновляем список пакетов
sudo apt update
# Устанавливаем зависимости
sudo apt install -y wget gnupg2
# Скачиваем и устанавливаем ключ репозитория
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
# Для других версий Ubuntu:
# Ubuntu 20.04: замени 22.04 на 20.04
# Ubuntu 18.04: замени 22.04 на 18.04
Шаг 2: Установка Zabbix Agent 2
Рекомендую использовать Zabbix Agent 2 — это улучшенная версия с лучшей производительностью.
# Обновляем информацию о пакетах
sudo apt update
# Устанавливаем Zabbix Agent 2
sudo apt install -y zabbix-agent2 zabbix-agent2-plugin-*
Шаг 3: Настройка конфигурации агента
Теперь настроим агент для связи с твоим Zabbix Server. Откроем конфигурационный файл:
# Редактируем основной конфиг
sudo nano /etc/zabbix/zabbix_agent2.conf
Найди и измени следующие параметры:
# Адрес Zabbix Server
Server=192.168.1.100 # Замени на IP твоего сервера
# Для активных проверок
ServerActive=192.168.1.100
# Имя хоста (важно для идентификации в Zabbix)
Hostname=ubuntu-server-01 # Уникальное имя для этого хоста
# Включи TLS при необходимости
# TLSConnect=psk
# TLSAccept=psk
# TLSPSKIdentity=psk_identity
# TLSPSKFile=/etc/zabbix/zabbix_agent2.psk
Server=0.0.0.0/0 (не для production!).
Шаг 4: Запуск и автозагрузка Zabbix Agent
# Перезапускаем агент для применения конфигурации
sudo systemctl restart zabbix-agent2
# Включаем автозагрузку при старте системы
sudo systemctl enable zabbix-agent2
# Проверяем статус службы
sudo systemctl status zabbix-agent2
Шаг 5: Проверка работы агента
Убедимся, что агент слушает на порту 10050 и готов к работе:
# Проверяем открытые порты
ss -tlnp | grep 10050
# Тестируем подключение локально
zabbix_get -s 127.0.0.1 -k "agent.ping"
# Если zabbix_get не установлен:
sudo apt install -y zabbix-get
Установка Zabbix Agent на Debian
Процесс установки на Debian очень похож на Ubuntu, но есть нюансы с репозиториями.
Для Debian 11 (Bullseye)
# Добавляем репозиторий
wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-4+debian11_all.deb
sudo dpkg -i zabbix-release_6.0-4+debian11_all.deb
# Обновляем и устанавливаем
sudo apt update
sudo apt install -y zabbix-agent2
Для Debian 10 (Buster)
# Меняем только версию в URL
wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-4+debian10_all.deb
sudo dpkg -i zabbix-release_6.0-4+debian10_all.deb
Настройка фаервола
Если у тебя включен firewall, нужно открыть порт для Zabbix Agent:
# Для UFW (Ubuntu)
sudo ufw allow 10050/tcp
sudo ufw reload
# Для firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=10050/tcp
sudo firewall-cmd --reload
# Для iptables
sudo iptables -A INPUT -p tcp --dport 10050 -j ACCEPT
# Для сохранения правил:
sudo netfilter-persistent save
Добавление хоста в Zabbix Server
После установки агента нужно добавить хост в веб-интерфейсе Zabbix:
- Зайди в веб-интерфейс Zabbix (обычно http://zabbix-server/zabbix)
- Перейди в "Configuration" → "Hosts"
- Нажми "Create host"
- Заполни поля:
- Host name: Точно такое же, как в Hostname в конфиге агента
- Visible name: Человекочитаемое имя
- Groups: Выбери группу хостов
- IP address: IP этого сервера
- В шаблоне добавь "Linux by Zabbix agent"
- Сохрани изменения
Решение распространенных проблем
Проблема 1: Агент не запускается
Решение: Проверь логи:
sudo journalctl -u zabbix-agent2 -f
# Или
sudo tail -f /var/log/zabbix/zabbix_agent2.log
Проблема 2: Zabbix Server не видит агента
Решение: Проверь связность:
# С сервера проверь доступность агента
telnet IP_агента 10050
# Или
nc -zv IP_агента 10050
Проблема 3: Ошибки в конфигурации
Решение: Проверь синтаксис конфига:
sudo zabbix_agent2 -t "agent.ping" -c /etc/zabbix/zabbix_agent2.conf
Расширенная настройка и оптимизация
Настройка пользовательских параметров
Можешь добавить свои метрики в файл конфигурации:
# В /etc/zabbix/zabbix_agent2.d/user_params.conf
UserParameter=app.connections,netstat -an | grep :80 | wc -l
UserParameter=app.status,curl -s -o /dev/null -w "%{http_code}" http://localhost/health
Настройка интервалов опроса
Для оптимизации нагрузки настрой интервалы сбора метрик:
# Более редкий сбор для менее важных метрик
# В шаблоне на Zabbix Server установи:
# - CPU utilization: 30s
# - Disk space: 5m
# - Log monitoring: 1m
Сравнение Zabbix Agent и Zabbix Agent 2
| Характеристика | Zabbix Agent | Zabbix Agent 2 |
|---|---|---|
| Производительность | Хорошая | Лучшая (многопоточность) |
| Плагины | Базовые | Расширенные (отдельные пакеты) |
| Конфигурация | Один файл | Модульная (conf.d) |
| Поддержка | До Zabbix 6.0 | Рекомендуется с Zabbix 5.0+ |
Часто задаваемые вопросы (FAQ)
Можно ли установить Zabbix Agent без root-прав?
Нет, для установки системного сервиса и работы с низкоуровневыми метриками (диск, сеть, процессы) нужны права суперпользователя. Однако можно запустить агент от обычного пользователя в тестовых целях, но функциональность будет ограничена.
Как обновить Zabbix Agent на Ubuntu?
Просто выполни стандартное обновление пакетов:sudo apt update && sudo apt upgrade zabbix-agent2
Конфигурационные файлы сохранятся. После обновления перезапусти агент.
Чем отличается установка на Ubuntu от установки на Debian?
Основное отличие — в названиях пакетов для репозиториев. Для Ubuntu используется ubuntu в URL, для Debian — debian. Также могут отличаться версии пакетов в официальных репозиториях. Процесс установки и настройки идентичен.
Нужно ли открывать порты на Zabbix Server для агентов?
Нет, Zabbix Server инициирует соединения к агентам на порту 10050. Нужно только убедиться, что агенты могут принимать входящие соединения от сервера (правила фаервола на хостах с агентом).
Как мониторить Docker-контейнеры через Zabbix Agent?
Установи плагин для Docker:sudo apt install zabbix-agent2-plugin-docker
Затем настрой в конфиге плагин docker. Агент сможет собирать метрики по контейнерам через Docker API.
Заключение
Установка Zabbix Agent на Ubuntu или Debian — это простой, но важный процесс. Помни главное:
- Всегда используй официальные репозитории
- Настраивай уникальное Hostname для каждого сервера
- Проверяй связность между агентом и сервером
- Начинай с базовых шаблонов, затем добавляй свои метрики
- Регулярно обновляй агенты
Теперь твой сервер под наблюдением. Zabbix Agent будет твоими глазами и ушами, предупреждая о проблемах до того, как они станут критическими. Удачи в мониторинге!