diff --git a/NOTICE.txt b/NOTICE.txt index 611d1e00f3..c874ff9262 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -872,11 +872,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-l -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-system-metrics -Version: v0.11.15 +Version: v0.13.3 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.11.15/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.13.3/LICENSE.txt: Apache License Version 2.0, January 2004 diff --git a/go.mod b/go.mod index bfa6a79994..213833737b 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/go-units v0.5.0 github.com/elastic/elastic-agent-client/v7 v7.17.2 github.com/elastic/elastic-agent-libs v0.24.1 - github.com/elastic/elastic-agent-system-metrics v0.11.15 + github.com/elastic/elastic-agent-system-metrics v0.13.3 github.com/elastic/go-elasticsearch/v8 v8.18.1 github.com/elastic/go-ucfg v0.8.8 github.com/fxamacker/cbor/v2 v2.8.0 diff --git a/go.sum b/go.sum index ae31254f82..23de6b2a82 100644 --- a/go.sum +++ b/go.sum @@ -37,8 +37,8 @@ github.com/elastic/elastic-agent-client/v7 v7.17.2 h1:Cl2TeABqWZgW40t5fchGWT/sRk github.com/elastic/elastic-agent-client/v7 v7.17.2/go.mod h1:5irRFqp6HLqtu1S+OeY0jg8x7K6PLL+DW+PwVk1vJnk= github.com/elastic/elastic-agent-libs v0.24.1 h1:kFPpOG5mbdaGRRNXPb2KfEaR65Uoi8nsMbDOKA02/Go= github.com/elastic/elastic-agent-libs v0.24.1/go.mod h1:o/iXtbHYaojpG4BOY7Z3hFMQAgEoqq2owO17JPGpf3A= -github.com/elastic/elastic-agent-system-metrics v0.11.15 h1:RWX0n6LakadsqB6YB2I7AIXyMlEO4qBUGWn4A+aGeKA= -github.com/elastic/elastic-agent-system-metrics v0.11.15/go.mod h1:qiZC5p1hd8te4XVnhh7FkXdcYhxFnl5i9GJpROtf6zo= +github.com/elastic/elastic-agent-system-metrics v0.13.3 h1:VlY3Ezuwi5bPZRsAM97WaJEW78XkXgqmPHcTl1WGMRw= +github.com/elastic/elastic-agent-system-metrics v0.13.3/go.mod h1:lB8veYWYBlA9eF6TahmPN87G1IEgWlbep7QSqLSW90U= github.com/elastic/elastic-transport-go/v8 v8.7.0 h1:OgTneVuXP2uip4BA658Xi6Hfw+PeIOod2rY3GVMGoVE= github.com/elastic/elastic-transport-go/v8 v8.7.0/go.mod h1:YLHer5cj0csTzNFXoNQ8qhtGY1GTvSqPnKWKaqQE3Hk= github.com/elastic/go-elasticsearch/v8 v8.18.1 h1:lPsN2Wk6+QqBeD4ckmOax7G/Y8tAZgroDYG8j6/5Ce0= diff --git a/internal/pkg/api/metrics.go b/internal/pkg/api/metrics.go index 7e4c6f096d..371879dfbf 100644 --- a/internal/pkg/api/metrics.go +++ b/internal/pkg/api/metrics.go @@ -55,10 +55,6 @@ var ( // metrics must be explicitly exposed with a call to InitMetrics // FIXME we have global metrics but an internal and external API; this may lead to some confusion. func init() { - err := report.SetupMetrics(logger.NewZapStub("instance-metrics"), build.ServiceName, version.DefaultVersion) - if err != nil { - zerolog.Ctx(context.TODO()).Error().Err(err).Msg("unable to initialize metrics") // TODO is used because this may logged during the package load - } registry = newMetricsRegistry("http_server") cntHTTPNew = newCounter(registry, "tcp_open") @@ -78,6 +74,17 @@ func init() { cntFileDeliv.Register(routesRegistry.newRegistry("deliverFile")) cntGetPGP.Register(routesRegistry.newRegistry("getPGPKey")) cntAuditUnenroll.Register(routesRegistry.newRegistry("auditUnenroll")) + + err := report.SetupMetricsOptions(report.MetricOptions{ + Logger: logger.NewZapStub("instance-metrics"), + Name: build.ServiceName, + Version: version.DefaultVersion, + SystemMetrics: monitoring.NewRegistry(), + ProcessMetrics: registry.registry, + }) + if err != nil { + zerolog.Ctx(context.TODO()).Error().Err(err).Msg("unable to initialize metrics") // TODO is used because this may logged during the package load + } } // metricsRegistry wraps libbeat and prometheus registries @@ -91,7 +98,7 @@ func newMetricsRegistry(name string) *metricsRegistry { reg := monitoring.Default return &metricsRegistry{ fullName: name, - registry: reg.NewRegistry(name), + registry: reg.GetOrCreateRegistry(name), promReg: prometheus.NewRegistry(), } } @@ -103,7 +110,7 @@ func (r *metricsRegistry) newRegistry(name string) *metricsRegistry { } return &metricsRegistry{ fullName: fullName, - registry: r.registry.NewRegistry(name), + registry: r.registry.GetOrCreateRegistry(name), promReg: r.promReg, } }