普罗米修斯中没有令牌发现错误

时间:2018-05-22 06:58:17

标签: asp.net-core monitoring monitor prometheus

我想用Prometheus监控我的.Net Core应用程序。 为了做到这一点,我使用的是.Net Prometheus Library(AppMetrics)。 当我转到链接http://localhost:57057/metrics时,它会返回一个包含数据的JSON。

但是当我去prometheus并将此链接添加为目标时,会抛出此错误No Token Found

  

level = warn ts = 2018-05-22T06:52:17.5781093Z caller = scrape.go:697 component =“scrape manager”scrape_pool = actibook target = http://localhost:57057/metrics msg =“append failed”err =“没有找到令牌“

这是我可以处理的方式吗?

任何遇到此问题的人都是解决方案。

Startup.cs

//ConfigureServices
var metrics = new MetricsBuilder()
                            .OutputMetrics.AsPrometheusPlainText()
                            .OutputMetrics.AsPrometheusProtobuf().Build();
            services.AddMetrics(metrics);
            services.AddMetricsEndpoints(options =>
            {
                options.MetricsTextEndpointOutputFormatter = new MetricsPrometheusTextOutputFormatter();
                options.MetricsEndpointOutputFormatter = new MetricsPrometheusProtobufOutputFormatter();
            });
            services.AddMvc().AddMetrics();

//Configure
            app.UseMetricsAllMiddleware();
            app.UseMetricsAllEndpoints();

Program.cs的

Metrics = AppMetrics.CreateDefaultBuilder()
                        .OutputMetrics.AsPrometheusPlainText()
                        .OutputMetrics.AsPrometheusProtobuf()
                        .Build();

            return WebHost.CreateDefaultBuilder(args)
                .ConfigureMetrics(Metrics)
                .UseMetrics()
                .UseStartup<Startup>()
                .Build();

appsettings.json

"MetricsOptions": {
    "DefaultContextLabel": "MyMvcApplication",
    "Enabled": true
  },
  "MetricsWebTrackingOptions": {
    "ApdexTrackingEnabled": true,
    "ApdexTSeconds": 0.1,
    "IgnoredHttpStatusCodes": [ 404 ],
    "IgnoredRoutesRegexPatterns": [],
    "OAuth2TrackingEnabled": true
  },
  "MetricEndpointsOptions": {
    "MetricsEndpointEnabled": true,
    "MetricsTextEndpointEnabled": true,
    "EnvironmentInfoEndpointEnabled": true
  }

您可以通过/metrics-text路径访问它。 同样在您的prometheus.yml文件中应添加以下内容:

- job_name: 'nameOfJob'
    metrics_path: '/metrics-text'
    static_configs:
      - targets: ['localhost:57057']

1 个答案:

答案 0 :(得分:1)

这通常意味着输出的Prometheus文本格式无效。查找度量标签或标签名称中的连字符,或以数字开头的连字符 - 这些是最常见的错误。