Гид по технологиям

InfluxDB и Telegraf на Debian 11: установка, защита и дашборды

8 min read Мониторинг. Обновлено 26 Nov 2025
InfluxDB + Telegraf на Debian 11 — руководство
InfluxDB + Telegraf на Debian 11 — руководство

Логотип InfluxDB и Telegraf с иллюстрацией архитектуры

К чему это относится

InfluxDB — это СУБД временных рядов с высокой производительностью, написанная на Go. Она предназначена для сбора, хранения, обработки и визуализации данных временных рядов. InfluxDB часто используется для мониторинга инфраструктуры, метрик приложений и серверов, данных IoT и аналитики в реальном времени.

Telegraf — агент сбора метрик от InfluxData. Он собирает системные метрики и отправляет их в InfluxDB через HTTPS/HTTP.

Важно: пример рассчитан на Debian 11. Архитектура может быть распределённой: сервер с InfluxDB и один или несколько агентов Telegraf на отслеживаемых хостах.


Основные понятия (1‑строчная дефиниция)

  • InfluxDB: база данных временных рядов для метрик и событий.
  • Telegraf: агент для сбора метрик и отправки их в базы времени.
  • Bucket: контейнер в InfluxDB для хранения временных рядов (аналог «базы данных»).
  • Token: ключ доступа к API InfluxDB v2.

Что вы получите по окончании

  • InfluxDB v2 и influx CLI на Debian 11.
  • Настроенный и защищённый TLS/HTTPS InfluxDB.
  • Telegraf, отправляющий системные метрики в InfluxDB.
  • Простая панель мониторинга (дашборд) с графиками CPU, памяти, диска и нагрузки.

Содержание

  • Требования
  • Установка InfluxDB и influx CLI
  • Настройка influx CLI (bash‑completion)
  • Настройка UFW
  • Конфигурация InfluxDB через influx CLI
  • Защита InfluxDB с помощью SSL/TLS
  • Установка и настройка Telegraf
  • Создание дашборда
  • Резервирование, отладка и примеры
  • Пошаговый план, чек‑листы, критерии приёмки
  • Краткий глоссарий и рекомендации по безопасности

Требования

Для выполнения руководства вам понадобятся:

  • Сервер(ы) с Debian 11. Рекомендуется: один сервер для InfluxDB и один или несколько серверов‑агентов (Telegraf). Пример архитектуры:
    • server1: InfluxDB
    • server2, server3: Telegraf (агенты)
  • Неразрешённый пользователь с правами sudo.
  • Сгенерированные SSL/TLS сертификаты (если вы планируете включать HTTPS).
  • Доступ к интернету для загрузки пакетов из репозитория InfluxData.

Важное

Если у вас есть корпоративный прокси или ограниченный доступ к внешним репозиториям, подготовьте зеркала или скачайте пакеты заранее.


Установка InfluxDB и influx CLI

InfluxDB доступен для установки на Linux и контейнерах (Docker, Kubernetes). CLI поставляется как бинарный пакет influx (часть influxdb2-cli).

  1. Установите зависимости:
sudo apt install gnupg2 wget curl

Установка зависимостей: вывод apt

  1. Загрузите GPG‑ключ репозитория и добавьте его в доверенные ключи APT:
wget -q https://repos.influxdata.com/influxdb.key
echo '23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key' | sha256sum -c && cat influxdb.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null
  1. Добавьте репозиторий InfluxData (stable):
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
  1. Обновите индекс пакетов:
sudo apt update

Обновление списка пакетов APT

  1. Установите influxdb2 и influxdb2-cli:
sudo apt install influxdb2 influxdb2-cli

При подтверждении установки введите y и нажмите Enter.

Установка InfluxDB

  1. Запустите сервис InfluxDB и проверьте статус:
sudo systemctl start influxdb
sudo systemctl is-enabled influxdb
sudo systemctl status influxdb

Ожидаемый результат: сервис включён и запущен.

Статус InfluxDB


Настройка influx CLI

influx — это CLI для управления InfluxDB (билеты, пользователи, токены, buckets).

Проверьте путь и версию:

which influx
influx version

Проверка influx CLI

Включите автодополнение bash:

sudo influx completion bash > /etc/bash_completion.d/influx.sh
sudo chmod +x /etc/bash_completion.d/influx.sh

Откройте ~/.bashrc и убедитесь, что включён общий механизм автодополнения. Добавьте блок:

# enable programmable completion features
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Загрузите изменения:

source ~/.bashrc

Проверьте автодополнение (нажать TAB):

sudo influx TAB

Автодополнение influx


Настройка UFW (фаервол)

По умолчанию InfluxDB слушает порт 8086. Откройте его в UFW для входящих подключений от агентов Telegraf или интерфейса администрирования.

Установите ufw, если ещё нет:

sudo apt install ufw -y

Установка UFW

Разрешите OpenSSH и включите UFW:

sudo ufw allow OpenSSH
sudo ufw enable

Разрешите порт 8086/TCP и проверьте статус:

sudo ufw allow 8086/tcp
sudo ufw status

UFW: статус с OpenSSH и портом 8086

Примечание: в продакшне рекомендуется ограничивать доступ к порту 8086 исходными IP агентов или через VPN.


Первичная настройка InfluxDB через influx CLI

Запустите интерактивную первоначальную настройку:

sudo influx setup

CLI предложит задать:

  • имя пользователя администратора
  • пароль
  • название организации (organization)
  • имя bucket (bucket — контейнер для данных)

Пример: пользователь jokic, organization HW.IO, bucket mybucket.

Настройка influx setup

Проверьте созданных пользователей и токены:

sudo influx user list
sudo influx auth list

Экспортируйте токен в переменную окружения (замените на ваш токен):

export INFLUX_TOKEN=r_We-DLv_GY64klANaag1jVQ1iQ3oT3By7PLG1m6-TCO_kImk4q0IyKXLDIFs3jjCGG_P8Q0Y_nVwiNw9Vk5tQ==

Подключитесь к shell v1 (legacy) с токеном:

sudo influx v1 shell $INFLUX_TOKEN

Ожидаемая строка подключения: Connected to InfluxDB OSS v2.x.y

Подключение к influx shell

Проверьте базы/бакеты:

show DATABASES

Список баз данных/бакетов

Затем выйдите: q, затем quit.

Откройте в браузере http://:8086 и войдите в веб‑интерфейс с учётной записью администратора.

Страница входа InfluxDB

Перейдите в Load Data → Buckets, чтобы убедиться, что bucket создан.

Проверка buckets в UI


Защита InfluxDB с помощью SSL/TLS

Для безопасного обмена данными используйте HTTPS и TLS‑сертификаты. Перед началом подготовьте публичный сертификат и приватный ключ (PEM).

  1. Создайте каталог для сертификатов:
mkdir -p /etc/influxdb/ssl
  1. Скопируйте сертификаты в каталог и установите владельца influxdb:
cp *.pem /etc/influxdb/ssl/
sudo chown -R influxdb: /etc/influxdb/ssl
  1. Откройте файл конфигурации InfluxDB (пример пути):
sudo nano /etc/influxdb/config.toml

Добавьте или отредактируйте параметры TLS:

tls-cert = "/etc/influxdb/ssl/fullchain.pem"
tls-key = "/etc/influxdb/ssl/privkey.pem"

Сохраните и перезапустите сервис:

sudo systemctl restart influxdb

Если вы попытались подключиться через influx CLI до обновления профиля, вы увидите ошибку 400 Bad Request или другие ошибки TLS.

Ошибка при включённом TLS

  1. Обновите профиль CLI, чтобы использовать HTTPS, токен и организацию:
sudo influx config set --active --config-name=default --host-url=https://influxdb.howtoforge.local:8086 --token=$INFLUX_TOKEN --org=HW.IO

Проверьте доступность команд:

sudo influx user list
sudo influx auth list

Настройка профиля Influx CLI

Важно: если используются самоподписанные сертификаты, убедитесь, что клиент может доверять сертификату (например, добавьте CA в системное хранилище или используйте параметр –skip-verify в тестовых окружениях).


Установка и настройка Telegraf

Telegraf собирает метрики с хостов и отправляет их в InfluxDB (outputs.influxdb_v2).

Установка Telegraf (на каждом хосте‑агенте):

sudo apt install telegraf

Установка Telegraf

Запустите и убедитесь, что сервис работает:

sudo systemctl start telegraf
sudo systemctl is-enabled telegraf
sudo systemctl status telegraf

Статус Telegraf

Отредактируйте конфигурацию:

sudo nano /etc/telegraf/telegraf.conf

Найдите секцию [[outputs.influxdb_v2]] и задайте параметры:

[[outputs.influxdb_v2]]
  ## The URLs of the InfluxDB cluster nodes.
  urls = ["https://influxdb.howtoforge.local:8086"]
  ## Token for authentication.
  token = "FlIq521ZVxEA40Iz7rVVKK25sDmuEWUHm_Mbly-4mYxt-rWrYOOytVnmE5yL5bpNB_gNHBWlYXKDED9PEbk-0g=="
  ## Organization name.
  organization = "HW.IO"
  ## Destination bucket to write into.
  bucket = "mybucket"

Сохраните файл и перезапустите Telegraf:

sudo systemctl restart telegraf

Проверьте в UI InfluxDB → Data Explorer → выберите bucket mybucket. Должны появиться метрики от Telegraf: cpu, mem, disk, diskio, swap, system и др.

Telegraf метрики в UI

Проверка через shell:

sudo influx v1 shell
use mybucket
SHOW MEASUREMENTS

Измерения Telegraf

Если вы видите cpu, disk, mem и другие измерения — Telegraf передаёт данные корректно.

Проверка Telegraf через терминал


Создание дашборда мониторинга

В веб‑интерфейсе InfluxDB создадим базовый дашборд для системных метрик.

  1. Откройте меню Dashboard → Create Dashboard.

Создать дашборд

  1. Задайте имя дашборда (например, Test Dashboard). Нажмите Add Cell, чтобы добавить визуализации.

Добавить cell

Примеры графиков:

  • Память (memory):

График памяти

  • Нагрузка системы (load):

Нагрузка системы

  • Время работы (uptime):

Uptime сервера

  • Количество CPU:

Число CPU

  • Активные пользователи:

Пользователи онлайн

После добавления cell итоговый дашборд может выглядеть так:

Пример дашборда мониторинга


Отладка и распространённые ошибки

  • Нет метрик в InfluxDB

    • Проверьте, что Telegraf запущен: sudo systemctl status telegraf
    • Проверьте сетевой доступ к порту 8086 и правила UFW
    • Убедитесь, что в telegraf.conf указаны правильный URL, token, org и bucket
  • CLI выдаёт ошибки TLS

    • Для самоподписанных сертификатов добавьте CA в /etc/ssl/certs или настройте доверие
    • Проверьте правильность host‑url в профиле influx config
  • Проблемы с правами на файлы сертификатов

    • Владелец каталога /etc/influxdb/ssl должен быть influxdb, права — не публичные (600/640 для ключа)

Пошаговое руководство (выжимка)

  1. Установите зависимости: gnupg2, wget, curl.
  2. Добавьте GPG‑ключ и репозиторий InfluxData.
  3. Установите influxdb2 и influxdb2-cli.
  4. Запустите и проверьте сервис InfluxDB.
  5. Настройте influx CLI и включите bash‑completion.
  6. Установите и настройте UFW (OpenSSH + 8086).
  7. Запустите sudo influx setup и создайте admin, org, bucket, token.
  8. Разверните SSL/TLS и укажите tls-cert/tls-key в конфиге.
  9. Обновите профиль CLI на HTTPS и проверьте команды.
  10. Установите Telegraf на агентах и настройте outputs.influxdb_v2 с токеном и bucket.
  11. Создайте дашборд в UI и добавьте cell с метриками.

Критерии приёмки

  • InfluxDB сервис активен и включён при старте: systemctl is-enabled influxdb → enabled, status → active.
  • Токен и пользователь созданы: influx auth list, influx user list отображают записи.
  • Telegraf отправляет метрики: SHOW MEASUREMENTS в mybucket показывает cpu/mem/disk и др.
  • Дашборд отображает данные в реальном времени (прошло не более 1–2 минут от старта агента).
  • TLS/HTTPS подключение установлено: curl https://influxdb.example:8086/health возвращает OK (или соответствующий ответ).

Чек‑листы по ролям

Администратор InfluxDB:

  • Проверить systemd‑юнит influxdb
  • Обновить /etc/influxdb/config.toml для TLS
  • Сохранить и защитить приватные ключи (/etc/influxdb/ssl)
  • Резервировать конфиг и список токенов

Инженер мониторинга (Telegraf):

  • Установить telegraf на целевом хосте
  • Настроить outputs.influxdb_v2 с корректным token
  • Проверить подключение и метрики в UI

DevOps / CI:

  • Автоматизировать установку через скрипты/Ansible
  • Настроить ротацию токенов и секретов

Мини‑методология развертывания (рекомендации)

  • Используйте отдельный сервисный аккаунт (token) для каждого агента или группы агентов.
  • Минимизируйте права токенов: выдавайте только права записи в нужный bucket.
  • Храните ключи и токены в хранилищах секретов (Vault, SSM, KeyVault).
  • Разверните мониторинг самого InfluxDB (disk, memory, connections).

Decision flowchart — быстрый путь установки

flowchart TD
  A[Начало] --> B{Есть SSL/TLS?}
  B -- Да --> C[Скопировать сертификаты в /etc/influxdb/ssl]
  B -- Нет --> D[Сгенерировать сертификаты или получить от CA]
  C --> E[Установить influxdb и influx CLI]
  D --> E
  E --> F[Настроить influx setup 'user/org/bucket/token']
  F --> G[Установить Telegraf на агентах]
  G --> H[Настроить outputs.influxdb_v2 с token и bucket]
  H --> I[Создать дашборд и проверить метрики]
  I --> J[Готово]

Безопасность и защита данных

  • TLS: всегда используйте HTTPS для передачи метрик и работы с API.
  • Минимальные привилегии: выдавайте токены с минимально необходимыми правами.
  • Обрезка и ротация токенов: меняйте токены по расписанию и при подозрениях на компрометацию.
  • Разграничение сети: ограничьте доступ к порту 8086 по IP‑фильтру или через VPN.
  • Логирование и аудит: включите аудит активности пользователей и токенов.

Альтернативные подходы

  • Контейнеры: развертывание InfluxDB и Telegraf в Docker/Kubernetes для упрощённой масштабируемости.
  • Управляемые сервисы: InfluxCloud (коммерческий) — если не хотите управлять инфрастуктурой.
  • Prometheus + remote_write → InfluxDB: при необходимости использовать Prometheus‑экосистему.

Короткий справочник (1‑строчные определения)

  • bucket: хранилище метрик в InfluxDB v2.
  • org: организация в InfluxDB — логический раздел данных.
  • token: API‑ключ для записи/чтения из InfluxDB.
  • measurement: метрика/набор временных рядов в InfluxDB.

Шаблон проверок и тестов (единицы приёмки)

  • Установка: apt‑пакеты influxdb2 и influxdb2-cli установлены.
  • Запуск: systemctl status показывает active.
  • Безопасность: запрос HTTPS /health возвращает успешный ответ.
  • Данные: SHOW MEASUREMENTS показывает expect cpu, mem.
  • UI: дашборд отображает графики без ошибок.

Резюме

Вы установили и настроили InfluxDB v2 и influx CLI на Debian 11, защитили сервер TLS, настроили Telegraf для отправки системных метрик и создали базовый дашборд. В руководстве приведены практические команды, конфигурации, чек‑листы, критерии приёмки и рекомендации по безопасности.

Важно: в продакшн‑окружении дополнительно внедрите централизованное хранение секретов, мониторинг самого сервиса InfluxDB и план резервного копирования.


Полезные ссылки и следующий шаг

  • Документация InfluxDB (официальный сайт) — для продвинутой настройки кластеров и задач (tasks).
  • Автоматизация: создайте Ansible‑плейбук для установки и конфигурации пакетов и сертификатов.
  • Alerting: подключите оповещения на основе задач InfluxDB или внешних систем (Grafana/Alertmanager).
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Режимы и Routines на Samsung: как автоматизировать телефон
Мобильные устройства

Режимы и Routines на Samsung: как автоматизировать телефон

Как закрепить разговоры в «Сообщениях» на iPhone, iPad и Mac
Руководство

Как закрепить разговоры в «Сообщениях» на iPhone, iPad и Mac

Как изменить цвет волос в Photoshop
Фотография

Как изменить цвет волос в Photoshop

Тёмная тема в Google Docs — как включить
Инструкции

Тёмная тема в Google Docs — как включить

Открыть папки Library на Mac — Local, User, System
macOS

Открыть папки Library на Mac — Local, User, System

Trend Micro QR Scanner — защита от мошенничества
Кибербезопасность

Trend Micro QR Scanner — защита от мошенничества