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

К чему это относится
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).
- Установите зависимости:
sudo apt install gnupg2 wget curl
- Загрузите 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- Добавьте репозиторий 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- Обновите индекс пакетов:
sudo apt update
- Установите influxdb2 и influxdb2-cli:
sudo apt install influxdb2 influxdb2-cliПри подтверждении установки введите y и нажмите Enter.

- Запустите сервис InfluxDB и проверьте статус:
sudo systemctl start influxdb
sudo systemctl is-enabled influxdb
sudo systemctl status influxdbОжидаемый результат: сервис включён и запущен.

Настройка influx CLI
influx — это CLI для управления InfluxDB (билеты, пользователи, токены, buckets).
Проверьте путь и версию:
which influx
influx version
Включите автодополнение 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
Настройка UFW (фаервол)
По умолчанию InfluxDB слушает порт 8086. Откройте его в UFW для входящих подключений от агентов Telegraf или интерфейса администрирования.
Установите ufw, если ещё нет:
sudo apt install ufw -y
Разрешите OpenSSH и включите UFW:
sudo ufw allow OpenSSH
sudo ufw enableРазрешите порт 8086/TCP и проверьте статус:
sudo ufw allow 8086/tcp
sudo ufw status
Примечание: в продакшне рекомендуется ограничивать доступ к порту 8086 исходными IP агентов или через VPN.
Первичная настройка InfluxDB через influx CLI
Запустите интерактивную первоначальную настройку:
sudo influx setupCLI предложит задать:
- имя пользователя администратора
- пароль
- название организации (organization)
- имя bucket (bucket — контейнер для данных)
Пример: пользователь jokic, organization HW.IO, bucket mybucket.

Проверьте созданных пользователей и токены:
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

Проверьте базы/бакеты:
show DATABASES
Затем выйдите: q, затем quit.
Откройте в браузере http://

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

Защита InfluxDB с помощью SSL/TLS
Для безопасного обмена данными используйте HTTPS и TLS‑сертификаты. Перед началом подготовьте публичный сертификат и приватный ключ (PEM).
- Создайте каталог для сертификатов:
mkdir -p /etc/influxdb/ssl- Скопируйте сертификаты в каталог и установите владельца influxdb:
cp *.pem /etc/influxdb/ssl/
sudo chown -R influxdb: /etc/influxdb/ssl- Откройте файл конфигурации 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.

- Обновите профиль 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
Важно: если используются самоподписанные сертификаты, убедитесь, что клиент может доверять сертификату (например, добавьте CA в системное хранилище или используйте параметр –skip-verify в тестовых окружениях).
Установка и настройка Telegraf
Telegraf собирает метрики с хостов и отправляет их в InfluxDB (outputs.influxdb_v2).
Установка Telegraf (на каждом хосте‑агенте):
sudo apt install telegraf
Запустите и убедитесь, что сервис работает:
sudo systemctl start telegraf
sudo systemctl is-enabled telegraf
sudo systemctl status 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 и др.

Проверка через shell:
sudo influx v1 shell
use mybucket
SHOW MEASUREMENTS
Если вы видите cpu, disk, mem и другие измерения — Telegraf передаёт данные корректно.

Создание дашборда мониторинга
В веб‑интерфейсе InfluxDB создадим базовый дашборд для системных метрик.
- Откройте меню Dashboard → Create Dashboard.

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

Примеры графиков:
- Память (memory):

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

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

- Количество 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 для ключа)
Пошаговое руководство (выжимка)
- Установите зависимости: gnupg2, wget, curl.
- Добавьте GPG‑ключ и репозиторий InfluxData.
- Установите influxdb2 и influxdb2-cli.
- Запустите и проверьте сервис InfluxDB.
- Настройте influx CLI и включите bash‑completion.
- Установите и настройте UFW (OpenSSH + 8086).
- Запустите sudo influx setup и создайте admin, org, bucket, token.
- Разверните SSL/TLS и укажите tls-cert/tls-key в конфиге.
- Обновите профиль CLI на HTTPS и проверьте команды.
- Установите Telegraf на агентах и настройте outputs.influxdb_v2 с токеном и bucket.
- Создайте дашборд в 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).
Похожие материалы
Режимы и Routines на Samsung: как автоматизировать телефон
Как закрепить разговоры в «Сообщениях» на iPhone, iPad и Mac
Как изменить цвет волос в Photoshop
Тёмная тема в Google Docs — как включить
Открыть папки Library на Mac — Local, User, System