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

Установка и защита InfluxDB 2 и Telegraf на Rocky Linux 9

• 9 min read • DevOps • Обновлено 21 Nov 2025
InfluxDB 2 и Telegraf на Rocky Linux 9
InfluxDB 2 и Telegraf на Rocky Linux 9

Важно: все команды приведены для Rocky Linux 9. Выполняйте их под пользователем с sudo-привилегиями. Замените примеры имён хостов, токенов и путей на ваши реальные значения.

Введение

InfluxDB — это база данных временных рядов с высокой производительностью, написанная на Go. InfluxDB используется для мониторинга инфраструктуры, метрик приложений и IoT-данных. Telegraf — агент для сбора метрик и отправки их в InfluxDB (один бинарный файл, множество плагинов).

В этом руководстве показаны команды установки, конфигурации и проверки работоспособности InfluxDB и Telegraf на сервере Rocky Linux 9. Включены рекомендации по защите: настройка TLS, управление токенами и базовые приёмы безопасности.

Содержание

  • Требования
  • Добавление репозитория InfluxData
  • Установка и запуск InfluxDB
  • Установка influx CLI
  • Первичная настройка через influx setup
  • Включение TLS (SSL) и обновление профиля
  • Установка и настройка Telegraf
  • Создание дашборда и визуализация
  • Рекомендации по безопасности и отладке
  • Ролевые чек-листы и SOP для развертывания
  • Критерии приёмки, глоссарий и резюме

Требования

Перед началом убедитесь, что у вас есть:

  • Сервер с Rocky Linux 9.
  • Ненулевой пользователь с sudo-привилегиями.
  • SELinux в режиме permissive или корректные политики (см. раздел по SELinux).
  • Доступ в интернет для загрузки пакетов или зеркала с пакетами InfluxData.

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

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

cat <

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

sudo dnf repolist

Скриншот списка репозиториев с добавленным репозиторием influxdb

Установка InfluxDB

Установим InfluxDB v2 (пакет influxdb2):

sudo dnf install influxdb2

При появлении запроса подтвердите установку (y). Если система спросит о GPG-ключе, также подтвердите.

Установка пакета influxdb2 — диалог dnf

После установки запустите и включите сервис:

sudo systemctl start influxdb
sudo systemctl enable influxdb

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

sudo systemctl status influxdb

Вывод systemctl status influxdb — сервис запущен и включён

Примечание по портам: API InfluxDB v2 по умолчанию слушает HTTP/HTTPS на порту 8086 (изменяемый в конфиге). Если ранее встречались другие порты в сторонних примерах, ориентируйтесь на значение в вашем /etc/influxdb/config.toml или вывод systemd.

Добавим порт в firewalld (если используется):

sudo firewall-cmd --add-port=8086/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports

firewalld — порт 8086 добавлен

Установка influx CLI (influx)

CLI пакет называется influxdb2-cli и предоставляет команду influx для управления настройками, пользователями, бакетами и т. п.

sudo dnf install influxdb2-cli

Проверьте расположение бинарника и версию:

which influx
influx version

Путь к binary influx и версия

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

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

Теперь при наборе influx и нажатии TAB появятся варианты команды.

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

Настройте административную учётную запись, организацию и бакет. Запустите:

sudo influx setup

Вас попросят указать:

  • username — имя администратора (в примере alice).
  • password — пароль администратора.
  • organization — имя организации (в примере HW.IO).
  • bucket — имя начального бакета (в примере test-bucket).
  • retention — срок жизни данных (0 = бесконечно).

После настройки будет сгенерирован токен доступа (Auth Token). Сохраните его в надёжном месте — он понадобится для записи метрик и доступа через CLI.

Вывод процесса setup в терминале

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

sudo influx user list
sudo influx auth list

Токен можно положить в переменную окружения INFLUX_TOKEN:

export INFLUX_TOKEN=ВАШ_ТОКЕН

Подключение к старой v1-режимной оболочке (если нужно) — пример:

sudo influx v1 shell $INFLUX_TOKEN

Просмотр бакетов (в интерактивной оболочке):

show DATABASES

Список бакетов — test-bucket

Доступ к веб-интерфейсу: откройте

http://:8086

Войти можно под учётной записью, созданной при setup (например, alice).

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

После входа откройте дашборд.

Веб-панель InfluxDB после входа

Включение TLS (SSL) и обновление профиля

Для защищённого доступа используйте TLS. Можно применить самоподписанный сертификат или сертификат от CA (Let’s Encrypt и т.п.).

Создайте каталог для сертификатов и поместите туда fullchain.pem и privkey.pem:

sudo mkdir -p /etc/influxdb/ssl
sudo cp /etc/letsencrypt/live/influxdb.howtoforge.local/{fullchain.pem,privkey.pem} /etc/influxdb/ssl/
sudo chown -R influx: /etc/influxdb/ssl

Откройте конфиг InfluxDB (/etc/influxdb/config.toml) и укажите пути к сертификатам:

# Добавьте эти строчки в соответствующий раздел конфига
tls-cert = "/etc/influxdb/ssl/fullchain.pem"
tls-key = "/etc/influxdb/ssl/privkey.pem"

Перезапустите сервис:

sudo systemctl restart influxdb

Обновите профиль соединения в CLI, чтобы CLI использовал HTTPS и ваш токен:

sudo influx config set -a -n default -u https://influxdb.howtoforge.local:8086 -t $INFLUX_TOKEN -o HW.IO
sudo influx config ls

Если профиль настроен верно, команды вида influx user list и influx auth list будут работать через HTTPS.

Профиль influx с TLS

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

Telegraf — локальный агент для сбора метрик. Он доступен в том же репозитории InfluxData.

sudo dnf install telegraf
sudo systemctl start telegraf
sudo systemctl enable telegraf

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

sudo systemctl is-enabled telegraf
sudo systemctl status telegraf

Статус сервиса telegraf — включён и запущен

Откройте конфиг Telegraf (/etc/telegraf/telegraf.conf) и найдите секцию [[outputs.influxdb_v2]] — укажите URL (https), токен, организацию и бакет:

[[outputs.influxdb_v2]]
  urls = ["https://influxdb.howtoforge.local:8086"]
  token = "ВАШ_ТОКЕН"
  organization = "HW.IO"
  bucket = "test-bucket"

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

sudo systemctl restart telegraf

Примечание по правам: если вы используете самоподписанный сертификат, добавьте CA в системное хранилище или настройте Telegraf для доверия конкретному сертификату (опция tls_ca в плагине output).

В конфиге можно настроить плагины ввода (inputs) — системные метрики — cpu, mem, disk, swap и т. п. По умолчанию Telegraf включает базовые плагины.

Проверка поступления метрик

Через веб-интерфейс InfluxDB: Data Explorer -> выберите бакет test-bucket — вы должны увидеть метрики cpu, disk, memory и т.д.

Data Explorer — метрики telegraf видны в бакете test-bucket

Через shell v1 (если доступен):

sudo influx v1 shell
use test-bucket
SHOW MEASUREMENTS

Вывод SHOW MEASUREMENTS — метрики от telegraf

Создание дашборда и визуализация

В веб UI: Dashboard -> CREATE DASHBOARD -> задайте имя (например Test Dashboard) -> ADD CELL. Выберите данные из бакета и настройте запросы/визуализации.

Примеры графиков: метрики памяти, процессы, загрузка системы, время работы, активные пользователи, CPU.

Создание дашборда — шаги интерфейса

Добавление ячейки дашборда — ввод имени и выбор данных

Пример графика: доступная память

Пример графика: процессы

Пример графика: загрузка системы

Пример графика: uptime

Пример графика: активные пользователи

Пример графика: количество CPU

Результат — полнофункциональный дашборд для мониторинга состояния сервера.

Общий вид дашборда Test Dashboard

Рекомендации по безопасности и hardening

  • Всегда используйте HTTPS (TLS). Не открывайте UI и API в интернете без авторизации и защиты.
  • Используйте минимум привилегий: создавайте токены с ограниченными правами записи/чтения для агентов.
  • Храните токены и приватные ключи в защищённом хранилище (Vault, секреты в облаке, Ansible Vault).
  • Настройте ротацию токенов и ключей.
  • Ограничьте доступ по брандмауэру и / или VPN.
  • Установите мониторинг состояния самого InfluxDB (health endpoint) и alerting.
  • Регулярно создавайте резервные копии каталога данных InfluxDB (см. документацию) и сохраняйте их вне узла.

Короткий чек-лист по безопасности:

  • TLS включён
  • UI доступен только по HTTPS
  • Токены с минимальными правами
  • Firewall ограничивает доступ
  • SELinux профиль проверен
  • Логи централизованы и защищены

SELinux и firewall: примечания

  • Если SELinux включён и не permissive, убедитесь, что файлы сертификатов имеют правильные контексты. Пример:
sudo restorecon -Rv /etc/influxdb/ssl
  • Если Telegraf или InfluxDB не запускаются из-за AVC denials, просмотрите /var/log/audit/audit.log и используйте audit2why/audit2allow для диагностики.

  • Для firewalld: добавляйте порты только для доверенных сетей или через rich rules.

Технологические ограничения и случаи, когда это не подойдёт

  • Для высоконагруженных кластеров InfluxDB OSS может потребоваться продвинутая архитектура (кластеризация, шардинг) — в крупных средах рассматривайте коммерческие или кластерные решения.
  • Для ситуаций с очень длительными SLA и большими объёмами данных проект хранения и политики ретенции должны быть спроектированы заранее.

Отладка — частые ошибки и шаги устранения

  1. Telegraf не отправляет данные в InfluxDB
  • Проверьте логи telegraf:
sudo journalctl -u telegraf -f --no-hostname
  • Убедитесь, что в /etc/telegraf/telegraf.conf правильный URL (https), токен, бакет.
  • Если используется самоподписанный сертификат, добавьте параметр tls_ca и путь к CA или включите verify = false только временно (не рекомендуется в проде).
  1. CLI выдаёт ошибку соединения
  • Проверьте профиль influx config ls — URL должен начинаться с https:// если включён TLS.
  • Проверьте переменную INFLUX_TOKEN и права токена.
  1. Браузер не может загрузить UI
  • Убедитесь, что порт 8086 открыт и слушает: sudo ss -tlnp | grep 8086
  • Проверьте наличие сертификата в браузере (совпадает ли CN/SAN с именем хоста).
  1. Неправильные права на сертификаты
  • Файлы приватных ключей должны быть доступны пользователю influx или systemd, но не всем пользователям. Пример:
sudo chown influx: /etc/influxdb/ssl/privkey.pem
sudo chmod 640 /etc/influxdb/ssl/privkey.pem

Плейбук для подготовки production-развёртывания (микро-SOP)

  1. Подготовка хостов — обеспечить обновления и нужные зависимости.
  2. Добавить репозиторий influxdata и установить influxdb2 на целевой машине.
  3. Создать системный пользователь и директории для сертификатов, настроить права.
  4. Установить сертификаты TLS (Let’s Encrypt/CA) или разместить CA для доверия.
  5. Настроить конфигурацию InfluxDB и включить TLS в config.toml.
  6. Запустить и проверить сервис, убедиться в отсутствии ошибок в journalctl.
  7. Установить influx CLI и настроить профиль с токеном.
  8. Установить Telegraf, настроить outputs.influxdb_v2 и необходимые плагины inputs.
  9. Настроить бэкапы данных и процедуры восстановления.
  10. Настроить мониторинг и оповещения для инстанса InfluxDB.

Ролевые чек-листы

Системный администратор:

  • Установить и запустить influxdb2
  • Включить TLS и проверить сертификат
  • Настроить firewall
  • Настроить бэкапы

DevOps-инженер:

  • Установить Telegraf и подключить к бакету
  • Создать дашборды и alerting
  • Автоматизировать конфигурацию (Ansible/Chef)

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

  • Создать токены с минимальными правами для приложений
  • Настроить retention и lifecycle данных
  • Настроить тесты корректности метрик

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

  • InfluxDB служба работает (systemctl active).
  • Веб UI доступен по HTTPS и требуется аутентификация.
  • Telegraf шлёт метрики в указанный бакет (SHOW MEASUREMENTS показывает данные).
  • Бэкап конфигураций и данных настроен и протестирован.

Мини-методология мониторинга с InfluxDB + Telegraf

  1. Определите целевые метрики (CPU, memory, disk, приложение).
  2. Настройте Telegraf для сбора и отправки в отдельные бакеты с правильным retention.
  3. Создайте базовые дашборды и настроьте threshold-оповещения.
  4. Настройте управление доступом: токены для агентов и отдельных сервисов.
  5. Периодически ревью ретеншн-политик и ротацию токенов.

Краткий глоссарий (одна строка)

  • Бакет: логическое хранилище временных рядов в InfluxDB.
  • Организация: пространство имён в InfluxDB, содержащее бакеты и пользователей.
  • Токен: секрет для доступа к API InfluxDB с назначенными правами.
  • Retention: время хранения данных в бакете.

Примеры команд для повседневных операций

  • Просмотр статуса InfluxDB:
sudo systemctl status influxdb
  • Список бакетов через CLI:
sudo influx bucket list
  • Список конфигураций influx CLI:
sudo influx config ls
  • Просмотр логов telegraf:
sudo journalctl -u telegraf -f

Часто встречающиеся вопросы (коротко)

Q: Нужно ли устанавливать Telegraf на том же хосте, что и InfluxDB? A: Нет, Telegraf может работать на удалённых машинах и отправлять метрики в центральный InfluxDB.

Q: Можно ли использовать самоподписанный сертификат? A: Можно, но лучше доверять CA или распространять ваш CA на все клиенты и агенты. Самоподписанные сертификаты требуют дополнительных настроек доверия.

Решение проблем и откат (rollback)

  • Если после включения TLS CLI или Telegraf перестали подключаться: восстановите старую конфигурацию config.toml из бэкапа и перезапустите сервисы. Проверьте права на ключи и контексты SELinux.
  • Перед крупным обновлением InfluxDB сделайте резервную копию данных и конфигураций.

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

  • При переходе с InfluxDB v1 на v2 изучите особенности buckets/organizations и возможную необходимость миграции данных. Для миграции используйте официальные инструменты InfluxData.
  • Тестируйте миграцию в изолированной среде.

Факто-бокс — ключевые команды и файлы

  • Конфиг InfluxDB: /etc/influxdb/config.toml
  • Конфиг Telegraf: /etc/telegraf/telegraf.conf
  • Служба InfluxDB: systemctl start|stop|status influxdb
  • Служба Telegraf: systemctl start|stop|status telegraf
  • Порт по умолчанию: 8086 (HTTP API)

Заключение

Вы выполнили установку и базовую настройку InfluxDB OSS v2 и Telegraf на Rocky Linux 9, настроили безопасное соединение через TLS, подключили Telegraf для сбора системных метрик и создали дашборд для визуализации. Дальшие шаги — автоматизация развертывания (Ansible/Chef), настройка alerting и тестирование резервного восстановления.

Краткий план развития: автоматизировать установку, интегрировать с системой оповещений (PagerDuty/Slack), определить SLA на хранение метрик и настроить мониторинг самого кластера InfluxDB.


Сводка ключевых шагов (коротко):

  1. Добавить репозиторий InfluxData.
  2. Установить influxdb2 и influxdb2-cli.
  3. Выполнить influx setup и сохранить токен.
  4. Настроить TLS и обновить профиль CLI.
  5. Установить Telegraf и направить в бакет.
  6. Создать дашборды и настроить оповещения.
Поделиться: 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 быстро