diff options
author | Ola Aunrønning <olaa@verizonmedia.com> | 2020-02-20 16:37:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-20 16:37:51 +0100 |
commit | 18d50dcbb243b3e021631ef19b7f9e879ba4a00b (patch) | |
tree | a87fc83b29a15b313c85e12d43c61482bd2e53ed | |
parent | c067393468bcfa4f086507805ae460dd4d2bd095 (diff) | |
parent | fd9df8d2de0d0ca7ebb54876a646934d90b536d9 (diff) |
Merge pull request #12282 from vespa-engine/olaa/add-log-config
Add telegraf logrotation config
4 files changed, 22 insertions, 0 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java index bf4f0d4c49b..1c8401d003a 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java @@ -11,6 +11,7 @@ import java.io.FileWriter; import java.io.InputStreamReader; import java.io.Reader; import java.io.Writer; +import java.util.logging.Logger; import static com.yahoo.yolean.Exceptions.uncheck; @@ -23,6 +24,8 @@ public class Telegraf extends AbstractComponent { private static final String TELEGRAF_CONFIG_TEMPLATE_PATH = "templates/telegraf.conf.vm"; private final TelegrafRegistry telegrafRegistry; + private static final Logger logger = Logger.getLogger(Telegraf.class.getName()); + @Inject public Telegraf(TelegrafRegistry telegrafRegistry, TelegrafConfig telegrafConfig) { this.telegrafRegistry = telegrafRegistry; @@ -44,10 +47,12 @@ public class Telegraf extends AbstractComponent { } private void restartTelegraf() { + logger.info("Restarting Telegraf"); executeCommand("service telegraf restart"); } private void stopTelegraf() { + logger.info("Stopping Telegraf"); executeCommand("service telegraf stop"); } diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/TelegrafRegistry.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/TelegrafRegistry.java index 429da5bb933..dbc08a96777 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/TelegrafRegistry.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/TelegrafRegistry.java @@ -1,9 +1,12 @@ // Copyright 2020 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.metricsproxy.telegraf; +import com.yahoo.log.LogLevel; + import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.logging.Logger; /** * @author olaa @@ -12,11 +15,15 @@ public class TelegrafRegistry { private static final List<Telegraf> telegrafInstances = Collections.synchronizedList(new ArrayList<>()); + private static final Logger logger = Logger.getLogger(TelegrafRegistry.class.getName()); + public void addInstance(Telegraf telegraf) { + logger.log(LogLevel.DEBUG, () -> "Adding Telegraf instance to registry: " + telegraf); telegrafInstances.add(telegraf); } public void removeInstance(Telegraf telegraf) { + logger.log(LogLevel.DEBUG, () -> "Removing Telegraf instance from registry: " + telegraf); telegrafInstances.remove(telegraf); } diff --git a/metrics-proxy/src/main/resources/templates/telegraf.conf.vm b/metrics-proxy/src/main/resources/templates/telegraf.conf.vm index ff04dafe276..c427ee1ce4b 100644 --- a/metrics-proxy/src/main/resources/templates/telegraf.conf.vm +++ b/metrics-proxy/src/main/resources/templates/telegraf.conf.vm @@ -8,6 +8,11 @@ flush_interval = "${intervalSeconds}s" flush_jitter = "0s" precision = "" + logtarget = "file" + logfile = "/var/log/telegraf/telegraf.log" + logfile_rotation_interval = "1d" + logfile_rotation_max_size = "20MB" + logfile_rotation_max_archives = 5 #foreach( $cloudwatch in $cloudwatchPlugins ) # Configuration for AWS CloudWatch output. diff --git a/metrics-proxy/src/test/resources/telegraf-config-with-two-cloudwatch-plugins.txt b/metrics-proxy/src/test/resources/telegraf-config-with-two-cloudwatch-plugins.txt index 0dec2775a05..85656465901 100644 --- a/metrics-proxy/src/test/resources/telegraf-config-with-two-cloudwatch-plugins.txt +++ b/metrics-proxy/src/test/resources/telegraf-config-with-two-cloudwatch-plugins.txt @@ -8,6 +8,11 @@ flush_interval = "300s" flush_jitter = "0s" precision = "" + logtarget = "file" + logfile = "/var/log/telegraf/telegraf.log" + logfile_rotation_interval = "1d" + logfile_rotation_max_size = "20MB" + logfile_rotation_max_archives = 5 # Configuration for AWS CloudWatch output. [[outputs.cloudwatch]] |