Sobes.tech
Back to questions
Junior — Middle
83

Имели ли вы опыт интеграции и отображения кастомных метрик в Grafana?

Companies where asked
Yabbi

Answer from AI

sobes.tech AI

Да, опыт интеграции и отображения кастомных метрик в Grafana обычно включает следующие шаги:

  1. Сбор метрик: написание кода на Go, который собирает необходимые данные (например, показатели производительности, бизнес-метрики).
  2. Экспорт метрик: использование библиотек, таких как Prometheus client для Go (prometheus/client_golang), чтобы определить и зарегистрировать кастомные метрики.
  3. Экспонирование метрик: запуск HTTP-сервера, который отдаёт метрики в формате, понятном Prometheus.
  4. Настройка Prometheus для сбора этих метрик с вашего приложения.
  5. Создание дашбордов в Grafana на основе собранных метрик.

Пример простого экспорта кастомной метрики в Go:

package main

import (
    "net/http"
    "github.com/prometheus/client_golang/prometheus"
    "github.com/prometheus/client_golang/prometheus/promhttp"
)

var (
    myCounter = prometheus.NewCounter(
        prometheus.CounterOpts{
            Name: "my_custom_metric_total",
            Help: "Пример кастомной метрики",
        },
    )
)

func main() {
    prometheus.MustRegister(myCounter)

    http.Handle("/metrics", promhttp.Handler())

    // Увеличиваем счётчик
    myCounter.Inc()

    http.ListenAndServe(":2112", nil)
}

После запуска приложение будет отдавать метрики на http://localhost:2112/metrics, которые можно собрать Prometheus и визуализировать в Grafana.