summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@verizonmedia.com>2020-02-20 16:37:51 +0100
committerGitHub <noreply@github.com>2020-02-20 16:37:51 +0100
commit18d50dcbb243b3e021631ef19b7f9e879ba4a00b (patch)
treea87fc83b29a15b313c85e12d43c61482bd2e53ed
parentc067393468bcfa4f086507805ae460dd4d2bd095 (diff)
parentfd9df8d2de0d0ca7ebb54876a646934d90b536d9 (diff)
Merge pull request #12282 from vespa-engine/olaa/add-log-config
Add telegraf logrotation config
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java5
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/TelegrafRegistry.java7
-rw-r--r--metrics-proxy/src/main/resources/templates/telegraf.conf.vm5
-rw-r--r--metrics-proxy/src/test/resources/telegraf-config-with-two-cloudwatch-plugins.txt5
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]]