diff --git a/datagramsession/metrics.go b/datagramsession/metrics.go index 12844e7a..a0245752 100644 --- a/datagramsession/metrics.go +++ b/datagramsession/metrics.go @@ -15,7 +15,7 @@ var ( Name: "active_sessions", Help: "Concurrent count of UDP sessions that are being proxied to any origin", }) - totalUDPSessions = prometheus.NewGauge(prometheus.GaugeOpts{ + totalUDPSessions = prometheus.NewCounter(prometheus.CounterOpts{ Namespace: namespace, Subsystem: "udp", Name: "total_sessions", diff --git a/ingress/icmp_metrics.go b/ingress/icmp_metrics.go new file mode 100644 index 00000000..a39cf79f --- /dev/null +++ b/ingress/icmp_metrics.go @@ -0,0 +1,39 @@ +package ingress + +import ( + "github.com/prometheus/client_golang/prometheus" +) + +const ( + namespace = "cloudflared" +) + +var ( + icmpRequests = prometheus.NewCounter(prometheus.CounterOpts{ + Namespace: namespace, + Subsystem: "icmp", + Name: "total_requests", + Help: "Total count of ICMP requests that have been proxied to any origin", + }) + icmpReplies = prometheus.NewCounter(prometheus.CounterOpts{ + Namespace: namespace, + Subsystem: "icmp", + Name: "total_replies", + Help: "Total count of ICMP replies that have been proxied from any origin", + }) +) + +func init() { + prometheus.MustRegister( + icmpRequests, + icmpReplies, + ) +} + +func incrementICMPRequest() { + icmpRequests.Inc() +} + +func incrementICMPReply() { + icmpReplies.Inc() +} diff --git a/ingress/origin_icmp_proxy.go b/ingress/origin_icmp_proxy.go index 49c25dff..3eb0a6b3 100644 --- a/ingress/origin_icmp_proxy.go +++ b/ingress/origin_icmp_proxy.go @@ -105,6 +105,7 @@ func isEchoReply(msg *icmp.Message) bool { } func observeICMPRequest(logger *zerolog.Logger, span trace.Span, src string, dst string, echoID int, seq int) { + incrementICMPRequest() logger.Debug(). Str("src", src). Str("dst", dst). @@ -118,6 +119,7 @@ func observeICMPRequest(logger *zerolog.Logger, span trace.Span, src string, dst } func observeICMPReply(logger *zerolog.Logger, span trace.Span, dst string, echoID int, seq int) { + incrementICMPReply() logger.Debug().Str("dst", dst).Int("echoID", echoID).Int("seq", seq).Msg("Sent ICMP reply to edge") span.SetAttributes( attribute.String("dst", dst),