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

TIG Stack на Ubuntu 22.04: установка и настройка

12 min read Мониторинг. Обновлено 28 Nov 2025
TIG Stack на Ubuntu 22.04: установка и настройка
TIG Stack на Ubuntu 22.04: установка и настройка

TIG Stack (Telegraf, InfluxDB, Grafana) — набор свободных инструментов для сбора, хранения, визуализации и оповещений по метрикам. В этой инструкции показана пошаговая установка на одном сервере Ubuntu 22.04, базовая конфигурация, подключение Telegraf → InfluxDB → Grafana, создание дашбордов и настройка оповещений. В конце — чек-листы, руководство по инцидентам, отладочные советы и рекомендации по безопасности.

Обложка: логотипы Telegraf InfluxDB Grafana вместе

Введение

TIG (Telegraf, InfluxDB и Grafana) — это сокращение для набора Open Source инструментов, упрощающих сбор, хранение, построение графиков и оповещения по системным метрикам. С помощью TIG можно агрегировать метрики памяти, диска, количества подключённых пользователей, загрузки CPU, swap, времени работы, процессов и т. п. из одного источника.

Краткое описание компонентов:

  • Telegraf — агент для сбора метрик и событий. Поддерживает множество входных и выходных плагинов (InfluxDB, Graphite, Kafka и др.).
  • InfluxDB — временная база данных, оптимизированная для метрик и событий, реализована на Go. Подходит для больших объёмов метрик с временными метками.
  • Grafana — панель визуализации и мониторинга. Поддерживает Flux, InfluxQL, PromQL и др., предоставляет гибкие дашборды и механизм оповещений.

Цель этой инструкции — установить и настроить TIG Stack на одном сервере Ubuntu 22.04 и привести практические советы по эксплуатации и отладке.

О чём эта инструкция

  • Установка InfluxDB 2.x, Telegraf и Grafana
  • Конфигурация Telegraf для отправки данных в InfluxDB
  • Создание организации/бакета и токена в InfluxDB
  • Подключение Grafana к InfluxDB с использованием Flux
  • Создание базовых дашбордов и правил оповещений
  • Рекомендации по безопасности, резервному копированию и масштабированию

Important: команды и конфигурации ориентированы на одиночный сервер Ubuntu 22.04. Для продакшен-кластера дополнительно планируйте отказоустойчивость, бэкапы и сетевую сегментацию.


Требования (Prerequisites)

  1. Сервер с Ubuntu 22.04.
  2. Пользователь с привилегиями sudo.
  3. UFW (Uncomplicated Firewall) включён и активен (рекомендуется).
  4. Система обновлена:
$ sudo apt update && sudo apt upgrade

Шаг 1 — Настройка брандмауэра (UFW)

Перед установкой откройте порты для InfluxDB и Grafana.

Проверка статуса UFW:

$ sudo ufw status

Ожидаемый пример вывода:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Откройте порты 8086 (InfluxDB) и 3000 (Grafana):

$ sudo ufw allow 8086
$ sudo ufw allow 3000

Проверьте статус ещё раз — правила должны отобразиться с новыми записями.

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
8086                       ALLOW       Anywhere
3000                       ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
8086 (v6)                  ALLOW       Anywhere (v6)
3000 (v6)                  ALLOW       Anywhere (v6)

Note: в продакшене рекомендуется ограничивать доступ к портам 8086 и 3000 с доверенных подсетей или через VPN/бастион.

Шаг 2 — Установка InfluxDB

Добавим официальный репозиторий InfluxDB и установим InfluxDB 2.x.

  1. Скачайте GPG-ключ:
$ wget -q https://repos.influxdata.com/influxdb.key
  1. Импортируйте ключ и создайте файл ключа в trusted.gpg.d:
$ echo '23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key' | sha256sum -c && cat influxdb.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null
  1. Добавьте репозиторий:
$ 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. Обновите apt и установите InfluxDB 2.x:
$ sudo apt update
$ sudo apt install influxdb2
  1. Запустите сервис и проверьте статус:
$ sudo systemctl start influxdb
$ sudo systemctl status influxdb

Пример вывода systemd, показывающий, что сервис активен (active):

? influxdb.service - InfluxDB is an open-source, distributed, time series database
     Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-09-13 00:00:27 UTC; 42s ago
       Docs: https://docs.influxdata.com/influxdb/
    Process: 12514 ExecStart=/usr/lib/influxdb/scripts/influxd-systemd-start.sh (code=exited, status=0/SUCCESS)
   Main PID: 12515 (influxd)
      Tasks: 7 (limit: 1030)
     Memory: 48.5M
        CPU: 547ms
     CGroup: /system.slice/influxdb.service
             ??12515 /usr/bin/influxd
........

Если сервис не запускается — проверьте логи через journalctl:

$ sudo journalctl -u influxdb -n 200 --no-pager

Шаг 3 — Создание организации, бакета и учётных данных InfluxDB

Чтобы Telegraf мог записывать данные, нужно создать организацию, бакет (bucket) и токен.

InfluxDB предоставляет CLI инструмент influx. Можно выполнить настройку из терминала:

$ influx setup
> Welcome to InfluxDB 2.0!
? Please type your primary username navjot
? Please type your password *************
? Please type your password again *************
? Please type your primary organization name howtoforge
? Please type your primary bucket name tigstack
? Please type your retention period in hours, or 0 for infinite 360
? Setup with these parameters?
  Username:          navjot
  Organization:      howtoforge
  Bucket:            tigstack
  Retention Period:  360h0m0s
 Yes
User    Organization    Bucket
navjot  howtoforge      tigstack

Можно также открыть GUI: http://:8086/ и пройти мастер настройки в браузере.

Из GUI вы получите первоначальный токен с полными правами. Для безопасности создайте отдельный токен для Telegraf с минимальными правами (Read/Write только для нужного бакета).

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

Интерфейс InfluxDB с дашбордом

Процесс создания токена в GUI:

  1. Отправляйтесь в левую боковую панель → API Tokens.
  2. Нажмите Generate Token → Read/Write Token.
  3. Назовите токен telegraf и назначьте доступ к бакету tigstack только на чтение/запись.
  4. Сохраните значение токена — оно потребуется при настройке Telegraf.

Страница токенов InfluxDB

Создание токена Telegraf в InfluxDB

Диалог с токеном Telegraf — значение токена

Сохраните токен в безопасном месте (например, менеджер секретов). Не выкладывайте его в публичные репозитории.

Шаг 4 — Установка Telegraf

Telegraf доступен из того же репозитория InfluxData:

$ sudo apt install telegraf

После установки служба включается автоматически.

Telegraf основан на плагинах:

  1. Input plugins — собирают метрики.
  2. Processor plugins — трансформируют/фильтруют метрики.
  3. Aggregator plugins — агрегируют метрики.
  4. Output plugins — направляют метрики в целевые хранилища (InfluxDB и др.).

Конфигурация хранится в /etc/telegraf/telegraf.conf. Основная задача — включить outputs.influxdb_v2 и подставить токен, организацию и бакет.

Откройте конфиг:

$ sudo nano /etc/telegraf/telegraf.conf

В секции outputs.influxdb_v2 найдите фрагмент и раскомментируйте/измените так:

# # Configuration for sending metrics to InfluxDB 2.0
 [[outputs.influxdb_v2]]
#   ## The URLs of the InfluxDB cluster nodes.
#   ##
#   ## Multiple URLs can be specified for a single cluster, only ONE of the
#   ## urls will be written to each interval.
#   ##   ex: urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"]
   urls = ["http://127.0.0.1:8086"]
#
#   ## Token for authentication.
   token = "$INFLUX_TOKEN"
#
#   ## Organization is the name of the organization you wish to write to.
   organization = "howtoforge"
#
#   ## Destination bucket to write into.
   bucket = "tigstack"

Замените $INFLUX_TOKEN на значение токена Telegraf, созданного ранее. Убедитесь, что кавычки сохранены.

По умолчанию в конфиге уже включены основные input-плагины:

# Read metrics about cpu usage
[[inputs.cpu]]
  ## Whether to report per-cpu stats or not
  percpu = true
  ## Whether to report total system cpu stats or not
  totalcpu = true
  ## If true, collect raw CPU time metrics
  collect_cpu_time = false
  ## If true, compute and report the sum of all non-idle CPU states
  report_active = false
  ## If true and the info is available then add core_id and physical_id tags
  core_tags = false

# Read metrics about disk usage by mount point
[[inputs.disk]]
  ## By default stats will be gathered for all mount points.
  ## Set mount_points will restrict the stats to only the specified mount points.
  # mount_points = ["/"]

  ## Ignore mount points by filesystem type.
  ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]

  ## Ignore mount points by mount options.
  ## The 'mount' command reports options of all mounts in parathesis.
  ## Bind mounts can be ignored with the special 'bind' option.
  # ignore_mount_opts = []

# Read metrics about disk IO by device
[[inputs.diskio]]
....
....

# Get kernel statistics from /proc/stat
[[inputs.kernel]]
  # no configuration

# Read metrics about memory usage
[[inputs.mem]]
  # no configuration
  
# Get the number of processes and group them by status
[[inputs.processes]]
  # no configuration

# Read metrics about swap memory usage
[[inputs.swap]]
  # no configuration

# Read metrics about system load & uptime
[[inputs.system]]
  # no configuration

Telegraf поддерживает плагины для Apache, Docker, Elasticsearch, iptables, Kubernetes, Memcached, MongoDB, MySQL, Nginx, PHP-FPM, Postfix, RabbitMQ, Redis, Varnish, WireGuard, PostgreSQL и многих других.

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

$ sudo systemctl restart telegraf

Проверьте состояние:

$ sudo systemctl status telegraf

Если Telegraf не пишет данные — смотрите логи:

$ sudo journalctl -u telegraf -n 200 --no-pager

Шаг 5 — Проверка, что Telegraf пишет в InfluxDB

Откройте InfluxDB UI → Buckets → выберите бакет tigstack.

Страница бакетов InfluxDB

Откройте Data Explorer для выбранного бакета и выберите значения в фильтре _measurement. Нажмите Submit — сверху появится график (может появиться с задержкой, если данных ещё нет).

Data Explorer InfluxDB

Пример графика данных в InfluxDB

Если график пустой — проверьте следующие вещи:

  • В конфиге Telegraf указан правильный token/organization/bucket.
  • Telegraf успешно стартовал (systemctl status).
  • InfluxDB слушает порт 8086 (ss -ltnp | grep 8086).
  • Логи InfluxDB и Telegraf не содержат ошибок авторизации.

Шаг 6 — Установка Grafana

Добавим официальный репозиторий Grafana и установим.

  1. Импорт ключа:
$ sudo wget -q -O /usr/share/keyrings/grafana.key https://packages.grafana.com/gpg.key
  1. Добавьте репозиторий:
$ echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
  1. Обновите список пакетов и установите Grafana:
$ sudo apt update
$ sudo apt install grafana
  1. Включите и запустите сервис:
$ sudo systemctl enable grafana-server --now
$ sudo systemctl status grafana-server

Проверьте логи, если сервис не стартует:

$ sudo journalctl -u grafana-server -n 200 --no-pager

Шаг 7 — Подключение Grafana к InfluxDB

Откройте Grafana: http://:3000

По умолчанию логин admin/admin — при первом входе Grafana попросит сменить пароль.

Экран входа Grafana

На главной странице нажмите Add your first data source → InfluxDB.

Добавление Data Source в Grafana

Выберите Flux как язык запросов (InfluxQL тоже возможен, но Flux лучше для InfluxDB v2).

Заполните поля:

  • URL: http://localhost:8086
  • Access: Server
  • Basic Auth: User и Password (значения создаваемого пользователя InfluxDB — можно использовать username/password, если применяется)
  • Organization: howtoforge
  • Token:
  • Default Bucket: tigstack

Настройки InfluxDB в Grafana

Нажмите Save & Test — если всё успешно, увидите подтверждение.

Подтверждение сохранения Data Source

Шаг 8 — Создание дашборда и панелей в Grafana

Создаём дашборд: Dashboards → Add new panel.

Пример Flux-запроса для CPU (используйте свои имена бакета и хоста):

from(bucket: "NAMEOFYOUBUCKET")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "cpu")
  |> filter(fn: (r) => r["_field"] == "usage_idle")
  |> filter(fn: (r) => r["cpu"] == "cpu-total")
  |> filter(fn: (r) => r["host"] == "NAMEOFYOURHOST")
  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
  |> map(fn: (r) => ({ r with _value: r._value * -1.0 + 100.0 }))
  |> toFloat()
  |> yield(name: "mean")

Замените NAMEOFYOUBUCKET и NAMEOFYOURHOST на реальные значения (имя хоста — /etc/hostname).

Аналогично RAM:

from(bucket: "NAMEOFYOUBUCKET")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "mem")
  |> filter(fn: (r) => r["_field"] == "used_percent")
  |> filter(fn: (r) => r["host"] == "NAMEOFYOURHOST")
  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
  |> yield(name: "mean")

HDD (пример для корневого пути):

from(bucket: "NAMEOFYOURBUCKET")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "disk")
  |> filter(fn: (r) => r["_field"] == "used")
  |> filter(fn: (r) => r["path"] == "/")
  |> filter(fn: (r) => r["host"] == "NAMEOFYOURHOST")
  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
  |> map(fn: (r) => ({ r with _value: r._value / 1000000.0 }))
  |> toFloat()  
  |> yield(name: "mean")

В Grafana можно использовать Query Inspector для отладки запросов и просмотра ответа.

Query Inspector в Grafana

Совет: получайте готовые Flux-скрипты из InfluxDB → Explore → Script Editor и копируйте их в панели Grafana.

Explore: Script Editor в InfluxDB

Шаг 9 — Настройка оповещений в Grafana

Grafana поддерживает контактные точки для Email, Slack, Microsoft Teams, Telegram, Kafka и др. В примере настроим Email.

  1. Настройте SMTP в /etc/grafana/grafana.ini:
$ sudo nano /etc/grafana/grafana.ini

В секции [smtp] укажите параметры SMTP-сервера:

[smtp]
enabled = true
host = email-smtp.us-west-2.amazonaws.com:587
user = YOURUSERNAME
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = YOURUSERPASSWORD
;cert_file =
;key_file =
;skip_verify = false
from_address = [email protected]
from_name = HowtoForge Grafana
;ehlo_identity = dashboard.example.com
;startTLS_policy = NoStartTLS

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

$ sudo systemctl restart grafana-server
  1. В Grafana → Alerting → Contact points отредактируйте grafana-default-email и протестируйте отправку.

Редактирование контактной точки в Grafana

  1. Создайте правила оповещений из панели: выберите панель → Edit → Alert Panel → Create alert rule from this panel.

Создание alert-правила из панели

Условия оповещений состоят из агрегатной функции (avg/min/max и т. п.), выбора запроса и порога, например:

avg() OF query(A) IS BELOW 14

Можно комбинировать условия логическими операциями AND/OR. Настройте политику обработки случая No Data и ошибок (No Data / Alerting / Ok / Error).

После создания нажмите Preview alerts и Save and exit.

Практические рекомендации по эксплуатации

  • Минимизируйте права токенов: Telegraf должен иметь доступ только к нужному бакету.
  • Настройте ротацию логов и мониторинг размера бакетов в InfluxDB — retention policy помогает не накапливать данные бесконечно.
  • Для продакшена используйте отдельный сервер/контейнер для Grafana и InfluxDB (не храните UI и БД на одном хосте, если ожидается большой объём данных).
  • Периодически проверяйте, что метрики поступают, тестовые алерты работают и почта проходит через SMTP.

Чек-лист перед развёртыванием в продакшен

  • Проверены права токена Telegraf.
  • Настроены retention policy для бакетов.
  • Бэкапы конфигурации InfluxDB и Grafana (dashboards/export) настроены.
  • Ограничен сетевой доступ к портам 8086 и 3000.
  • Настроены контактные точки и тестовые оповещения.
  • Мониторинг самих сервисов (systemd, диск, CPU, память) включён.

Руководство реагирования на инциденты (Incident runbook)

  1. Симптом: не приходят метрики в InfluxDB.

    • Проверьте статус Telegraf: sudo systemctl status telegraf.
    • Просмотрите логи Telegraf: sudo journalctl -u telegraf -n 200.
    • Проверьте доступность InfluxDB: curl -sS http://127.0.0.1:8086/health
    • Убедитесь, что token/organization/bucket в /etc/telegraf/telegraf.conf верны.
    • Если есть ошибки TLS/HTTP — проверьте, не блокирует ли firewall.
  2. Симптом: Grafana не показывает данные/не подключается.

    • Проверить Data Source → Save & Test.
    • Проверить логи grafana: sudo journalctl -u grafana-server -n 200.
    • Проверить, что InfluxDB доступен с хоста Grafana (curl).
  3. Симптом: письма оповещений не уходят.

    • Проверить правильность [smtp] в /etc/grafana/grafana.ini.
    • Протестировать контактную точку в Grafana → Alerting → Contact points → Test.
    • Проверить логи Grafana на ошибки отправки почты.
  4. Временное решение: если срочно нужны метрики, можно включить дополнительный output в Telegraf (например, write to file) для локальной диагностики.

Примеры тестов и критерии приёмки

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

  • Telegraf успешно пишет в бакет tigstack в течение 5 минут после старта.
  • В Grafana создаётся панель CPU, показывающая значения за последние 5 минут.
  • Оповещение сработает при искусственном повышении загрузки CPU выше порога и письмо поступит на тестовый адрес.

Тестовые шаги:

  1. Перезапустите telegraf и дождитесь появления записей в InfluxDB через 2–5 минут.
  2. В Grafana используйте Query Inspector и убедитесь, что вкладка Metrics возвращает строки.
  3. Создайте временное условие alert (низкий порог), вызовите Preview alerts и отправьте тестовое оповещение.

Отладка и типичные ошибки

  • Ошибка авторизации 401 при записи в InfluxDB: проверьте токен и его права, срок действия.
  • Пустые графики в Grafana: проверьте временной интервал (range), наличие данных в бакете и правильные фильтры measurement/field/host.
  • Telegraf пишет, но InfluxDB возвращает ошибки сервера: проверьте диск, память и лимиты InfluxDB.
  • Grafana не стартует: проверьте конфигурационный файл /etc/grafana/grafana.ini на синтаксические ошибки.

Безопасность и рекомендации

  • Храните токены в защищённом хранилище: HashiCorp Vault, AWS Secrets Manager или аналог.
  • Ограничьте доступ к портам 8086 и 3000 по IP.
  • Включите TLS для InfluxDB и Grafana в продакшене (reverse proxy с TLS или нативная настройка).
  • Для Grafana используйте OAuth/LDAP для централизованного управления пользователями.
  • Регулярно экспортируйте и храните дампы конфигурации Grafana (JSON dashboards) и бэкапы InfluxDB.

Резервное копирование и восстановление

  • InfluxDB: используйте официальный инструмент influxd backup/restore для бэкапов бакетов и метаданных.
  • Grafana: экспортируйте дашборды и используйте резервное копирование /var/lib/grafana (база данных sqlite/postgres в зависимости от конфигурации) и конфиг /etc/grafana/grafana.ini.

Масштабирование и архитектурные заметки

  • Для небольших установок один сервер InfluxDB подходит. Для нагрузки > миллионы точек/сек подумайте о кластеризации и высокодоступной архитектуре.
  • Разнесите InfluxDB и Grafana на разные хосты. Telegraf можно запускать на каждом мониторимом хосте.
  • Для больших объёмов данных рассмотрите downsampling и retention policies, чтобы снизить стоимость хранения.

Альтернативы и когда стоит выбрать другую архитектуру

  • Если у вас Prometheus-ориентированная экосистема — используйте Prometheus + Grafana вместо InfluxDB.
  • Если требуется long-term storage и аналитика по логам — Elastic Stack (Elasticsearch + Kibana) может быть предпочтительнее.
  • Для метрик и трассировок в больших распределённых системах рассмотрите комбинации: Prometheus (metrics) + Loki (logs) + Tempo (traces) + Grafana.

Роль-бейзированные чек-листы

Администратор инфраструктуры:

  • Убедиться, что сервер соответствует требованиям.
  • Настроить UFW и VPN/бастион для доступа.
  • Настроить бэкапы и мониторинг самих сервисов.

Разработчик/SRE:

  • Создать необходимые input плагины Telegraf для приложений.
  • Составить дашборды по бизнес-метрикам.
  • Настроить оповещения и проверить время реакции.

Оператор поддержки:

  • Проверять состояние сервисов и своевременно реагировать на алерты.
  • Проводить регулярные тесты доставки оповещений.

SOP: Быстрая процедура установки на новом сервере

  1. apt update && apt upgrade
  2. Настроить UFW: разрешить SSH, 8086, 3000
  3. Установить InfluxDB (добавить репозиторий, установить пакет)
  4. Выполнить influx setup (создать username/org/bucket)
  5. Создать токен для Telegraf (Read/Write для нужного бакета)
  6. Установить Telegraf, прописать token/organization/bucket
  7. Установить Grafana, подключить Data Source (InfluxDB, Flux)
  8. Создать базовые дашборды и настроить оповещения
  9. Настроить бэкапы и документировать процедуру

Incident rollback (если нужно откатить изменения)

  • Если после изменения конфигурации Telegraf/InfluxDB начались ошибки, верните предыдущую версию конфига из бэкапа и перезапустите сервисы.
  • Если Grafana перестала работать после установки плагина — удалите плагин и перезапустите.
  • В критическом случае используйте snapshot бэкапов InfluxDB для восстановления бакетов.

Примеры полезных команд

  • Проверить, что InfluxDB слушает порт:
$ ss -ltnp | grep 8086
  • Посмотреть последние логи InfluxDB:
$ sudo journalctl -u influxdb -n 200 --no-pager
  • Проверить статус Telegraf:
$ sudo systemctl status telegraf
  • Экспортировать дашборд Grafana:
# через UI: Dashboard → Share → Export → Save to file

Ментальные модели и эвристики

  • Разделяй и властвуй: метрики, логирование и трассировки — отдельные каналы с собственными хранилищами.
  • Минимализм прав доступа: давайте сервисам только те права, которые им реально нужны.
  • Данные старше N дней должны иметь пониженный уровень детализации (downsampling) или храниться как агрегированные метрики.

Совместимость и миграция

  • InfluxDB 1.x и 2.x различаются по протоколам и API: Flux и InfluxQL. При миграции проверьте совместимость дашбордов и запросов.
  • Grafana поддерживает оба формата, но при переходе на InfluxDB 2.x лучше использовать Flux.

Краткий словарь терминов

  • Бакет (bucket) — контейнер для временных рядов в InfluxDB 2.x.
  • Токен — секрет для доступа к API InfluxDB.
  • Flux — язык запросов для InfluxDB 2.x.
  • Retention policy — политика хранения данных (сколько хранить).

Decision tree для быстрого реагирования

flowchart TD
  A[Проблемы с метриками?] --> B{Telegraf пишет?}
  B -- Да --> C{InfluxDB принимает?}
  B -- Нет --> D[Проверить логи Telegraf и token]
  C -- Да --> E{Grafana видит данные?}
  C -- Нет --> F[Проверить порт 8086, health и права токена]
  E -- Да --> G[Проверить дашборды и фильтры]
  E -- Нет --> H[Проверить Data Source в Grafana]
  D --> I[Поменять токен/перезапустить Telegraf]
  F --> J[Проверить firewall и сетевые правила]
  H --> K[Пересохранить Data Source или проверить сетевой доступ]

Шаблон для быстрого экспорта конфигураций

  • Telegraf: /etc/telegraf/telegraf.conf
  • InfluxDB: /var/lib/influxdb (данные), ~/.influxdbv2/configs (CLI конфиг)
  • Grafana: /etc/grafana/grafana.ini и /var/lib/grafana

Часто задаваемые вопросы (FAQ)

Q: Можно ли использовать InfluxDB 1.8 вместе с 2.x?

A: Да, но InfluxDB 2.x предоставляет обратную совместимость через совместимые API; однако Flux — основной язык для 2.x и рекомендуется к использованию при новых развертываниях.

Q: Как уменьшить объём хранения?

A: Установите retention policy для бакета, используйте downsampling (task в InfluxDB или continuous queries в 1.x) и храните детализированные метрики лишь на короткий период.

Q: Можно ли шифровать данные в InfluxDB на диске?

A: На уровне приложения InfluxDB не реализует прозрачное шифрование диска — используйте шифрование на уровне файловой системы или тома (LUKS) и защищённый бэкап.

Заключение

Эта инструкция покрывает базовый путь установки TIG Stack на Ubuntu 22.04 и включает практические рекомендации: создание токенов, настройку Telegraf, подключение Grafana, создание дашбордов и оповещений. Включены чек-листы, SOP, runbook и разделы по безопасности и масштабированию, чтобы вы могли быстрее перейти в эксплуатацию и минимизировать риски.

Если остались вопросы — опишите вашу среду (версия InfluxDB/Grafana/Telegraf, конфиги) и ожидаемые метрики — это поможет дать конкретные советы.


Summary

  • Установили InfluxDB 2.x, Telegraf и Grafana.
  • Настроили Telegraf на отправку метрик в конкретный бакет с помощью токена.
  • Подключили Grafana к InfluxDB через Flux и создали примерные панели для CPU, RAM и диска.
  • Настроили SMTP-оповещения и добавили runbook и чек-листы для поддержки.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

FIND в Excel — поиск и извлечение текста
Excel

FIND в Excel — поиск и извлечение текста

Как делать отличные фотографии: практическое руководство
Фотография

Как делать отличные фотографии: практическое руководство

Apple Unleashed — как смотреть и чего ждать
Технологии

Apple Unleashed — как смотреть и чего ждать

Сброс Chromebook до заводских настроек — Powerwash
Руководство

Сброс Chromebook до заводских настроек — Powerwash

Как пользоваться TalkBack на Android
Доступность

Как пользоваться TalkBack на Android

Уменьшить использование RAM в Google Docs и Sheets
Советы

Уменьшить использование RAM в Google Docs и Sheets