我正在向我的项目添加指标。 我正在使用 OpenTelemetry.Instrumentation.Process 包,但是当我检查 Prometheus 中的 Targets 状态时,我看到以下错误:
单位“秒”不是指标“process_cpu_time_seconds_total”的后缀
这是我添加指标的方法
.WithMetrics(x =>
{
x.AddProcessInstrumentation();
x.AddHttpClientInstrumentation();
x.AddAspNetCoreInstrumentation();
//x.AddRuntimeInstrumentation();
x.AddPrometheusExporter()
.AddMeter("MyApplication.Api")
.AddMeter("System.Runtime")
.AddMeter("System.Net.Http")
.AddMeter("System.Data.SqlClient")
.AddMeter("Microsoft.AspNetCore.Hosting")
.AddMeter("Microsoft.AspNetCore.Server.Kestrel")
.AddMeter("Microsoft.AspNetCore.Http.Connections")
.AddMeter("Microsoft.AspNetCore.Routing")
.AddMeter("Microsoft.AspNetCore.Diagnostics")
.AddMeter("Microsoft.AspNetCore.RateLimiting");
});
我有同样的问题 - 就我而言,我使用了
endpoints.MapPrometheusScrapingEndpoint()
我改成之后就解决了
app.UseMetricServer();