Перейти к содержанию

OpenTelemetry и Grafana: диагностика API, PostgreSQL и фоновой задачи

В серии вы последовательно собираете учебный проект «Пульс». Каждый урок добавляет один механизм к результату предыдущего; в архиве приведены полные накопительные состояния lesson-01—lesson-12.

Нужны основы JavaScript, HTTP и SQL, локальная среда Node.js и отдельная лабораторная база PostgreSQL. Конкретные прямые зависимости закреплены в исходниках. Архив не содержит установленной среды и разрешённого lockfile.

Урок Результат
1. OpenTelemetry: наблюдаемость сервиса заявок Сопоставить три сигнала одной операции сервиса «Пульс».
2. OpenTelemetry: логи и контекст запроса Добавить структурированные события без тела запроса и секретов.
3. OpenTelemetry: Spans запросов API и PostgreSQL Измерить SERVER-span и дочерний SQL-span ручной инструментацией.
4. OpenTelemetry: передача контекста фоновой задаче Сохранить W3C context в SQL-очереди и извлечь в worker.
5. OpenTelemetry: метрики нагрузки и задержки Считать запросы, длительность и возраст очереди независимо от traces.
6. OpenTelemetry: кардинальность и безопасные атрибуты Ограничить набор меток и ресурсных атрибутов.
7. OpenTelemetry Collector и OTLP Разделить приём, обработку и экспорт сигналов Collector.
8. OpenTelemetry: Tempo, Loki и Prometheus Настроить три настоящих хранилища и источники Grafana.
9. OpenTelemetry: дашборд для диагностики задержки Собрать панели RED и маршрут к конкретному trace.
10. OpenTelemetry: ошибки и правила оповещения Отделить отказ заявки от отказа наблюдения и добавить alerts.
11. OpenTelemetry: сэмплирование и разбор инцидента Разобрать модельный инцидент и цену выборки.
12. OpenTelemetry: выпуск наблюдаемого сервиса Подготовить версии, shutdown, границы доступа и handoff.

Скачать исходники. Выберите одно состояние вместо смешивания файлов разных уроков. Файлы схемы предназначены для пустой лабораторной базы; они не заявлены как миграции существующего приложения.

Материалы опубликованы. Учебные приложения, контейнеры, схемы и обработчики не запускались; показанные ответы и изменения описывают ожидаемый контракт. Версии и API сверены по первичной документации, а воспроизводимость среды предстоит проверить отдельно.