Postgres Pro OpenTelemetry Collector

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Всем привет, меня зовут Алексей, я люблю мониторинг и в этом посте расскажу про pgpro-otel-collector.

TLDR: pgpro-otel-collector - opentelemetry-коллектор (агент мониторинга) для сбора метрик и журналов Postgres от PostgresPro.

Начать стоит конечно с OpenTelemetry, но по этой теме написано довольно много всего, поэтому подробно останавливаться не буду, но приведу чуть-чуть ссылок:

  • Что такое OpenTelemetry на официальном сайте проекта.

  • Что такое OpenTelemetry и как она может улучшить качество ваших сервисов.

  • OpenTelemetry на практике.

  • Одна платформа, чтобы мониторить всех: как мы осуществляем трассировку, работаем с логами и метриками во всей экосистеме.

  • OpenTelemetry с нуля до 100: пример внедрения Норвежским управлением труда и соцобеспечения.

  • Книга: Изучаем OpenTelemetry: современный мониторинг систем.

Другим важным куском OpenTelemetry является OpenTelemetry Collector. По сути это конструктор — комбинируя различные компоненты можно собрать агента мониторинга который будет собирать то, что вам нужно и отправлять туда, куда вам нужно. Если заглянуть в коробку этого конструктора, можно найти много полезных и интересных компонентов. Нас больше всего интересует PostgreSQL, но к сожалению имеющийся ресивер представляет собой лишь академический интерес - функциональность в нем очень и очень скромная. Поэтому можно написать свой ресивер, затем взять ocb, собрать все необходимое вместе и на выходе получить pgpro-otel-collector.

Так что же умеет pgpro-otel-collector?

Сбор метрик Postgres - это самое главное ради чего задумывался и создавался коллектор. В основе сбора лежит отдельная библиотека и на ней построен ресивер. Библиотека и ресивер являются внутренним продуктом и это позволяет без лишней бюрократии быстро добавлять новую функциональность, вносить изменения в случае ошибок. Ресивер использует классическую схему сбора данных - подключение к Postgres и SQL-запросы к системному каталогу за нужными данными. Другое дело что этих данных очень много и сам черт ногу сломит что там важно и нужно, а что нет.

Сбор метрик операционной системы на основе hostmetrics: утилизация процессора, памяти, сетевых и дисковых устройств, использование файловых системы и т.п. В мониторинге Postgres без этого можно, но сложно.

Сбор журналов Postgres на основе filelog. Postgres поддерживает запись журналов в формате CSV и JSON, коллектор в свою очередь умеет читать журналы в этих форматах. И здесь в коллекторе очень удачно получилось совместить сразу и сбор метрик и сбор журналов.

Несколько служебных процессоров для пакетной обработки данных (метрик и журналов). Процессоры нужны для эффективной передачи собранных данных в системы мониторинга.

Отправка метрик и журналов в OTLP-совместимые хранилища на основе otlphttp. Пока только Elasticsearch, но уже есть и другие кандидаты на перспективу.

Публикация метрик для Prometheus на основе prometheus экспортера. Это самый простой способ публикации метрик для широко известной системы мониторинга.

Таким образом, предположим есть экземпляр Postgres за работой которого хочется наблюдать. Ставим в эту же систему pgpro-otel-collector, указываем подключение к Postgres, и указываем куда отправлять (или публиковать) данные. То есть, один инструмент в зависимости от наших потребностей готов обеспечивать и сбор и метрик и журналов и доставку в систему мониторинга. Остается самое сложное — составить дашборды в Grafana

Источник: https://habr.com/ru/articles/878640/


Интересные статьи

Интересные статьи

Привет! Я, Ольга и уже пять лет работаю с автоматизацией на базе Битрикс24 и знаю, что даже самые очевидные решения могут таить в себе подводные камни. Если вы думаете, что все проблемы ограничиваются...
Есть 3 вида контента. Общий ,полезный и продающий. Создавая контент, нужно не забывать про все его виды, и делать это в правильных пропорциях.В этой статье я показал на примере 3 компаний, которые усп...
Команда EFSOL Oblako продолжает серию тестов производительности 1С. Подобные тесты мы проводим уже несколько лет и на этот раз решили сравнить актуальные СУБД для работы с 1С:Предприятие 8.3, включая ...
У нас был сложный сайт с личным кабинетом клиентов, устаревшая, переписанная 1С-ка, десяток маркетинговых сервисов, и телефония на Asterisk.Единственное, что вызывало у меня опасение — это учётная сис...
Выгрузка пользователей из 1C ЗУП в Битрикс24 или правдивая история о том как настроить интеграцию 1С-Битрикс24 с ЗУП без 1С-ника.В жизни так бывает, причём бывает чаще чем хотелось бы, хоть в целом и ...