Sobes.tech
Junior — Middle

Hoe worden de overdrachtsmethoden voor metrics door exporters geïmplementeerd?

sobes.tech AI

Antwoord van AI

De methoden voor het doorgeven van metrics door exporters worden meestal geïmplementeerd via protocollen en formaten die het verzamelen en doorgeven van monitoringgegevens aan aggregatiesystemen mogelijk maken (bijvoorbeeld Prometheus).

Belangrijkste manieren van metric-overdracht:

  1. Pull-model (ophalen) — de exporter biedt een HTTP-eindpunt, waarop het monitoring systeem periodiek verzoeken doet en actuele metrics ontvangt in een formaat, bijvoorbeeld het Prometheus-expositievormaat.

  2. Push-model (verzenden) — de exporter stuurt de metrics rechtstreeks naar de monitoring server via API's of protocollen (bijvoorbeeld Pushgateway in Prometheus).

  3. Gebruik van tussenliggende brokers — metrics worden naar een berichtenwachtrij gestuurd (Kafka, RabbitMQ), waaruit ze door het monitoring systeem worden opgehaald.

Voorbeeld van het exporteren van metrics in Prometheus (pull-model):

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

func main() {
    http.Handle("/metrics", promhttp.Handler())
    http.ListenAndServe(":2112", nil)
}

Hier start een exporter een HTTP-server die bij een verzoek metrics in een door Prometheus te begrijpen formaat teruggeeft.