From dc4fd47c5ec9804a3aed3f257f0cd3d1c8477645 Mon Sep 17 00:00:00 2001 From: groot Date: Fri, 31 Oct 2025 08:11:51 +0000 Subject: [PATCH] exporter.go aktualisiert --- exporter.go | 50 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/exporter.go b/exporter.go index 5fc1846..cb876c2 100644 --- a/exporter.go +++ b/exporter.go @@ -27,7 +27,6 @@ func NewTargetRunner(name, host string, cfg TargetSettings) *TargetRunner { } } -// Prometheus-Metrics var ( pingUp = prometheus.NewGaugeVec( prometheus.GaugeOpts{ @@ -37,19 +36,19 @@ var ( []string{"target"}, ) pingRTT = prometheus.NewGaugeVec( - prometheus.GaugeOpts{ - Name: "ping_rtt_seconds", - Help: "Last ping round trip time in seconds", - }, - []string{"target"}, - ) - pingRTTMs = prometheus.NewGaugeVec( - prometheus.GaugeOpts{ - Name: "ping_rtt_milliseconds", - Help: "Last ping round trip time in milliseconds", - }, - []string{"target"}, - ) + prometheus.GaugeOpts{ + Name: "ping_rtt_seconds", + Help: "Last ping round trip time in seconds", + }, + []string{"target"}, + ) + pingRTTMs = prometheus.NewGaugeVec( + prometheus.GaugeOpts{ + Name: "ping_rtt_milliseconds", + Help: "Last ping round trip time in milliseconds", + }, + []string{"target"}, + ) pingRTTAvg = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Name: "ping_rtt_seconds_avg", @@ -57,6 +56,13 @@ var ( }, []string{"target"}, ) + pingRTTAvgMs = prometheus.NewGaugeVec( + prometheus.GaugeOpts{ + Name: "ping_rtt_milliseconds_avg", + Help: "Average ping round trip time in milliseconds (over history)", + }, + []string{"target"}, + ) pingPacketsSent = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "ping_packets_sent_total", @@ -74,7 +80,15 @@ var ( ) func init() { - prometheus.MustRegister(pingUp, pingRTT, pingRTTMs, pingRTTAvg, pingPacketsSent, pingPacketsRecv) + prometheus.MustRegister( + pingUp, + pingRTT, + pingRTTMs, + pingRTTAvg, + pingRTTAvgMs, + pingPacketsSent, + pingPacketsRecv, + ) } func (t *TargetRunner) Run(stop <-chan struct{}) { @@ -103,13 +117,13 @@ func (t *TargetRunner) Run(stop <-chan struct{}) { pingRTT.With(lbl).Set(sec) pingRTTMs.With(lbl).Set(sec * 1000) - avg := t.addToHistoryAndAvg(sec) + avgSec := t.addToHistoryAndAvg(sec) pingRTTAvg.With(lbl).Set(avgSec) pingRTTAvgMs.With(lbl).Set(avgSec * 1000) } else { pingUp.With(lbl).Set(0) - // RTT nicht ändern oder auf 0 setzen? pingRTT.With(lbl).Set(0) + pingRTTMs.With(lbl).Set(0) log.Printf("ping to %s failed: %v", t.name, res.Err) } case <-stop: @@ -141,4 +155,4 @@ func (t *TargetRunner) addToHistoryAndAvg(v float64) float64 { return 0 } return sum / float64(cnt) -} +} \ No newline at end of file