Influxdata спонсировала этот пост.
В современном мире, управляемом данными, информация временных рядов постоянно вытекает из бесчисленных источников: устройства Интернета вещей (IoT), системные метрики, потоки финансовых данных и взаимодействие с пользователями. Чтобы эффективно использовать эти временные данные, вам нужны специализированные инструменты, предназначенные для работы. Введите стек TIG: мощное трио инструментов с открытым исходным кодом-Telegraf, InfluxDB и Grafana-которое преобразует способ сбора, хранения, анализа и визуализации данных на основе времени.
Почему временные ряды имеют значение
Данные временных рядов имеют уникальные характеристики, с которыми традиционные базы данных пытаются эффективно справиться. Его последовательный характер, высокие объемы записи и необходимость в запросе спроса на основе спроса на основанные на времени. Это то, что доставляет стек TIG.
Начало работы: ваше руководство по настройке стека TIG
Этот урок проведет вас через создание собственного конвейера данных временных рядов, используя:
- Телеграф для эффективного сбора данных
- Influxdb 3 Core или 3 Enterprise для оптимизированного хранения и поиска
- Grafana для интуитивно понятной визуализации и приборной панели
Стек TIG сосредоточен на InfluxDB, специально построенной системе управления базами данных временных рядов, оптимизированной для высокочастотного проглатывания, хранения и поиска временных данных. Архитектура системы поддерживает проглатывание временных рядов с высоким содержанием кардиналов с настраиваемыми механизмами понижения и удержания.
В этом учебном пособии будет использоваться ядро InfluxDB 3, новейшую версию, которая имеет переработанный уровень хранения с использованием стрелки Apache и фондовой обработки данных для обработки столбчатых данных. Реализация достигает улучшенной производительности записи с помощью пакетных операций журнала записи (WAL), улучшенного выполнения запросов с помощью векторизованной обработки и уменьшенных накладных расходов памяти с помощью оптимизированных методов кодирования и сжатия схемы.
Телеграфные функции в качестве основного агента по сбору данных, внедряя архитектуру на основе плагинов для получения метрической сборы из различных источников, включая системные ресурсы, сетевые устройства, API и очереди сообщений.
Grafana обеспечивает слой визуализации и оповещения, подключаясь к InfluxDB через собственные плагины источника данных, которые поддерживают как языки запросов SQL, так и InfluxQL. Фтруктура мониторинга отображает данные временных рядов через настраиваемые панели, в то время как двигатель оповещения оценивает результаты запроса по определенным порогам.
Предварительные условия
Перед погружением убедитесь, что у вас установлены следующие компоненты:
- Телеграф: Универсальный агент сбора данных
- Influxdb 3 Core: Фонд базы данных временных рядов
- Графана: Платформа визуализации (для пользователей MacOS: Brew установить grafana, за которым следовать Brew Services Start Grafana сделает Grafana доступной по адресу
В качестве альтернативы, вы можете использовать Grafana Cloud для размещенного решения.
Запуск Inpluxdb 3 Core
После установки ядра InfluxDB 3 инициализируйте свой сервер:
Influxdb3serve-host-id = local01-object-storefile-data-dir ~/.influxdb3
Далее создайте токен аутентификации:
Influxdb3creadoken
Вы увидите вывод, похожий на:
Токен: APIV3_xxx Hashed Token: zzz Запуск сервера с `plupuxdb3 Сервис-носитель zzz ‘http-запросы требуют следующего заголовка:« Авторизация: Apiv3_xxx » Заголовок: «Авторизация: APIV3_XXX»
Прочный токен (APIV3_XXX) будет использоваться с Telegraf, в то время как хэш -версия обеспечивает безопасность при настройке сервера. Эта модель безопасности предотвращает прямое воздействие токенов аутентификации в файлах конфигурации или истории команд.
Настройка Telegraf для сбора данных
Telegraf служит вашим агентом по сбору данных, собирая метрик из различных источников и пересылав их в InfluxDB. Его архитектура на основе плагинов делает его невероятно универсальным.
Для этой демонстрации мы захватываем метрики процессора системы. Создайте файл конфигурации (telegraf.conf) со следующими настройками:
# Глобальная конфигурация
[agent]
интервал = «10s» # Интервал сбора flush_interval = «10s» # данные промывки данных # плагин ввода: метрики процессора
[[inputs.cpu]]percpu = true # Соберите метрики на CPU TotalCpu = true # Собирайте общие метрики CPU collect_cpu_time = false # Не собирайте метрики CPU отчет_
[[outputs.influxdb_v2]]URLS = [»
token = «your plain Token apiv3_xxx»
organization = «»
bucket = «cpu»
123456789101112131415161718
# Global configuration[agent] интервал = «10s» # Интервал сбора flush_interval = «10s» # данные промывки данных # плагин ввода: метрики процессора[[inputs.cpu]]percpu = true # Соберите метрики на CPU TotalCpu = true # Собирайте общие метрики CPU collect_cpu_time = false # Не собирайте метрики CPU отчет_[[outputs.influxdb_v2]]URLS = [» token = «your plain Token apiv3_xxx» organization = «» bucket = «cpu»
Important note: With InfluxDB 3 Core, you don’t need to specify an Organization ID.
Launch Telegraf with:
telegraf—configpwd/telegraf.conf—debug
Successful execution will produce log entries showing data collection and transmission:
2025-01-09T23:34:02Z I! Loading config: ./telegraf.conf
2025-01-09T23:34:02Z I! Starting Telegraf 1.26.2
2025-01-09T23:34:02Z I! Available plugins: 235 inputs, 9 aggregators, 27 processors, 22 parsers, 57 outputs, 2 secret-stores
2025-01-09T23:34:02Z I! Loaded inputs: cpu
2025-01-09T23:34:02Z I! Loaded aggregators:
2025-01-09T23:34:02Z I! Loaded processors:
2025-01-09T23:34:02Z I! Loaded secretstores:
2025-01-09T23:34:02Z I! Loaded outputs: influxdb_v2
2025-01-09T23:34:02Z I! Tags enabled: host=MacBook-Pro-4.local
2025-01-09T23:34:02Z I! [agent] Конфигурация: Интервал: 10S, тишина: ложь, имя хоста: «MacBook-Pro-4.local», промывка интервалом: 10S 2025-01-09T23: 34: 02Z D! [agent] Инициализация плагинов 2025-01-09T23: 34: 02Z D! [agent] Подключение выходов 2025-01-09T23: 34: 02Z D! [agent] Попытка связи с [outputs.influxdb_v2]
2025-01-09T23: 34: 02Z D! [agent] Успешно подключен к выводу. INFLUXDB_V2 2025-01-09T23: 34: 02Z D! [agent] Начальные входы обслуживания 2025-01-09T23: 34: 12Z D! [outputs.influxdb_v2] Буферная полнота: 0/10000 метрики 2025-01-09t23: 34: 23Z D! [outputs.influxdb_v2] Написал партию из 13 метрик в 792.507791MS 1234567891011121314151617 2025-01-09T23: 34: 02Z I! Загрузка конфигурации: ./telegraf.conf2025-01-09t23:34:02Z I! Запуск Telegraf 1.26.22025-01-09T23: 34: 02Z I! Доступные плагины: 235 входов, 9 агрегаторов, 27 процессоров, 22 анализатора, 57 выходов, 2 секретных магазинов2025-01-09T23: 34: 02Z I! Загруженные входы: CPU2025-01-09T23: 34: 02Z I! Загруженные агрегаторы: 2025-01-09T23: 34: 02Z I! Загруженные процессоры: 2025-01-09T23: 34: 02Z I! Загруженные секретные магазины: 2025-01-09T23: 34: 02Z I! Загруженные выходы: InfluxDB_V22025-01-09T23: 34: 02Z I! Теги включены: host = macbook-pro-4.local2025-01-09t23: 34: 02z i! [agent] Конфигурация: Интервал: 10S, тишина: ложь, имя хоста: «MacBook-PRO-4.Local», промывка интервал: 10S2025-01-09T23: 34: 02Z D! [agent] Инициализация плагинов2025-01-09T23: 34: 02Z D! [agent] Подключение выходов2025-01-09T23: 34: 02Z D! [agent] Попытка связи с [outputs.influxdb_v2]2025-01-09T23: 34: 02Z D! [agent] Успешно подключен к выводу. INFLUXDB_V22025-01-09T23: 34: 02Z D! [agent] Начальные входы обслуживания2025-01-09T23: 34: 12Z D! [outputs.influxdb_v2] Буферная полнота: 0/10000 метрики2025-01-09T23: 34: 23Z D! [outputs.influxdb_v2] Написал партию из 13 метрик в 792,507791 мс
Проверка сбора данных
Чтобы подтвердить, что ваши метрики хранятся, запросите Influxdb напрямую:
Influxdb3query-database = cpu «select*fromcpulimit10»
Визуализация с Графаной
Последняя часть — настройка Grafana для преобразования ваших необработанных данных в значимые визуализации:
- Выберите SQL как тип языка
- URL:
- База данных: процессор
- Включить «небезопасное соединение»
Теперь вы готовы создать визуализации! Перейдите к панели панели> Создать панель инструментов> Добавить визуализацию, выберите источник данных InfluxDB и используйте визуальный строитель или напрямую напишите SQL.
Пример запроса:
Выберите «CPU», «usage_user», «время» из «ЦП», где «время»> = $ __ Время и «время» <= $ __ TimeTo и «CPU» = 'CPU0' 12 Выберите «ЦП», «USAGE_USER», «Time» из «CPU», где «время» = $ __ Timefrum и «Time» <= ____ __ __ __ __ __ __ __ __ __ __ __. 'CPU0'
Следующие шаги
Благодаря вашей работе в стеке TIG у вас теперь есть мощная платформа для сбора, хранения и визуализации данных временных рядов. Некоторые потенциальные приложения включают в себя:
- Инфраструктура или мониторинг продукта
- Анализ данных датчика IoT
- Отслеживание производительности приложения
- Прогнозирующая аналитика
Гибкость входных плагинов Telegraf, производительность ядра InfluxDB 3 и возможности визуализации Grafana предоставляют бесконечные возможности для приложений данных временных рядов.
Начните исследовать свои данные сегодня!
InfluxData является создателем PlupuxDB, ведущей платформы временных рядов, используемой для сбора, хранения и анализа данных всех временных рядов в любом масштабе. Разработчики могут запрашивать и анализировать свои данные, отмеченные временем в режиме реального времени, чтобы открыть, интерпретировать и обмениваться новыми идеями, чтобы получить конкурентное преимущество. Узнайте больше новейших из InfluxData Trending Stories YouTube.com/ThenewStack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Anais Dotis-Georgiou-это менеджер продуктов для InfluxData, страдающего от того, чтобы сделать данные красивыми с использованием анализа данных, искусственного интеллекта и машинного обучения. Она берет данные, которые собирает, делает сочетание исследований, исследований и инженерии … Подробнее от Anais Dotis-Georgiouou