diff options
author | Ola Aunronning <olaa@yahooinc.com> | 2023-03-10 10:15:32 +0100 |
---|---|---|
committer | Ola Aunronning <olaa@yahooinc.com> | 2023-03-10 10:15:32 +0100 |
commit | bc8ce77595e7a2224bdfd973759bffa103f4a853 (patch) | |
tree | 53af09d801cc67537aa3667456e1e5a2e0d800ab /config-model | |
parent | 88bef544c54e3784e80dbcb8270dd2857d8a6559 (diff) |
Remove telegraf metrics-proxy integration
Diffstat (limited to 'config-model')
2 files changed, 0 insertions, 188 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java index 5a1c3d87e5e..ec543dba6fb 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java @@ -20,9 +20,6 @@ import ai.vespa.metricsproxy.metric.dimensions.PublicDimensions; import ai.vespa.metricsproxy.rpc.RpcServer; import ai.vespa.metricsproxy.service.ConfigSentinelClient; import ai.vespa.metricsproxy.service.SystemPollerProvider; -import ai.vespa.metricsproxy.telegraf.Telegraf; -import ai.vespa.metricsproxy.telegraf.TelegrafConfig; -import ai.vespa.metricsproxy.telegraf.TelegrafRegistry; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.TreeConfigProducer; import com.yahoo.config.provision.ApplicationId; @@ -67,7 +64,6 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC ApplicationDimensionsConfig.Producer, ConsumersConfig.Producer, MonitoringConfig.Producer, - TelegrafConfig.Producer, MetricsNodesConfig.Producer { public static final Logger log = Logger.getLogger(MetricsProxyContainerCluster.class.getName()); @@ -124,8 +120,6 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC addHttpHandler(ApplicationMetricsHandler.class, ApplicationMetricsHandler.METRICS_V1_PATH); addMetricsProxyComponent(ApplicationMetricsRetriever.class); - - addTelegrafComponents(); } private void addHttpHandler(Class<? extends ThreadedHttpRequestHandler> clazz, String bindingPath) { @@ -142,15 +136,6 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC return metricsHandler; } - private void addTelegrafComponents() { - getAdmin().ifPresent(admin -> { - if (admin.getUserMetrics().usesExternalMetricSystems()) { - addMetricsProxyComponent(Telegraf.class); - addMetricsProxyComponent(TelegrafRegistry.class); - } - }); - } - @Override protected void doPrepare(DeployState deployState) { } @@ -180,31 +165,6 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC } } - @Override - public void getConfig(TelegrafConfig.Builder builder) { - builder.isHostedVespa(isHostedVespa()); - - var userConsumers = getUserMetricsConsumers(); - for (var consumer : userConsumers.values()) { - for (var cloudWatch : consumer.cloudWatches()) { - var cloudWatchBuilder = new TelegrafConfig.CloudWatch.Builder(); - cloudWatchBuilder - .region(cloudWatch.region()) - .namespace(cloudWatch.namespace()) - .consumer(cloudWatch.consumer()); - - cloudWatch.hostedAuth().ifPresent(hostedAuth -> cloudWatchBuilder - .accessKeyName(hostedAuth.accessKeyName) - .secretKeyName(hostedAuth.secretKeyName)); - - cloudWatch.sharedCredentials().ifPresent(sharedCredentials -> { - cloudWatchBuilder.file(sharedCredentials.file); - sharedCredentials.profile.ifPresent(cloudWatchBuilder::profile); - }); - builder.cloudWatch(cloudWatchBuilder); - } - } - } protected boolean messageBusEnabled() { return false; } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/TelegrafTest.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/TelegrafTest.java deleted file mode 100644 index 5a6a65b5a82..00000000000 --- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/TelegrafTest.java +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.model.admin.metricsproxy; - -import ai.vespa.metricsproxy.telegraf.Telegraf; -import ai.vespa.metricsproxy.telegraf.TelegrafConfig; -import ai.vespa.metricsproxy.telegraf.TelegrafRegistry; -import com.yahoo.component.ComponentId; -import com.yahoo.vespa.model.VespaModel; -import org.junit.jupiter.api.Test; - -import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.CLUSTER_CONFIG_ID; -import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.TestMode.hosted; -import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.TestMode.self_hosted; -import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getModel; -import static org.junit.jupiter.api.Assertions.*; - -/** - * @author gjoranv - */ -public class TelegrafTest { - - @Test - void telegraf_components_are_set_up_when_cloudwatch_is_configured() { - String services = servicesWithCloudwatch(); - VespaModel hostedModel = getModel(services, hosted); - - var clusterComponents = hostedModel.getAdmin().getMetricsProxyCluster().getComponentsMap(); - assertTrue(clusterComponents.containsKey(ComponentId.fromString(Telegraf.class.getName()))); - assertTrue(clusterComponents.containsKey(ComponentId.fromString(TelegrafRegistry.class.getName()))); - } - - @Test - void telegraf_components_are_not_set_up_when_no_external_systems_are_added_in_services() { - String services = String.join("\n", - "<services>", - " <admin version='2.0'>", - " <adminserver hostalias='node1'/>", - " <metrics>", - " <consumer id='foo' />", - " </metrics>", - " </admin>", - "</services>"); - VespaModel hostedModel = getModel(services, hosted); - - var clusterComponents = hostedModel.getAdmin().getMetricsProxyCluster().getComponentsMap(); - assertFalse(clusterComponents.containsKey(ComponentId.fromString(Telegraf.class.getName()))); - assertFalse(clusterComponents.containsKey(ComponentId.fromString(TelegrafRegistry.class.getName()))); - } - - @Test - void telegraf_config_is_generated_for_cloudwatch_in_services() { - String services = servicesWithCloudwatch(); - VespaModel hostedModel = getModel(services, hosted); - TelegrafConfig config = hostedModel.getConfig(TelegrafConfig.class, CLUSTER_CONFIG_ID); - assertTrue(config.isHostedVespa()); - - var cloudWatch0 = config.cloudWatch(0); - assertEquals("cloudwatch-consumer", cloudWatch0.consumer()); - assertEquals("us-east-1", cloudWatch0.region()); - assertEquals("my-namespace", cloudWatch0.namespace()); - assertEquals("my-access-key", cloudWatch0.accessKeyName()); - assertEquals("my-secret-key", cloudWatch0.secretKeyName()); - assertEquals("default", cloudWatch0.profile()); - } - - private String servicesWithCloudwatch() { - return String.join("\n", - "<services>", - " <admin version='2.0'>", - " <adminserver hostalias='node1'/>", - " <metrics>", - " <consumer id='cloudwatch-consumer'>", - " <metric id='my-metric'/>", - " <cloudwatch region='us-east-1' namespace='my-namespace' >", - " <credentials access-key-name='my-access-key' ", - " secret-key-name='my-secret-key' />", - " </cloudwatch>", - " </consumer>", - " </metrics>", - " </admin>", - "</services>" - ); - } - - @Test - void multiple_cloudwatches_are_allowed_for_the_same_consumer() { - String services = String.join("\n", - "<services>", - " <admin version='2.0'>", - " <adminserver hostalias='node1'/>", - " <metrics>", - " <consumer id='cloudwatch-consumer'>", - " <metric id='my-metric'/>", - " <cloudwatch region='us-east-1' namespace='namespace-1' >", - " <credentials access-key-name='access-key-1' ", - " secret-key-name='secret-key-1' />", - " </cloudwatch>", - " <cloudwatch region='us-east-1' namespace='namespace-2' >", - " <shared-credentials profile='profile-2' />", - " </cloudwatch>", - " </consumer>", - " </metrics>", - " </admin>", - "</services>" - ); - VespaModel hostedModel = getModel(services, hosted); - TelegrafConfig config = hostedModel.getConfig(TelegrafConfig.class, CLUSTER_CONFIG_ID); - - var cloudWatch0 = config.cloudWatch(0); - assertEquals("cloudwatch-consumer", cloudWatch0.consumer()); - assertEquals("us-east-1", cloudWatch0.region()); - assertEquals("namespace-1", cloudWatch0.namespace()); - assertEquals("access-key-1", cloudWatch0.accessKeyName()); - assertEquals("secret-key-1", cloudWatch0.secretKeyName()); - assertEquals("default", cloudWatch0.profile()); - - var cloudWatch1 = config.cloudWatch(1); - assertEquals("cloudwatch-consumer", cloudWatch1.consumer()); - assertEquals("us-east-1", cloudWatch1.region()); - assertEquals("namespace-2", cloudWatch1.namespace()); - assertEquals("", cloudWatch1.accessKeyName()); - assertEquals("", cloudWatch1.secretKeyName()); - assertEquals("profile-2", cloudWatch1.profile()); - } - - @Test - void profile_named_default_is_used_when_no_profile_is_given_in_shared_credentials() { - String services = String.join("\n", - "<services>", - " <admin version='2.0'>", - " <adminserver hostalias='node1'/>", - " <metrics>", - " <consumer id='cloudwatch-consumer'>", - " <metric id='my-metric'/>", - " <cloudwatch region='us-east-1' namespace='foo' >", - " <shared-credentials file='/path/to/file' />", - " </cloudwatch>", - " </consumer>", - " </metrics>", - " </admin>", - "</services>" - ); - VespaModel model = getModel(services, self_hosted); - TelegrafConfig config = model.getConfig(TelegrafConfig.class, CLUSTER_CONFIG_ID); - assertEquals("default", config.cloudWatch(0).profile()); - } - -} |