add metrics http exporter
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
@@ -8,12 +8,18 @@ import (
|
||||
"time"
|
||||
|
||||
grpccli "go.unistack.org/micro-client-grpc/v3"
|
||||
jsoncodec "go.unistack.org/micro-codec-json/v3"
|
||||
jsonpbcodec "go.unistack.org/micro-codec-jsonpb/v3"
|
||||
protocodec "go.unistack.org/micro-codec-proto/v3"
|
||||
victoriametrics "go.unistack.org/micro-meter-victoriametrics/v3"
|
||||
httpsrv "go.unistack.org/micro-server-http/v3"
|
||||
healthhandler "go.unistack.org/micro-server-http/v3/handler/health"
|
||||
meterhandler "go.unistack.org/micro-server-http/v3/handler/meter"
|
||||
"go.unistack.org/micro/v3/client"
|
||||
"go.unistack.org/micro/v3/logger/slog"
|
||||
"go.unistack.org/micro/v3/meter"
|
||||
"go.unistack.org/micro/v3/semconv"
|
||||
"go.unistack.org/micro/v3/server"
|
||||
"go.unistack.org/servicechecker/pkg/config"
|
||||
"go.unistack.org/servicechecker/pkg/grpcconn"
|
||||
"go.unistack.org/servicechecker/pkg/scheduler"
|
||||
@@ -29,7 +35,11 @@ func main() {
|
||||
|
||||
l := slog.NewLogger()
|
||||
l.Init()
|
||||
m := victoriametrics.NewMeter()
|
||||
m := victoriametrics.NewMeter(
|
||||
victoriametrics.PrometheusCompat(true),
|
||||
meter.WriteFDMetrics(true),
|
||||
meter.WriteProcessMetrics(true),
|
||||
)
|
||||
f, err := os.Open("config.yaml")
|
||||
if err != nil {
|
||||
l.Fatal(ctx, "failed to open config", err)
|
||||
@@ -58,6 +68,26 @@ func main() {
|
||||
}
|
||||
}()
|
||||
|
||||
s := httpsrv.NewServer(
|
||||
server.Codec("application/json", jsoncodec.NewCodec()),
|
||||
server.Address(cfg.Meter.Addr),
|
||||
)
|
||||
|
||||
if err = s.Init(); err != nil {
|
||||
l.Fatal(ctx, "http server init error", err)
|
||||
}
|
||||
|
||||
if err := healthhandler.RegisterHealthServiceServer(s, healthhandler.NewHandler()); err != nil {
|
||||
l.Fatal(ctx, "failed to set http handler", err)
|
||||
}
|
||||
if err := meterhandler.RegisterMeterServiceServer(s, meterhandler.NewHandler(meterhandler.Meter(m))); err != nil {
|
||||
l.Fatal(ctx, "failed to set http handler", err)
|
||||
}
|
||||
|
||||
if err = s.Start(); err != nil {
|
||||
l.Fatal(ctx, "failed to start http server", err)
|
||||
}
|
||||
|
||||
clients := make(map[string]client.Client)
|
||||
gcli := grpccli.NewClient(
|
||||
client.Codec("application/json", jsonpbcodec.NewCodec()),
|
||||
|
Reference in New Issue
Block a user