Назад к статьям

Мониторинг Go-сервисов: Prometheus, Grafana и алертинг

Как настроить мониторинг Go-приложений от и до: метрики, дашборды, алерты, SLO.

Четыре золотых сигнала

Google SRE book определяет 4 ключевые метрики: Latency, Traffic, Errors, Saturation. Начните с них.

Инструментирование Go-кода

var (
    httpRequestsTotal = promauto.NewCounterVec(
        prometheus.CounterOpts{
            Name: "http_requests_total",
            Help: "Total number of HTTP requests",
        },
        []string{"method", "path", "status"},
    )
    httpRequestDuration = promauto.NewHistogramVec(
        prometheus.HistogramOpts{
            Name:    "http_request_duration_seconds",
            Help:    "HTTP request duration",
            Buckets: prometheus.DefBuckets,
        },
        []string{"method", "path"},
    )
)

SLO и алертинг

Определите SLO: 99.9% запросов с latency < 100ms. Настройте burn rate алерты. Не алертите на каждый 500-й — алертите на нарушение SLO.

Grafana дашборды

RED-метод для каждого сервиса: Rate, Errors, Duration. Один дашборд — один сервис. Обзорный дашборд для всей системы.

Похожие статьи

Go · Architecture · API

Проектирование высоконагруженных API на Go

Разбираем архитектурные паттерны и подходы к созданию API, способного обрабатывать миллионы запросов.

Go · Clean Architecture · Best Practices

Чистая архитектура в Go: от теории к практике

Как применить принципы Clean Architecture в Go-проекте и не превратить код в Java-подобный boilerplate.