可能是因为未正确配置App Metrics和Prometheus之间的连接。请确保在App Metrics中配置了Prometheus Reporter。以下是一些在ASP.NET Core应用程序中设置App Metrics和Prometheus的示例代码:
//在Program.cs文件中
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureMetricsWithDefaults(builder =>
{
builder.Report.ToPrometheusHttp("http://localhost:9090");
})
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddConsole();
})
.UseStartup
//在Startup.cs文件中 public void ConfigureServices(IServiceCollection services) { //添加App Metrics依赖注入 services.AddMetrics();
//添加Prometheus Reporter
services.AddMetricsReporters(
builder =>
{
builder.AddPrometheus();
});
//添加App Metrics Middleware
services.AddMetricsMiddleware(Configuration);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { //使用App Metrics Middleware app.UseMetricsAllEndpoints();
//将App Metrics端点映射到URL /metrics
app.Map("/metrics", metricsApp =>
{
metricsApp.UseMetricsEndpoint();
});
}
请注意,上面的示例代码仅适用于ASP.NET Core应用程序。如果您使用的是不同的框架或平台,请参阅App Metrics和Prometheus的文档以获取相关的配置信息。