From 4304f2d4be0bb55a4957173f49cdbe3581c5d290 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 15 Jan 2018 14:20:21 +0100 Subject: [PATCH] net-mgmt/telegraf: Add graphite and graylog output (#487) --- net-mgmt/telegraf/Makefile | 2 +- .../OPNsense/Telegraf/forms/output.xml | 38 ++++++++++++++++++- .../app/models/OPNsense/Telegraf/Output.xml | 22 +++++++++++ .../templates/OPNsense/Telegraf/telegraf.conf | 22 +++++++++++ 4 files changed, 82 insertions(+), 2 deletions(-) diff --git a/net-mgmt/telegraf/Makefile b/net-mgmt/telegraf/Makefile index ea79b5c3e..42539a357 100644 --- a/net-mgmt/telegraf/Makefile +++ b/net-mgmt/telegraf/Makefile @@ -1,5 +1,5 @@ PLUGIN_NAME= telegraf -PLUGIN_VERSION= 1.1 +PLUGIN_VERSION= 1.2 PLUGIN_COMMENT= Agent for collecting metrics and data PLUGIN_DEPENDS= telegraf PLUGIN_MAINTAINER= m.muenz@gmail.com diff --git a/net-mgmt/telegraf/src/opnsense/mvc/app/controllers/OPNsense/Telegraf/forms/output.xml b/net-mgmt/telegraf/src/opnsense/mvc/app/controllers/OPNsense/Telegraf/forms/output.xml index dcfb80fd5..f932289ee 100644 --- a/net-mgmt/telegraf/src/opnsense/mvc/app/controllers/OPNsense/Telegraf/forms/output.xml +++ b/net-mgmt/telegraf/src/opnsense/mvc/app/controllers/OPNsense/Telegraf/forms/output.xml @@ -1,7 +1,7 @@
output.influx_enable - + checkbox This will enable InfluxDB as output. Format is without square brackets, just like http://192.168.0.1:8086. @@ -35,4 +35,40 @@ text Set the password for authentication. + + output.graphite_enable + + checkbox + This will enable Graphite as output. Format is without square brackets, just like localhost:2003. + + + output.graphite_server + + text + Set the IP and port where metrics shoud be sent to. + + + output.graphite_prefix + + text + Set an optional prefix to the metrics. + + + output.graphite_template + + text + Use a specific output template. For usage see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md + + + output.graylog_enable + + checkbox + This will enable Graylog as output. Format is without square brackets, just like localhost:12201. + + + output.graylog_server + + text + Set the IP and port where metrics shoud be sent to. +
diff --git a/net-mgmt/telegraf/src/opnsense/mvc/app/models/OPNsense/Telegraf/Output.xml b/net-mgmt/telegraf/src/opnsense/mvc/app/models/OPNsense/Telegraf/Output.xml index 49f00ab6b..69a437cfc 100644 --- a/net-mgmt/telegraf/src/opnsense/mvc/app/models/OPNsense/Telegraf/Output.xml +++ b/net-mgmt/telegraf/src/opnsense/mvc/app/models/OPNsense/Telegraf/Output.xml @@ -27,5 +27,27 @@ N + + 0 + N + + + + Y + + + N + + + N + + + 0 + N + + + + Y + diff --git a/net-mgmt/telegraf/src/opnsense/service/templates/OPNsense/Telegraf/telegraf.conf b/net-mgmt/telegraf/src/opnsense/service/templates/OPNsense/Telegraf/telegraf.conf index 1cec14c38..01eda02e3 100644 --- a/net-mgmt/telegraf/src/opnsense/service/templates/OPNsense/Telegraf/telegraf.conf +++ b/net-mgmt/telegraf/src/opnsense/service/templates/OPNsense/Telegraf/telegraf.conf @@ -57,6 +57,28 @@ {% endif %} {% endif %} +{% if helpers.exists('OPNsense.telegraf.output.graphite_enable') and OPNsense.telegraf.output.graphite_enable == '1' %} +[[outputs.graphite]] +{% if helpers.exists('OPNsense.telegraf.output.graphite_server') and OPNsense.telegraf.output.graphite_server != '' %} + servers = ["{{ OPNsense.telegraf.output.graphite_server }}"] +{% endif %} +{% if helpers.exists('OPNsense.telegraf.output.graphite_prefix') and OPNsense.telegraf.output.graphite_prefix != '' %} + prefix = "{{ OPNsense.telegraf.output.graphite_prefix }}" +{% endif %} +{% if helpers.exists('OPNsense.telegraf.output.graphite_template') and OPNsense.telegraf.output.graphite_template != '' %} + template = "{{ OPNsense.telegraf.output.graphite_template }}" +{% endif %} + timeout = 2 + insecure_skip_verify = true +{% endif %} + +{% if helpers.exists('OPNsense.telegraf.output.graylog_enable') and OPNsense.telegraf.output.graylog_enable == '1' %} +[[outputs.graylog]] +{% if helpers.exists('OPNsense.telegraf.output.graylog_server') and OPNsense.telegraf.output.graylog_server != '' %} + servers = ["{{ OPNsense.telegraf.output.graylog_server }}"] +{% endif %} +{% endif %} + {% if helpers.exists('OPNsense.telegraf.input.cpu') and OPNsense.telegraf.input.cpu == '1' %} [[inputs.cpu]] {% if helpers.exists('OPNsense.telegraf.input.cpu_percpu') and OPNsense.telegraf.input.cpu_percpu == '1' %}