Установка TIG Stack (Telegraf, InfluxDB, Grafana) на 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
Что мы сделаем
- Установим InfluxDB
- Создадим базу данных и пользователя InfluxDB
- Установим Telegraf
- Сконфигурируем Telegraf для отправки метрик в InfluxDB
- Установим Grafana
- Добавим источник данных InfluxDB в Grafana
- Импортируем готовую панель для 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
ALT: Консоль процесса установки InfluxDB на Ubuntu
Запустите службу и включите автозапуск:
sudo systemctl start influxdb
sudo systemctl enable influxdbПроверьте открытые порты:
netstat -plntu
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
ALT: Консоль InfluxDB с результатами создания базы и пользователя telegraf
Важно: хранение пароля в явном виде в примерах удобно для учебных целей. В продуктиве используйте менеджеры секретов или защищённые переменные окружения.
Шаг 3 — Установка Telegraf
Telegraf поставляется из того же репозитория influxdata.
Установите пакет:
sudo apt install telegraf -yЗапустите и включите сервис:
sudo systemctl start telegraf
sudo systemctl enable telegrafПроверьте статус:
sudo systemctl status telegraf
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 telegrafTelegraf умеет генерировать шаблон конфигурации с помощью утилиты telegraf:
telegraf config -input-filter cpu:mem:disk:swap:system -output-filter influxdb > telegraf.conf
cat telegraf.conf
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
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
ALT: Установка Grafana через apt
Запустите и включите сервис Grafana:
sudo systemctl start grafana-server
sudo systemctl enable grafana-serverGrafana по умолчанию доступна на порту 3000. Проверьте порт:
netstat -plntu
ALT: Вывод netstat с портом 3000 для Grafana
Шаг 6 — Настройка источника данных в Grafana
Откройте браузер и перейдите по адресу:
http://
Войдите с учётной записью admin/admin. Вам предложат сменить пароль. Установите надёжный пароль.

ALT: Экран входа Grafana
После входа нажмите Add data source и выберите InfluxDB.
Заполните поля:
- Name: influxdb
- Type: influxdb
- URL: http://localhost:8086/

ALT: Форма добавления источника данных InfluxDB в Grafana
В блоке Database укажите:
- Database: telegraf
- User: telegraf
- Password: hakase-ndlr

ALT: Параметры базы данных InfluxDB для Grafana
Нажмите Save & Test. Должно появиться сообщение Data source is working.
Шаг 7 — Импорт панели Grafana
В Grafana нажмите «+» → Import.
Откройте страницу с примерной дашборд-панелью: https://grafana.com/dashboards/5955 и скопируйте ID.

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

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

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)
- Проверить статусы сервисов: sudo systemctl status influxdb telegraf grafana-server
- Проверить, что в базе telegraf есть последние точки: influx -execute ‘SELECT * FROM cpu LIMIT 1’ -database telegraf
- Проверить лог Telegraf на ошибки: sudo journalctl -u telegraf –no-pager | tail -n 200
- Проверить логи 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 для быстрого вывода метрик без отправки в базу.
Короткая методология развёртывания
- Подготовьте сервер и обновите пакеты.
- Добавьте репозитории influxdata и grafana.
- Установите и запустите InfluxDB, Telegraf, Grafana.
- Создайте базу данных и профиль пользователя для Telegraf.
- Сконфигурируйте Telegraf и проверьте тестовыми запусками.
- Подключите InfluxDB в Grafana и импортируйте дашборд.
- Настройте безопасность и ретеншн политики.
Краткий глоссарий
- 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.
Ссылки
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента