Установка и защита 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 v2 (пакет influxdb2):
sudo dnf install influxdb2При появлении запроса подтвердите установку (y). Если система спросит о GPG-ключе, также подтвердите.

После установки запустите и включите сервис:
sudo systemctl start influxdb
sudo systemctl enable influxdbПроверьте статус:
sudo 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
Установка influx CLI (influx)
CLI пакет называется influxdb2-cli и предоставляет команду influx для управления настройками, пользователями, бакетами и т. п.
sudo dnf install influxdb2-cliПроверьте расположение бинарника и версию:
which influx
influx version
Подключите автодополнение для 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.

Проверьте список пользователей и токенов:
sudo influx user list
sudo influx auth listТокен можно положить в переменную окружения INFLUX_TOKEN:
export INFLUX_TOKEN=ВАШ_ТОКЕНПодключение к старой v1-режимной оболочке (если нужно) — пример:
sudo influx v1 shell $INFLUX_TOKENПросмотр бакетов (в интерактивной оболочке):
show DATABASES
Доступ к веб-интерфейсу: откройте
http://
Войти можно под учётной записью, созданной при setup (например, alice).

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

Включение 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.

Установка и настройка 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 (/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 и т.д.

Через shell v1 (если доступен):
sudo influx v1 shell
use test-bucket
SHOW MEASUREMENTS
Создание дашборда и визуализация
В веб UI: Dashboard -> CREATE DASHBOARD -> задайте имя (например Test Dashboard) -> ADD CELL. Выберите данные из бакета и настройте запросы/визуализации.
Примеры графиков: метрики памяти, процессы, загрузка системы, время работы, активные пользователи, CPU.








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

Рекомендации по безопасности и 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 и большими объёмами данных проект хранения и политики ретенции должны быть спроектированы заранее.
Отладка — частые ошибки и шаги устранения
- Telegraf не отправляет данные в InfluxDB
- Проверьте логи telegraf:
sudo journalctl -u telegraf -f --no-hostname- Убедитесь, что в /etc/telegraf/telegraf.conf правильный URL (https), токен, бакет.
- Если используется самоподписанный сертификат, добавьте параметр tls_ca и путь к CA или включите verify = false только временно (не рекомендуется в проде).
- CLI выдаёт ошибку соединения
- Проверьте профиль influx config ls — URL должен начинаться с https:// если включён TLS.
- Проверьте переменную INFLUX_TOKEN и права токена.
- Браузер не может загрузить UI
- Убедитесь, что порт 8086 открыт и слушает: sudo ss -tlnp | grep 8086
- Проверьте наличие сертификата в браузере (совпадает ли CN/SAN с именем хоста).
- Неправильные права на сертификаты
- Файлы приватных ключей должны быть доступны пользователю influx или systemd, но не всем пользователям. Пример:
sudo chown influx: /etc/influxdb/ssl/privkey.pem
sudo chmod 640 /etc/influxdb/ssl/privkey.pemПлейбук для подготовки production-развёртывания (микро-SOP)
- Подготовка хостов — обеспечить обновления и нужные зависимости.
- Добавить репозиторий influxdata и установить influxdb2 на целевой машине.
- Создать системный пользователь и директории для сертификатов, настроить права.
- Установить сертификаты TLS (Let’s Encrypt/CA) или разместить CA для доверия.
- Настроить конфигурацию InfluxDB и включить TLS в config.toml.
- Запустить и проверить сервис, убедиться в отсутствии ошибок в journalctl.
- Установить influx CLI и настроить профиль с токеном.
- Установить Telegraf, настроить outputs.influxdb_v2 и необходимые плагины inputs.
- Настроить бэкапы данных и процедуры восстановления.
- Настроить мониторинг и оповещения для инстанса InfluxDB.
Ролевые чек-листы
Системный администратор:
- Установить и запустить influxdb2
- Включить TLS и проверить сертификат
- Настроить firewall
- Настроить бэкапы
DevOps-инженер:
- Установить Telegraf и подключить к бакету
- Создать дашборды и alerting
- Автоматизировать конфигурацию (Ansible/Chef)
Разработчик / SRE:
- Создать токены с минимальными правами для приложений
- Настроить retention и lifecycle данных
- Настроить тесты корректности метрик
Критерии приёмки
- InfluxDB служба работает (systemctl active).
- Веб UI доступен по HTTPS и требуется аутентификация.
- Telegraf шлёт метрики в указанный бакет (SHOW MEASUREMENTS показывает данные).
- Бэкап конфигураций и данных настроен и протестирован.
Мини-методология мониторинга с InfluxDB + Telegraf
- Определите целевые метрики (CPU, memory, disk, приложение).
- Настройте Telegraf для сбора и отправки в отдельные бакеты с правильным retention.
- Создайте базовые дашборды и настроьте threshold-оповещения.
- Настройте управление доступом: токены для агентов и отдельных сервисов.
- Периодически ревью ретеншн-политик и ротацию токенов.
Краткий глоссарий (одна строка)
- Бакет: логическое хранилище временных рядов в 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.
Сводка ключевых шагов (коротко):
- Добавить репозиторий InfluxData.
- Установить influxdb2 и influxdb2-cli.
- Выполнить influx setup и сохранить токен.
- Настроить TLS и обновить профиль CLI.
- Установить Telegraf и направить в бакет.
- Создать дашборды и настроить оповещения.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента