diff --git a/changelog/content/experimental/unreleased.md b/changelog/content/experimental/unreleased.md
new file mode 100644
index 000000000..3c57ed599
--- /dev/null
+++ b/changelog/content/experimental/unreleased.md
@@ -0,0 +1,9 @@
+---
+weight: 1
+version:
+---
+
+- {{% tag fixed %}} Runtime config for metrics sinks is not working correctly ([#1052](https://github.com/tomkerkhove/promitor/issues/1052))
+- {{% tag removed %}} Default Prometheus configuration since we have multiple metric sinks nowadays. We are removing
+ this since you cannot have duplicate Prometheus scraping endpoints. If you omit legacy configuration it will use
+ `/metrics` as a default value which forces you to use different endpoint in the Prometheus metric sink.
diff --git a/changelog/content/released/v1.6.0.md b/changelog/content/released/v1.6.0.md
index d75d17755..2e966aef7 100644
--- a/changelog/content/released/v1.6.0.md
+++ b/changelog/content/released/v1.6.0.md
@@ -1,6 +1,6 @@
---
-subtitle: "released on 2020-04-06"
-date: 2020-04-06T17:38:47+02:00
+subtitle: "released on 2020-05-15"
+date: 2020-05-15T17:38:47+02:00
weight: 160
version: Scraper (Agent) - v1.6.0
---
diff --git a/changelog/content/released/v1.6.1.md.template b/changelog/content/released/v1.6.1.md.template
new file mode 100644
index 000000000..443e4fa57
--- /dev/null
+++ b/changelog/content/released/v1.6.1.md.template
@@ -0,0 +1,13 @@
+---
+subtitle: "released on 2020-05-27"
+date: 2020-05-27T17:38:47+02:00
+weight: 161
+version: Scraper (Agent) - v1.6.1
+---
+
+- {{% tag fixed %}} Runtime config for metrics sinks is not working correctly ([#1052](https://github.com/tomkerkhove/promitor/issues/1052))
+- {{% tag removed %}} Default Prometheus configuration since we have multiple metric sinks nowadays. We are removing
+ this since you cannot have duplicate Prometheus scraping endpoints. If you omit legacy configuration it will use
+ `/metrics` as a default value which forces you to use different endpoint in the Prometheus metric sink.
+
+Full release notes can be found [here](https://github.com/tomkerkhove/promitor/releases/tag/1.6.1).
diff --git a/src/Promitor.Agents.Scraper/Configuration/ScraperRuntimeConfiguration.cs b/src/Promitor.Agents.Scraper/Configuration/ScraperRuntimeConfiguration.cs
index d2205ed3e..7d3beb7f9 100644
--- a/src/Promitor.Agents.Scraper/Configuration/ScraperRuntimeConfiguration.cs
+++ b/src/Promitor.Agents.Scraper/Configuration/ScraperRuntimeConfiguration.cs
@@ -11,7 +11,7 @@ public class ScraperRuntimeConfiguration : RuntimeConfiguration
public AzureMonitorConfiguration AzureMonitor { get; set; } = new AzureMonitorConfiguration();
public MetricsConfiguration MetricsConfiguration { get; set; } = new MetricsConfiguration();
public MetricSinkConfiguration MetricSinks { get; set; } = new MetricSinkConfiguration();
- public PrometheusLegacyConfiguration Prometheus { get; set; } = new PrometheusLegacyConfiguration();
+ public PrometheusLegacyConfiguration Prometheus { get; set; }
public ResourceDiscoveryConfiguration ResourceDiscovery { get; set; }
}
}
\ No newline at end of file
diff --git a/src/Promitor.Agents.Scraper/Startup.cs b/src/Promitor.Agents.Scraper/Startup.cs
index 637d106a0..08dcfc667 100644
--- a/src/Promitor.Agents.Scraper/Startup.cs
+++ b/src/Promitor.Agents.Scraper/Startup.cs
@@ -120,15 +120,18 @@ private string BuildOpenApiDescription(IConfiguration configuration, string lega
openApiDescriptionBuilder.AppendLine($"
Legacy Prometheus scrape endpoint is exposed at {legacyPrometheusUriPath}");
}
- if (metricSinkConfiguration.PrometheusScrapingEndpoint != null)
+ if (metricSinkConfiguration != null)
{
- var prometheusScrapingBaseUri = metricSinkConfiguration.PrometheusScrapingEndpoint.BaseUriPath;
- openApiDescriptionBuilder.AppendLine($"Prometheus scrape endpoint is exposed at {prometheusScrapingBaseUri}");
- }
+ if (metricSinkConfiguration.PrometheusScrapingEndpoint != null)
+ {
+ var prometheusScrapingBaseUri = metricSinkConfiguration.PrometheusScrapingEndpoint.BaseUriPath;
+ openApiDescriptionBuilder.AppendLine($"Prometheus scrape endpoint is exposed at {prometheusScrapingBaseUri}");
+ }
- if (metricSinkConfiguration.Statsd != null)
- {
- openApiDescriptionBuilder.AppendLine($"StatsD server located on {metricSinkConfiguration.Statsd.Host}:{metricSinkConfiguration.Statsd.Port}");
+ if (metricSinkConfiguration.Statsd != null)
+ {
+ openApiDescriptionBuilder.AppendLine($"StatsD server located on {metricSinkConfiguration.Statsd.Host}:{metricSinkConfiguration.Statsd.Port}");
+ }
}
return openApiDescriptionBuilder.ToString();
diff --git a/src/Promitor.Tests.Unit/Configuration/RuntimeConfigurationUnitTest.cs b/src/Promitor.Tests.Unit/Configuration/RuntimeConfigurationUnitTest.cs
index 6adfe6492..b7d1977fd 100644
--- a/src/Promitor.Tests.Unit/Configuration/RuntimeConfigurationUnitTest.cs
+++ b/src/Promitor.Tests.Unit/Configuration/RuntimeConfigurationUnitTest.cs
@@ -148,6 +148,7 @@ public async Task RuntimeConfiguration_HasConfiguredMetricsConfigurationBasePath
// Arrange
var metricsDeclarationBasePath = _faker.System.DirectoryPath();
var configuration = await RuntimeConfigurationGenerator.WithServerConfiguration()
+ .WithPrometheusLegacyConfiguration()
.WithMetricsConfiguration(absolutePath: metricsDeclarationBasePath)
.GenerateAsync();
@@ -458,7 +459,7 @@ public async Task RuntimeConfiguration_HasNoMetricUnavailableValuePathConfigured
}
[Fact]
- public async Task RuntimeConfiguration_HasNoPrometheusConfigurationConfigured_UsesDefault()
+ public async Task RuntimeConfiguration_HasNoPrometheusConfigurationConfigured_DoesNotUseDefaults()
{
// Arrange
var configuration = await RuntimeConfigurationGenerator.WithServerConfiguration()
@@ -470,10 +471,7 @@ public async Task RuntimeConfiguration_HasNoPrometheusConfigurationConfigured_Us
// Assert
Assert.NotNull(runtimeConfiguration);
- Assert.NotNull(runtimeConfiguration.Prometheus);
- Assert.NotNull(runtimeConfiguration.Prometheus.ScrapeEndpoint);
- Assert.Equal(Defaults.Prometheus.ScrapeEndpointBaseUri, runtimeConfiguration.Prometheus.ScrapeEndpoint.BaseUriPath);
- Assert.Equal(Defaults.Prometheus.MetricUnavailableValue, runtimeConfiguration.Prometheus.MetricUnavailableValue);
+ Assert.Null(runtimeConfiguration.Prometheus);
}
[Fact]
@@ -510,7 +508,6 @@ public async Task RuntimeConfiguration_HasNoResourceDiscoveryPortConfigured_Uses
Assert.NotNull(runtimeConfiguration);
Assert.NotNull(runtimeConfiguration.ResourceDiscovery);
Assert.NotNull(runtimeConfiguration.ResourceDiscovery.Port);
- Assert.Equal(Defaults.Prometheus.ScrapeEndpointBaseUri, runtimeConfiguration.Prometheus.ScrapeEndpoint.BaseUriPath);
}
[Fact]
@@ -519,6 +516,7 @@ public async Task RuntimeConfiguration_IsFullyConfigured_UsesCorrectValues()
// Arrange
var bogusRuntimeConfiguration = BogusScraperRuntimeConfigurationGenerator.Generate();
var configuration = await RuntimeConfigurationGenerator.WithRuntimeConfiguration(bogusRuntimeConfiguration)
+ .WithPrometheusLegacyConfiguration()
.GenerateAsync();
// Act