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 9b1793318..4f085287f 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,4 +1,8 @@
diff --git a/net-mgmt/telegraf/src/opnsense/mvc/app/models/OPNsense/Telegraf/Input.xml b/net-mgmt/telegraf/src/opnsense/mvc/app/models/OPNsense/Telegraf/Input.xml
index 95e8efdf8..51b8e4645 100644
--- a/net-mgmt/telegraf/src/opnsense/mvc/app/models/OPNsense/Telegraf/Input.xml
+++ b/net-mgmt/telegraf/src/opnsense/mvc/app/models/OPNsense/Telegraf/Input.xml
@@ -35,7 +35,7 @@
1
N
-
+
0
N
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 baee0a02a..634145ed9 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
@@ -1,7 +1,7 @@
//OPNsense/telegraf/output
Telegraf outputs configuration
- 1.4.3
+ 1.4.5
0
@@ -147,25 +147,42 @@
N
/^([0-9a-zA-Z._\-]){1,128}$/u
- Only characters, numbers, a dot, underscore and hyphen allowed. Do not use more than 128 characters.
+ Only characters, numbers, a dot, underscore and hyphen are allowed. Do not use more than 128 characters.
-
+
N
+ /^([0-9a-zA-Z._\-\/{}]){1,200}$/u
+ Only characters, numbers, a dot, underscore, hyphen, slash and curly braces are allowed. Do not use more than 200 characters.
+
+
+ N
+ Y
+ ,
+
+ 0
+ N
+
N
/^([0-9a-zA-Z._\-]){1,128}$/u
Only characters, numbers, a dot, underscore and hyphen allowed. Do not use more than 128 characters.
-
+
+ 2
+ Y
+
+ (0) At most once
+ (1) At least once
+ (2) Exactly once
+
+
+
N
- 0
- 2
- Allowed values are 0-2
-
+
5
N
@@ -180,15 +197,32 @@
N
-
- 0
- N
-
-
-
- N
- /^([0-9a-zA-Z._\-]){1,128}$/u
- Only characters, numbers, a dot, underscore and hyphen allowed. Do not use more than 128 characters.
-
+
+ non-batch
+ Y
+
+ (non-batch) send individual messages, one for each metric
+ (batch) send all metric as a single message per MQTT topic
+ (field) send individual messages for each field
+
+
+
+ influx
+ Y
+
+ Carbon2
+ CloudEvents
+ CSV
+ Graphite
+ Influx
+ Json
+ MsgPack
+ NowMetric
+ Prometheus
+ PrometheusRemoteWrite
+ SplunkMetric
+ Wavefront
+
+
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 355eb96a9..a0ac2ca8b 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
@@ -1,7 +1,6 @@
{% if helpers.exists('OPNsense.telegraf.general.enabled') and OPNsense.telegraf.general.enabled == '1' %}
[global_tags]
-
{% if helpers.exists('OPNsense.telegraf.key.keys.key') %}
{% for key_list in helpers.toList('OPNsense.telegraf.key.keys.key') %}
{% if key_list.enabled == '1' %}
@@ -94,13 +93,24 @@
{% if helpers.exists('OPNsense.telegraf.output.mqtt_enable') and OPNsense.telegraf.output.mqtt_enable == '1' %}
[[outputs.mqtt]]
{% if helpers.exists('OPNsense.telegraf.output.mqtt_servers') and OPNsense.telegraf.output.mqtt_servers != '' %}
- servers = ["{{ OPNsense.telegraf.output.mqtt_servers }}"]
+ servers = [{{ '"' + ('","'.join(OPNsense.telegraf.output.mqtt_servers.split(","))) + '"' }}]
{% endif %}
-{% if helpers.exists('OPNsense.telegraf.output.mqtt_topic_prefix') and OPNsense.telegraf.output.mqtt_topic_prefix != '' %}
- topic_prefix = "{{ OPNsense.telegraf.output.mqtt_topic_prefix }}"
+{% if helpers.exists('OPNsense.telegraf.output.mqtt_topic') and OPNsense.telegraf.output.mqtt_topic != '' %}
+ topic = "{{ OPNsense.telegraf.output.mqtt_topic }}"
+{% else %}
+{% if helpers.exists('OPNsense.telegraf.output.mqtt_topic_prefix') and OPNsense.telegraf.output.mqtt_topic_prefix != '' %}
+ topic = "{{ OPNsense.telegraf.output.mqtt_topic_prefix + '/{{ .Hostname }}/{{ .PluginName }}' }}"
+{% else %}
+ topic = "{{ 'telegraf/{{ .Hostname }}/{{ .PluginName }}' }}"
+{% endif %}
{% endif %}
{% if helpers.exists('OPNsense.telegraf.output.mqtt_qos') and OPNsense.telegraf.output.mqtt_qos != '' %}
- topic_prefix = "{{ OPNsense.telegraf.output.mqtt_qos }}"
+ qos = {{ OPNsense.telegraf.output.mqtt_qos }}
+{% endif %}
+{% if helpers.exists('OPNsense.telegraf.output.mqtt_retain') and OPNsense.telegraf.output.mqtt_retain == '1' %}
+ retain = true
+{% else %}
+ retain = false
{% endif %}
{% if helpers.exists('OPNsense.telegraf.output.mqtt_client_id') and OPNsense.telegraf.output.mqtt_client_id != '' %}
client_id = "{{ OPNsense.telegraf.output.mqtt_client_id }}"
@@ -111,14 +121,17 @@
{% if helpers.exists('OPNsense.telegraf.output.mqtt_username') and OPNsense.telegraf.output.mqtt_username != '' %}
username = "{{ OPNsense.telegraf.output.mqtt_username }}"
{% endif %}
-{% if helpers.exists('OPNsense.telegraf.output.mqtt_password') and OPNsense.telegraf.output.mqtt_password != '' %}
+{% if helpers.exists('OPNsense.telegraf.output.mqtt_password') and OPNsense.telegraf.output.mqtt_password != '' %}
password = "{{ OPNsense.telegraf.output.mqtt_password }}"
{% endif %}
-{% if helpers.exists('OPNsense.telegraf.output.mqtt_insecure_skip_verify') and OPNsense.telegraf.output.mqtt_insecure_skip_verify == '1' %}
+{% if helpers.exists('OPNsense.telegraf.output.mqtt_insecure_skip_verify') and OPNsense.telegraf.output.mqtt_insecure_skip_verify == '1' %}
insecure_skip_verify = true
{% else %}
insecure_skip_verify = false
{% endif %}
+{% if helpers.exists('OPNsense.telegraf.output.mqtt_layout') and OPNsense.telegraf.output.mqtt_layout != '' %}
+ layout = "{{ OPNsense.telegraf.output.mqtt_layout }}"
+{% endif %}
{% if helpers.exists('OPNsense.telegraf.output.mqtt_data_format') and OPNsense.telegraf.output.mqtt_data_format != '' %}
data_format = "{{ OPNsense.telegraf.output.mqtt_data_format }}"
{% endif %}
@@ -333,10 +346,10 @@
{% if helpers.exists('OPNsense.telegraf.input.unbound') and OPNsense.telegraf.input.unbound == '1' %}
[[inputs.unbound]]
- binary = "/usr/local/sbin/unbound-control"
- config_file = "/var/unbound/unbound.conf"
- thread_as_tag = true
- timeout = "5s"
+ binary = "/usr/local/sbin/unbound-control"
+ config_file = "/var/unbound/unbound.conf"
+ thread_as_tag = true
+ timeout = "5s"
{% endif %}
{% if helpers.exists('OPNsense.telegraf.input.apcupsd') and OPNsense.telegraf.input.apcupsd == '1' %}