Sobes.tech
Junior — Middle

Оё таҷрибаи ҳамгироӣ ва намоиши метрикҳои фармоишӣ дар Grafana доред?

sobes.tech AI

Ҷавоб аз AI

Баъзе, таҷрибаи ҳамгироӣ ва намоиши метрикҳои фармоишӣ дар Grafana одатан дар бар мегирад қадамҳои зерин:

  1. Ҷамъоварии метрикҳо: навиштани коди Go, ки маълумоти заруриро ҷамъ мекунад (масалан, нишондиҳандаҳои иҷроиш, метрикҳои бизнес).
  2. Эҳсоси метрикҳо: истифодаи китобхонаҳо монанди муштарии Prometheus барои 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 визуализатсия кунад.