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

Установка TIG Stack (Telegraf, InfluxDB, Grafana) на Ubuntu 18.04

• 8 min read • Мониторинг. • Обновлено 22 Nov 2025
Установка TIG Stack на Ubuntu 18.04
Установка TIG Stack на Ubuntu 18.04

Кратко: в этом руководстве показано пошаговое развёртывание TIG Stack — Telegraf, InfluxDB и Grafana — на одном сервере Ubuntu 18.04. Вы установите базы и агенты, сконфигурируете Telegraf для сбора системных метрик, подключите InfluxDB как источник в Grafana и импортируете готовую панель мониторинга. Включены рекомендации по безопасности, проверке работоспособности и устранению ошибок.

ALT: Вид интерфейса мониторинга с графиками и метриками

InfluxDB — это open-source база данных временных рядов, написанная на Go. Она оптимизирована для быстрого и отказоустойчивого хранения больших объёмов метрик с отметкой времени: мониторинг инфраструктуры, логи, метрики приложений, данные IoT и аналитика в реальном времени.

Telegraf — агент для сбора, обработки, агрегации и записи метрик. Поддерживает множество выходных плагинов, включая InfluxDB, Graphite, Kafka, OpenTSDB и другие.

Grafana — open-source платформа визуализации и мониторинга. Поддерживает множество источников данных (InfluxDB, Prometheus, Elasticsearch и др.) и предоставляет гибкие дашборды для анализа метрик.

В этом руководстве показано, как установить TIG Stack на один сервер Ubuntu 18.04 и настроить сбор системных метрик: сеть, RAM, процессор, диски и время простоя.

Кому это полезно

  • Системным администраторам и девопс-инженерам, которые хотят мониторить отдельный сервер.
  • Разработчикам, желающим базовую телеметрию для тестовых инстансов.
  • Тем, кто изучает TIg Stack и поступательное развёртывание стека на одном хосте.

Требования

  • Ubuntu 18.04 (root или sudo)
  • Доступ в интернет для скачивания репозиториев
  • Права root или sudo

Что мы сделаем

  1. Установим InfluxDB
  2. Создадим базу данных и пользователя InfluxDB
  3. Установим Telegraf
  4. Сконфигурируем Telegraf для отправки метрик в InfluxDB
  5. Установим Grafana
  6. Добавим источник данных InfluxDB в Grafana
  7. Импортируем готовую панель для Telegraf

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

Добавим GPG-ключ influxdata и репозиторий, затем установим пакет influxdb.

Добавление ключа:

sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -

Добавление репозитория:

source /etc/lsb-release  
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

Обновите индексы и установите influxdb:

sudo apt update  
sudo apt install influxdb -y

Install InfluxDB

ALT: Консоль процесса установки InfluxDB на Ubuntu

Запустите службу и включите автозапуск:

sudo systemctl start influxdb  
sudo systemctl enable influxdb

Проверьте открытые порты:

netstat -plntu

Check open ports with netstat

ALT: Вывод netstat с портами InfluxDB 8086 и 8088 в состоянии LISTEN

Убедитесь, что порты 8086 и 8088 находятся в состоянии LISTEN.

Шаг 2 — Создание базы данных и пользователя InfluxDB

Для записи метрик Telegraf понадобится отдельная база и учётная запись.

Подключитесь к CLI InfluxDB:

influx

Вы окажетесь в интерактивной оболочке, подключённой к серверу на порту 8086.

Выполните команды для создания базы и пользователя:

create database telegraf  
create user telegraf with password 'hakase-ndlr'

Проверьте наличие базы и пользователя:

show databases  
show users

Create InfluxDB Database and User

ALT: Консоль InfluxDB с результатами создания базы и пользователя telegraf

Важно: хранение пароля в явном виде в примерах удобно для учебных целей. В продуктиве используйте менеджеры секретов или защищённые переменные окружения.

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

Telegraf поставляется из того же репозитория influxdata.

Установите пакет:

sudo apt install telegraf -y

Запустите и включите сервис:

sudo systemctl start telegraf  
sudo systemctl enable telegraf

Проверьте статус:

sudo systemctl status telegraf

Install Telegraf Agent

ALT: Результат установки и статуса сервиса Telegraf

Шаг 4 — Конфигурация Telegraf

Telegraf — плагинная система. Основные типы плагинов:

  • Input Plugins — собирают метрики.
  • Processor Plugins — преобразуют и фильтруют.
  • Aggregator Plugins — агрегируют метрики.
  • Output Plugins — отправляют метрики в хранилище, например InfluxDB.

Создадим конфигурацию для системного мониторинга и отправки в InfluxDB.

Сделайте копию дефолтного файла и создайте новую конфигурацию:

cd /etc/telegraf/  
mv telegraf.conf telegraf.conf.default

Создайте новый файл telegraf.conf и вставьте следующую конфигурацию:

# Global Agent Configuration
[agent]
  hostname = "hakase-tig"
  flush_interval = "15s"
  interval = "15s"


# Input Plugins
[[inputs.cpu]]
    percpu = true
    totalcpu = true
    collect_cpu_time = false
    report_active = false
[[inputs.disk]]
    ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
[[inputs.io]]
[[inputs.mem]]
[[inputs.net]]
[[inputs.system]]
[[inputs.swap]]
[[inputs.netstat]]
[[inputs.processes]]
[[inputs.kernel]]

# Output Plugin InfluxDB
[[outputs.influxdb]]
  database = "telegraf"
  urls = [ "http://127.0.0.1:8086" ]
  username = "telegraf"
  password = "hakase-ndlr"

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

sudo systemctl restart telegraf

Telegraf умеет генерировать шаблон конфигурации с помощью утилиты telegraf:

telegraf config -input-filter cpu:mem:disk:swap:system -output-filter influxdb > telegraf.conf  
cat telegraf.conf

Telegraf config

ALT: Вывод сгенерированной конфигурации telegraf

Проверьте работу ввода тестовыми запусками:

sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter cpu  
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter net  
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter mem

Test config

ALT: Тестовый вывод Telegraf для cpu, net и mem

Если тесты возвращают метрики — Telegraf успешно собирает данные.

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

Добавим репозиторий Grafana и установим пакет:

sudo curl https://packagecloud.io/gpg.key | sudo apt-key add -  
echo 'deb https://packagecloud.io/grafana/stable/debian/ stretch main' > /etc/apt/sources.list.d/grafana.list

Обновите индексы и установите grafana:

sudo apt update  
sudo apt install grafana -y

Install Grafana

ALT: Установка Grafana через apt

Запустите и включите сервис Grafana:

sudo systemctl start grafana-server  
sudo systemctl enable grafana-server

Grafana по умолчанию доступна на порту 3000. Проверьте порт:

netstat -plntu

Check ports

ALT: Вывод netstat с портом 3000 для Grafana

Шаг 6 — Настройка источника данных в Grafana

Откройте браузер и перейдите по адресу:

http://илихост>:3000/

Войдите с учётной записью admin/admin. Вам предложат сменить пароль. Установите надёжный пароль.

Login to Grafana

ALT: Экран входа Grafana

После входа нажмите Add data source и выберите InfluxDB.

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

Set influxdb details

ALT: Форма добавления источника данных InfluxDB в Grafana

В блоке Database укажите:

  • Database: telegraf
  • User: telegraf
  • Password: hakase-ndlr

Database settings

ALT: Параметры базы данных InfluxDB для Grafana

Нажмите Save & Test. Должно появиться сообщение Data source is working.

Шаг 7 — Импорт панели Grafana

В Grafana нажмите «+» → Import.

Откройте страницу с примерной дашборд-панелью: https://grafana.com/dashboards/5955 и скопируйте ID.

Setup Grafana Dashboard

ALT: Экран импорта дашборда в Grafana

Вставьте ID и выберите ваш источник InfluxDB при импорте. После импорта дашборда вы увидите визуализации метрик Telegraf.

Imported dashboard 1

ALT: Пример импортированной панели с графиками использования CPU и памяти

Imported dashboard 2

ALT: Пример импортированной панели с сетевыми метриками и дисковой активностью

Поздравляю — развертывание TIG Stack завершено.

Полезные роли и чеклисты

Admin (тот, кто развертывает):

  • Проверить, что apt-репозитории добавлены правильно.
  • Убедиться в запуске systemd-сервисов.
  • Проверить доступность портов 8086 и 3000.
  • Настроить брандмауэр и правила доступа.

Operator (тот, кто мониторит):

  • Убедиться, что приходят метрики в InfluxDB.
  • Настроить алерты в Grafana (оповещения по e‑mail/Slack).
  • Проверять retention policy данных в InfluxDB.

Developer (тот, кто использует метрики):

  • Подключить метрики приложения в формате, совместимом с Telegraf (StatsD, Prometheus, HTTP).
  • Тестировать дашборды на стендовой инфраструктуре перед продакшеном.

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

  • Сервис influxdb запущен и слушает порт 8086.
  • Telegraf собирает системные метрики и отправляет их в базу telegraf.
  • Grafana успешно подключена к базе InfluxDB и может читать метрики.
  • Импортированный дашборд отображает данные не старше 1–2 минут.

Шаблон проверки (SOP)

  1. Проверить статусы сервисов: sudo systemctl status influxdb telegraf grafana-server
  2. Проверить, что в базе telegraf есть последние точки: influx -execute ‘SELECT * FROM cpu LIMIT 1’ -database telegraf
  3. Проверить лог Telegraf на ошибки: sudo journalctl -u telegraf –no-pager | tail -n 200
  4. Проверить логи Grafana: sudo journalctl -u grafana-server –no-pager | tail -n 200

Тесты и критерии приёмки

  • Тест 1: Telegraf test input возвращает метрики для cpu, net и mem — должен вернуть строки с полями value и tag.
  • Тест 2: Grafana Save & Test источника должен вернуть Data source is working.
  • Тест 3: Импорт дашборда должен отобразить графики с актуальными точками.

Точки отказа и устранение проблем

Проблема: Telegraf не отправляет данные в InfluxDB.

  • Проверьте сетевое соединение к 127.0.0.1:8086.
  • Проверьте правильность URL, имени базы и пароля в /etc/telegraf/telegraf.conf.
  • Просмотрите логи: sudo journalctl -u telegraf.
  • Попробуйте отправить ручную запись в InfluxDB с помощью curl или HTTP API.

Проблема: Grafana не может подключиться к InfluxDB.

  • Убедитесь, что InfluxDB слушает на 127.0.0.1, а не только на 127.0.1.1 или другом интерфейсе.
  • Проверьте, доступен ли порт 8086 из-под пользователя, под которым запущен grafana-server.
  • Проверьте настройки строки URL в Grafana (http vs https).

Проблема: дашборд показывает пустые графики.

  • Проверьте временной интервал в верхнем правом углу Grafana.
  • Убедитесь, что Retention policy в InfluxDB не удалил последние данные.
  • Воспроизведите запрос InfluxQL/Flux вручную в Explore Grafana.

Безопасность и жесткая конфигурация

  • Не храните пароли в открытом виде в конфиге в продуктивной среде. Используйте Vault/секреты окружения.
  • Ограничьте сетевой доступ к портам InfluxDB и Grafana через брандмауэр (ufw/iptables). Разрешите доступ к Grafana только из доверенных сетей.
  • Включите SSL/TLS для Grafana (reverse-proxy nginx/letsencrypt) и при необходимости для InfluxDB HTTP API.
  • Настройте RBAC в Grafana — создайте отдельные роли для просмотра и администрирования.
  • Настройте политики retention и downsampling в InfluxDB, чтобы ограничить объём хранения.

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

  • Для распределённого мониторинга используйте Prometheus вместо InfluxDB/Telegraf в сочетании с node_exporter. Prometheus лучше подходит для pull‑модели и сложных алертинг-правил.
  • Если нужна горизонтальная масштабируемость InfluxDB, рассмотрите коммерческую InfluxDB Enterprise или InfluxDB Cloud.
  • Вместо Grafana можно использовать Chronograf (для InfluxDB) или интегрировать в Elastic Stack (ELK) для более широкой работы с логами и метриками.

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

  • Конфигурации Telegraf и версия InfluxDB из примера подходят для веток v1.x. Для InfluxDB v2 есть изменения в аутентификации и API: необходимо использовать токены и новый формат организации/бакета.
  • Если планируете обновиться до Ubuntu 20.04+, проверьте версии пакетов в репозиториях и изменённые системные пути.

Факты и подсказки

  • По умолчанию Grafana слушает порт 3000.
  • Telegraf отправляет данные в InfluxDB каждые 15 секунд по конфигурации в примере.
  • Используйте telegraf -test для быстрого вывода метрик без отправки в базу.

Короткая методология развёртывания

  1. Подготовьте сервер и обновите пакеты.
  2. Добавьте репозитории influxdata и grafana.
  3. Установите и запустите InfluxDB, Telegraf, Grafana.
  4. Создайте базу данных и профиль пользователя для Telegraf.
  5. Сконфигурируйте Telegraf и проверьте тестовыми запусками.
  6. Подключите InfluxDB в Grafana и импортируйте дашборд.
  7. Настройте безопасность и ретеншн политики.

Краткий глоссарий

  • Telegraf — агент сбора метрик.
  • InfluxDB — база данных временных рядов.
  • Grafana — платформа визуализации и дашбордов.
  • Retention policy — правило хранения данных в InfluxDB.

Локальные примечания для Ubuntu 18.04

  • Команды apt и systemctl работают из коробки.
  • Для Ubuntu 20.04+ проверьте поддержку пакета grafana в packagecloud репозитории.

Частые вопросы

В: Можно ли хранить InfluxDB и Grafana на разных хостах?

О: Да. В продакшене обычно разделяют компоненты по разным серверам или используют облачные сервисы.

В: Что делать с паролями в конфиге Telegraf?

О: Для безопасности используйте менеджеры секретов (HashiCorp Vault, AWS Secrets Manager) или системные переменные.

Резюме

  • Вы установили InfluxDB, Telegraf и Grafana на Ubuntu 18.04.
  • Настроили Telegraf для сбора системных метрик и отправки их в InfluxDB.
  • Подключили InfluxDB к Grafana и импортировали рабочую панель.
  • Получили чеклисты для ролей, критерии приёмки, рекомендации по безопасности и список типичных ошибок с решениями.

Важно: в продуктивной среде дорабатывать безопасность, управление секретами и резервное копирование данных InfluxDB.

Ссылки

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро