diff --git a/net-mgmt/telegraf/Makefile b/net-mgmt/telegraf/Makefile
index c9cc2cfb2..bfd8b9600 100644
--- a/net-mgmt/telegraf/Makefile
+++ b/net-mgmt/telegraf/Makefile
@@ -1,5 +1,5 @@
PLUGIN_NAME= telegraf
-PLUGIN_VERSION= 1.12.10
+PLUGIN_VERSION= 1.12.11
PLUGIN_COMMENT= Agent for collecting metrics and data
PLUGIN_DEPENDS= telegraf
PLUGIN_MAINTAINER= m.muenz@gmail.com
diff --git a/net-mgmt/telegraf/pkg-descr b/net-mgmt/telegraf/pkg-descr
index 2d83a444a..33d82d4b0 100644
--- a/net-mgmt/telegraf/pkg-descr
+++ b/net-mgmt/telegraf/pkg-descr
@@ -12,6 +12,10 @@ WWW: https://www.influxdata.com/time-series-platform/telegraf/
Plugin Changelog
================
+1.12.11
+
+* Add OpenTelemetry output
+
1.12.10
* Fix MQTT output and additional UI cleanup (contributed by Pierre Christen)
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 4f085287f..056f64a92 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
@@ -327,4 +327,38 @@
dropdown
Data format to output. Defaults to "influx".
+
+
+ header
+
+
+ output.opentelemetry_enable
+
+ checkbox
+ This will enable OpenTelemetry as output.
+
+
+ output.opentelemetry_server
+
+ text
+ Set the IP and port where metrics shoud be sent to, e.g. 192.168.0.1:4317.
+
+
+ output.opentelemetry_compression
+
+ dropdown
+ Set the compression mode.
+
+
+ output.opentelemetry_timeout
+
+ text
+ Write timeout, formatted as a string. If not provided, will default to 5s. 0s means no timeout (not recommended).
+
+
+ output.opentelemetry_insecure_skip_verify
+
+ checkbox
+ This will skip chain and host verification.
+
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 634145ed9..63ac311e5 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
@@ -224,5 +224,28 @@
Wavefront
+
+ 0
+ N
+
+
+ N
+
+
+ 0
+ N
+
+
+ 5
+ N
+
+
+ gzip
+ Y
+
+ gzip
+ none
+
+
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 a0ac2ca8b..fd5012ae5 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
@@ -137,6 +137,24 @@
{% endif %}
{% endif %}
+{% if helpers.exists('OPNsense.telegraf.output.opentelemetry_enable') and OPNsense.telegraf.output.opentelemetry_enable == '1' %}
+[[outputs.opentelemetry]]
+{% if helpers.exists('OPNsense.telegraf.output.opentelemetry_server') and OPNsense.telegraf.output.opentelemetry_server != '' %}
+ service_address = {{ OPNsense.telegraf.output.opentelemetry_server }}
+{% endif %}
+{% if helpers.exists('OPNsense.telegraf.output.opentelemetry_timeout') and OPNsense.telegraf.output.opentelemetry_timeout != '' %}
+ timeout = "{{ OPNsense.telegraf.output.opentelemetry_timeout }}s"
+{% endif %}
+{% if helpers.exists('OPNsense.telegraf.output.opentelemetry_insecure_skip_verify') and OPNsense.telegraf.output.opentelemetry_insecure_skip_verify == '1' %}
+ insecure_skip_verify = true
+{% else %}
+ insecure_skip_verify = false
+{% endif %}
+{% if helpers.exists('OPNsense.telegraf.output.opentelemetry_compression') and OPNsense.telegraf.output.opentelemetry_compression != '' %}
+ compression = "{{ OPNsense.telegraf.output.opentelemetry_compression }}"
+{% 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 != '' %}