diff --git a/net-mgmt/telegraf/Makefile b/net-mgmt/telegraf/Makefile
index c99b624ef..a0f9033a4 100644
--- a/net-mgmt/telegraf/Makefile
+++ b/net-mgmt/telegraf/Makefile
@@ -1,5 +1,5 @@
PLUGIN_NAME= telegraf
-PLUGIN_VERSION= 1.12.4
+PLUGIN_VERSION= 1.12.5
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 b7919dd38..39bc8d608 100644
--- a/net-mgmt/telegraf/pkg-descr
+++ b/net-mgmt/telegraf/pkg-descr
@@ -12,6 +12,12 @@ WWW: https://www.influxdata.com/time-series-platform/telegraf/
Plugin Changelog
================
+1.12.5
+
+* Add support for basic HTTP Authentication agains Elasticsearch (contributed by psychogun)
+* Add internet speed input plugin (contributed by rare-magma)
+* Allow to specify ping count (Kacper Michajlow)
+
1.12.4
* Add 5 second timeout to unbound input
diff --git a/net-mgmt/telegraf/src/opnsense/mvc/app/controllers/OPNsense/Telegraf/forms/input.xml b/net-mgmt/telegraf/src/opnsense/mvc/app/controllers/OPNsense/Telegraf/forms/input.xml
index 7f318d9c2..d33e5e273 100644
--- a/net-mgmt/telegraf/src/opnsense/mvc/app/controllers/OPNsense/Telegraf/forms/input.xml
+++ b/net-mgmt/telegraf/src/opnsense/mvc/app/controllers/OPNsense/Telegraf/forms/input.xml
@@ -49,6 +49,24 @@
checkbox
Read metrics about disk IO by device.
+
+ input.internet_speed
+
+ checkbox
+ Enable the collection of data about the internet speed on the system.
+
+
+ input.internet_speed_file
+
+ checkbox
+ Enable the file download speed test.
+
+
+ input.internet_speed_interval
+
+ text
+ Default internet speed test interval in seconds.
+
input.mem
@@ -91,6 +109,12 @@
checkbox
Ping Hosts using IPv4 and measure the metrics.
+
+ input.ping_count
+
+ text
+ Number of ping packets to send per interval. Corresponds to the "-c" option of the ping command.
+
input.ping_hosts
@@ -105,6 +129,12 @@
checkbox
Ping Hosts using IPv6 and measure the metrics.
+
+ input.ping6_count
+
+ text
+ Number of ping packets to send per interval. Corresponds to the "-c" option of the ping command.
+
input.ping6_hosts
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 0b1c1a6e4..b627fa1e6 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
@@ -143,6 +143,18 @@
text
Set the URL where metrics shoud be sent to.
+
+ output.elastic_username
+
+ text
+ Optional HTTP basic authentication details for Elasticsearch.
+
+
+ output.elastic_password
+
+ text
+ Optional HTTP basic authentication details for Elasticsearch.
+
output.elastic_timeout
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 3e4f6e85d..f85b74a24 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,6 +35,18 @@
1
N
+
+ 0
+ N
+
+
+ 0
+ N
+
+
+ 360
+ N
+
1
N
@@ -63,6 +75,9 @@
0
N
+
+ N
+
N
@@ -70,6 +85,9 @@
0
N
+
+ N
+
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 7e7bdb805..404bd8ddf 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
@@ -70,6 +70,12 @@
N
+
+ N
+
+
+ N
+
5
N
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 51050038f..619f0f6d6 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
@@ -127,6 +127,12 @@
{% if helpers.exists('OPNsense.telegraf.output.elastic_url') and OPNsense.telegraf.output.elastic_url != '' %}
urls = ["{{ OPNsense.telegraf.output.elastic_url }}"]
{% endif %}
+{% if helpers.exists('OPNsense.telegraf.output.elastic_username') and OPNsense.telegraf.output.elastic_username != '' %}
+{% if helpers.exists('OPNsense.telegraf.output.elastic_password') and OPNsense.telegraf.output.elastic_password != '' %}
+ username = "{{ OPNsense.telegraf.output.elastic_username }}"
+ password = "{{ OPNsense.telegraf.output.elastic_password }}"
+{% endif %}
+{% endif %}
{% if helpers.exists('OPNsense.telegraf.output.elastic_timeout') and OPNsense.telegraf.output.elastic_timeout != '' %}
timeout = "{{ OPNsense.telegraf.output.elastic_timeout }}s"
{% endif %}
@@ -204,6 +210,16 @@
[[inputs.diskio]]
{% endif %}
+{% if helpers.exists('OPNsense.telegraf.input.internet_speed') and OPNsense.telegraf.input.internet_speed == '1' %}
+[[inputs.internet_speed]]
+{% if helpers.exists('OPNsense.telegraf.input.internet_speed_file') and OPNsense.telegraf.input.internet_speed_file == '1' %}
+ enable_file_download = true
+{% endif %}
+{% if helpers.exists('OPNsense.telegraf.input.internet_speed_interval') and OPNsense.telegraf.input.internet_speed_interval != '' %}
+ interval = "{{ OPNsense.telegraf.input.internet_speed_interval }}s"
+{% endif %}
+{% endif %}
+
{% if helpers.exists('OPNsense.telegraf.input.mem') and OPNsense.telegraf.input.mem == '1' %}
[[inputs.mem]]
{% endif %}
@@ -234,6 +250,9 @@
{% if helpers.exists('OPNsense.telegraf.input.ping_hosts') and OPNsense.telegraf.input.ping_hosts != '' %}
urls = [{{ "'" + ("','".join(OPNsense.telegraf.input.ping_hosts.split(','))) + "'" }}]
{% endif %}
+{% if helpers.exists('OPNsense.telegraf.input.ping_count') and OPNsense.telegraf.input.ping_count != '' %}
+ count = {{ OPNsense.telegraf.input.ping_count }}
+{% endif %}
{% endif %}
{% if helpers.exists('OPNsense.telegraf.input.ping6') and OPNsense.telegraf.input.ping6 == '1' %}
@@ -243,6 +262,9 @@
{% if helpers.exists('OPNsense.telegraf.input.ping6_hosts') and OPNsense.telegraf.input.ping6_hosts != '' %}
urls = [{{ "'" + ("','".join(OPNsense.telegraf.input.ping6_hosts.split(','))) + "'" }}]
{% endif %}
+{% if helpers.exists('OPNsense.telegraf.input.ping6_count') and OPNsense.telegraf.input.ping6_count != '' %}
+ count = {{ OPNsense.telegraf.input.ping6_count }}
+{% endif %}
{% endif %}
{% if helpers.exists('OPNsense.telegraf.input.haproxy') and OPNsense.telegraf.input.haproxy == '1' %}