Не найден токен в Prometheus - PullRequest
0 голосов
/ 22 мая 2018

Я хочу контролировать свое приложение .Net Core с помощью Prometheus.Для этого я использую .Net Prometheus Library (AppMetrics).И когда я перехожу по ссылке http://localhost:57057/metrics, она возвращает мне JSON с данными.

Но когда я захожу в Прометей и добавляю эту ссылку в качестве цели, она выдает эту ошибку No Token Found.

level = warn ts = 2018-05-22T06: 52: 17.5781093Z Вызывающий абонент = scrape.go: 697 компонент = "менеджер скраба" scrape_pool = actibook target = http://localhost:57057/metrics msg = "добавить не удалось" 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 голосов
/ 22 мая 2018

Это обычно означает, что вывод не является допустимым текстовым форматом Prometheus.Ищите дефисы в названиях метрик или меток или в тех из них, которые начинаются с цифр - это самые распространенные ошибки.

...