From 43e1359ef483c899c05bedaac10ada73db5fe1e2 Mon Sep 17 00:00:00 2001 From: Tom Kerkhove Date: Fri, 11 Dec 2020 16:58:14 +0100 Subject: [PATCH] Log Prometheus sink URL Signed-off-by: Tom Kerkhove --- src/Promitor.Agents.Core/AgentStartup.cs | 2 +- src/Promitor.Agents.Scraper/Docs/Open-Api.xml | 3 ++- .../Extensions/IApplicationBuilderExtensions.cs | 5 ++++- src/Promitor.Agents.Scraper/Startup.cs | 7 ++++--- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/Promitor.Agents.Core/AgentStartup.cs b/src/Promitor.Agents.Core/AgentStartup.cs index 16ea5ff86..25d01efda 100644 --- a/src/Promitor.Agents.Core/AgentStartup.cs +++ b/src/Promitor.Agents.Core/AgentStartup.cs @@ -20,7 +20,7 @@ public class AgentStartup /// Constructor /// /// Configuration of the application - public AgentStartup(IConfiguration configuration) + protected AgentStartup(IConfiguration configuration) { Guard.NotNull(configuration, nameof(configuration)); diff --git a/src/Promitor.Agents.Scraper/Docs/Open-Api.xml b/src/Promitor.Agents.Scraper/Docs/Open-Api.xml index 57fcd8593..75aa7a60d 100644 --- a/src/Promitor.Agents.Scraper/Docs/Open-Api.xml +++ b/src/Promitor.Agents.Scraper/Docs/Open-Api.xml @@ -41,12 +41,13 @@ Provides information concerning the Promitor Scraper Agent - + Adds the required metric sinks Application Builder Configuration of the scraper agent + diff --git a/src/Promitor.Agents.Scraper/Extensions/IApplicationBuilderExtensions.cs b/src/Promitor.Agents.Scraper/Extensions/IApplicationBuilderExtensions.cs index 80c8b6b5b..b68880c4a 100644 --- a/src/Promitor.Agents.Scraper/Extensions/IApplicationBuilderExtensions.cs +++ b/src/Promitor.Agents.Scraper/Extensions/IApplicationBuilderExtensions.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; using Prometheus.Client.AspNetCore; using Promitor.Agents.Scraper.Configuration.Sinks; @@ -14,13 +15,15 @@ public static class IApplicationBuilderExtensions /// /// Application Builder /// Configuration of the scraper agent - public static IApplicationBuilder UseMetricSinks(this IApplicationBuilder app, IConfiguration configuration) + /// + public static IApplicationBuilder UseMetricSinks(this IApplicationBuilder app, IConfiguration configuration, ILogger logger) { var metricSinkConfiguration = configuration.GetSection("metricSinks").Get(); if (metricSinkConfiguration?.PrometheusScrapingEndpoint != null) { if (string.IsNullOrWhiteSpace(metricSinkConfiguration.PrometheusScrapingEndpoint.BaseUriPath) == false) { + logger.LogInformation("Adding Prometheus sink to expose on {PrometheusUrl}", metricSinkConfiguration.PrometheusScrapingEndpoint.BaseUriPath); app.UsePrometheusServer(prometheusOptions => { prometheusOptions.MapPath = metricSinkConfiguration.PrometheusScrapingEndpoint.BaseUriPath; diff --git a/src/Promitor.Agents.Scraper/Startup.cs b/src/Promitor.Agents.Scraper/Startup.cs index b29d8fade..9628cc541 100644 --- a/src/Promitor.Agents.Scraper/Startup.cs +++ b/src/Promitor.Agents.Scraper/Startup.cs @@ -6,6 +6,7 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; using Promitor.Agents.Core; using Promitor.Agents.Scraper.Configuration; using Promitor.Agents.Scraper.Configuration.Sinks; @@ -54,7 +55,7 @@ public void ConfigureServices(IServiceCollection services) } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. - public void Configure(IApplicationBuilder app, IWebHostEnvironment env) + public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILogger logger) { if (env.IsDevelopment()) { @@ -66,7 +67,7 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) .UseHttpCorrelation() .UseVersionMiddleware() .UseRouting() - .UseMetricSinks(Configuration) + .UseMetricSinks(Configuration, logger) .ExposeOpenApiUi(ApiName) .UseEndpoints(endpoints => endpoints.MapControllers()); @@ -99,7 +100,7 @@ private string BuildOpenApiDescription(IConfiguration configuration) if (metricSinkConfiguration.PrometheusScrapingEndpoint != null) { var prometheusScrapingBaseUri = metricSinkConfiguration.PrometheusScrapingEndpoint.BaseUriPath; - openApiDescriptionBuilder.AppendLine($"
  • Prometheus scrape endpoint is exposed at {prometheusScrapingBaseUri}
  • "); + openApiDescriptionBuilder.AppendLine($"
  • Prometheus scrape endpoint is exposed at {prometheusScrapingBaseUri}
  • "); } if (metricSinkConfiguration.Statsd != null)