TrueNAS Zabbix Agent: Установка и настройка мониторинга на TrueNAS SCALE | AdminWiki

Установка и настройка Zabbix Agent на TrueNAS SCALE: Полное руководство для мониторинга

13 января 2026 7 мин. чтения #devops #nas #truenas #truenas scale #zabbix #zabbix agent #мониторинг #системный администратор

Представь, что твой TrueNAS SCALE работает как швейцарские часы, но ты не видишь, что происходит внутри: насколько загружены диски, сколько свободной памяти, не перегревается ли CPU. Мониторинг — это глаза и уши системного администратора. Давай разберем, как установить и настроить Zabbix Agent на TrueNAS SCALE, чтобы получить полный контроль над твоей системой хранения.

Почему именно Zabbix для мониторинга TrueNAS?

TrueNAS SCALE — это мощная система на базе Linux, но встроенные инструменты мониторинга ограничены. Zabbix предлагает:

  • Централизованный сбор метрик со всех систем
  • Гибкие триггеры и оповещения (Telegram, Email, Slack)
  • Графики и дашборды для анализа трендов
  • Мониторинг не только железа, но и сервисов (SMB, NFS, iSCSI)
Важно: TrueNAS SCALE основан на Debian Linux, поэтому мы можем использовать стандартные методы установки пакетов. Однако из-за особенностей системы (immutable root) нам потребуется особый подход.

Метод 1: Установка Zabbix Agent через Docker (Рекомендуемый)

Это самый безопасный и стабильный способ, так как не требует модификации системных файлов TrueNAS.

Шаг 1: Подготовка в TrueNAS SCALE

Зайди в веб-интерфейс TrueNAS SCALE:

  1. Перейди в AppsSettingsAdvanced Settings
  2. Включи опцию Enable Host Path Safety Checks (если она выключена)
  3. Создай dataset для конфигурации Zabbix Agent:
    • StorageCreate Dataset
    • Название: zabbix-agent-config
    • Тип: Filesystem

Шаг 2: Создание конфигурационного файла

Создай файл конфигурации через Shell или SMB-шару:

bash
# Подключись к TrueNAS по SSH
ssh admin@truenas.local

# Перейди в созданный dataset
cd /mnt/pool/zabbix-agent-config

# Создай конфигурационный файл
cat > zabbix_agentd.conf << 'EOF'
# Основные настройки
Server=192.168.1.100          # IP твоего Zabbix Server
ServerActive=192.168.1.100    # Для активных проверок
Hostname=truenas-nas          # Уникальное имя хоста в Zabbix

# Параметры безопасности
TLSConnect=unencrypted
TLSAccept=unencrypted

# Директории
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=10

# Пользователь
User=zabbix

# Включим все возможные проверки
EnableRemoteCommands=1
Timeout=30

# Дополнительные параметры для TrueNAS
UnsafeUserParameters=1
Include=/etc/zabbix/zabbix_agentd.d/*.conf
EOF

# Проверь содержимое файла
cat zabbix_agentd.conf
Внимание: Замени 192.168.1.100 на реальный IP адрес твоего Zabbix Server. Hostname должен совпадать с именем хоста, зарегистрированным на сервере Zabbix.

Шаг 3: Запуск Docker-контейнера

Используй встроенный Docker (через интерфейс Apps) или CLI:

bash
# Запусти контейнер Zabbix Agent 2
sudo docker run -d \
  --name zabbix-agent \
  --restart unless-stopped \
  -v /mnt/pool/zabbix-agent-config/zabbix_agentd.conf:/etc/zabbix/zabbix_agentd.conf \
  -v /proc:/proc:ro \
  -v /sys:/sys:ro \
  -v /dev:/dev:ro \
  --net=host \
  --privileged \
  -e ZBX_HOSTNAME="truenas-nas" \
  zabbix/zabbix-agent2:latest

Шаг 4: Проверка работы агента

bash
# Проверь статус контейнера
sudo docker ps | grep zabbix-agent

# Посмотри логи
sudo docker logs zabbix-agent

# Проверь связь с сервером (с стороны сервера Zabbix)
zabbix_get -s 192.168.1.50 -k "agent.ping"

Метод 2: Установка Zabbix Agent как системного сервиса

Для тех, кто предпочитает нативные пакеты. Этот метод требует больше осторожности.

Шаг 1: Установка пакета

bash
# Обнови список пакетов
sudo apt update

# Установи Zabbix Agent
sudo apt install zabbix-agent2 zabbix-agent2-plugin-*

# Проверь версию
zabbix_agent2 --version
Опасно: Установка пакетов в TrueNAS SCALE может привести к конфликтам при обновлении системы. Рекомендуется использовать этот метод только в тестовых средах или если ты уверен в своих действиях.

Шаг 2: Настройка конфигурации

bash
# Резервная копия оригинального конфига
sudo cp /etc/zabbix/zabbix_agent2.conf /etc/zabbix/zabbix_agent2.conf.backup

# Отредактируй конфиг
sudo nano /etc/zabbix/zabbix_agent2.conf

# Измени следующие параметры:
Server=192.168.1.100
ServerActive=192.168.1.100
Hostname=truenas-nas
# Timeout=30
# Include=/etc/zabbix/zabbix_agent2.d/*.conf

Шаг 3: Запуск и автозагрузка

bash
# Перезапусти сервис
sudo systemctl restart zabbix-agent2

# Включи автозагрузку
sudo systemctl enable zabbix-agent2

# Проверь статус
sudo systemctl status zabbix-agent2

Настройка мониторинга специфичных метрик TrueNAS

Zabbix Agent по умолчанию мониторит базовые метрики. Для TrueNAS нам нужны специализированные проверки.

Создание пользовательских параметров

Создай файл с пользовательскими проверками:

config
# /etc/zabbix/zabbix_agent2.d/truenas.conf

# Мониторинг состояния pool
UserParameter=truenas.pool.health[*], zpool status $1 | grep -q "state: ONLINE" && echo 1 || echo 0

# Свободное место в pool (в байтах)
UserParameter=truenas.pool.free[*], zfs list -H -o available $1

# Использование места в pool (проценты)
UserParameter=truenas.pool.used[*], zfs list -H -o used $1

# Количество ошибок на дисках
UserParameter=truenas.disk.errors, zpool status | grep -E "(READ|WRITE|CKSUM)" | awk '{sum+=$3} END {print sum}'

# Статус сервисов TrueNAS
UserParameter=truenas.service.status[*], systemctl is-active $1

# Температура CPU (если доступно)
UserParameter=truenas.cpu.temp, sensors | grep "Core 0" | awk '{print $3}' | sed 's/\+//' | sed 's/°C//'

Добавление шаблона в Zabbix Server

Импортируй готовый шаблон или создай свой:

  1. В веб-интерфейсе Zabbix перейди в ConfigurationTemplates
  2. Нажми Import и загрузи XML-шаблон для TrueNAS
  3. Присоедини шаблон к хосту TrueNAS
  4. Проверь получение данных в MonitoringLatest data

Сравнение методов установки Zabbix Agent на TrueNAS SCALE

Критерий Docker-метод Системный пакет
Безопасность для TrueNAS Высокая (изоляция) Средняя (модификация системы)
Простота обновления Очень простая Требует осторожности
Производительность Незначительные накладные расходы Максимальная
Доступ к системным файлам Требует монтирования volumes Прямой доступ
Рекомендация Для production-сред Для тестирования/разработки

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

Проблема: Zabbix Server не видит агента
Решение:
  1. Проверь firewall: sudo ufw allow 10050/tcp
  2. Убедись, что IP адреса в конфиге правильные
  3. Проверь связь: telnet truenas-ip 10050
Проблема: Нет доступа к /proc или /sys в Docker
Решение: Добавь флаги --privileged и правильные volume монтирования как в примере выше.
Проблема: Пользовательские параметры не работают
Решение: Убедись, что в конфиге есть UnsafeUserParameters=1 и файл с параметрами включен через Include.

Оптимизация и лучшие практики

  • Используй Zabbix Agent 2 вместо первой версии — он более стабилен и имеет встроенные плагины
  • Настрой интервалы опроса разумно: дисковые метрики — каждые 5 минут, состояние сервисов — каждую минуту
  • Создай отдельный dataset для логов Zabbix, чтобы не засорять системный раздел
  • Регулярно обновляй Docker-образ или пакеты Zabbix Agent
  • Настрой оповещения на критические события: отказ диска, заполнение pool, остановка сервисов

Продвинутая настройка: Мониторинг через Zabbix Trapper

Для метрик, которые нельзя получить через агент (например, статистика SMB-сессий), используй скрипты и zabbix_sender:

bash
#!/bin/bash
# /usr/local/bin/smb_monitor.sh

# Получаем количество активных SMB сессий
SMB_SESSIONS=$(smbstatus | grep -c "Connected")

# Отправляем в Zabbix
zabbix_sender -z 192.168.1.100 -s "truenas-nas" -k "truenas.smb.sessions" -o $SMB_SESSIONS

# Добавляем в cron
# */5 * * * * /usr/local/bin/smb_monitor.sh

Теперь у тебя есть полностью настроенная система мониторинга для TrueNAS SCALE. Ты можешь отслеживать не только базовые метрики, но и специфичные параметры NAS. Помни: хороший мониторинг — это не просто сбор данных, а своевременное реагирование на проблемы. Настрой триггеры и оповещения, чтобы быть в курсе состояния твоей системы хранения 24/7.

Поделиться:
Сохранить гайд? В закладки браузера