feat: add :51090/metrics endpoint with Prometheus metrics listening on machine IP (#304)

Signed-off-by: Miek Gieben <miek@miek.nl>
Co-authored-by: Pasha Sviderski <me@psviderski.name>
This commit is contained in:
Miek Gieben
2026-05-29 18:23:07 +10:00
committed by GitHub
co-authored by Pasha Sviderski
parent 11df8e4a75
commit 24b81af43c
8 changed files with 169 additions and 1 deletions
+35
View File
@@ -0,0 +1,35 @@
// Package metrics declares all metrics Uncloud uses.
package metrics
import (
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
)
var (
Version = promauto.NewGaugeVec(prometheus.GaugeOpts{
Namespace: Namespace, Subsystem: "uncloudd",
Name: "build_info",
Help: "Build information.",
}, []string{"version"})
DNSQuery = promauto.NewCounterVec(prometheus.CounterOpts{
Namespace: Namespace, Subsystem: "dns",
Name: "query_total",
Help: "Counter of DNS queries.",
}, []string{"internal", "status"})
)
const (
Err = "err"
Ok = "ok"
)
// Status returns "ok" if err is nil, otherwise "err".
func Status(err error) string {
if err != nil {
return Err
}
return Ok
}
const Namespace = "uncloud"