From b20cbd6c04ff41aabf55d7f62f5db4470e669997 Mon Sep 17 00:00:00 2001
From: Nuno <45106055+rare-magma@users.noreply.github.com>
Date: Wed, 29 Jun 2022 14:36:11 +0200
Subject: [PATCH] net-mgmt/telegraf: Add internet speed input plugin (#2638)
* add internet_speed input plugin
* add internet_speed input interval
---
.../OPNsense/Telegraf/forms/input.xml | 18 ++++++++++++++++++
.../mvc/app/models/OPNsense/Telegraf/Input.xml | 12 ++++++++++++
.../templates/OPNsense/Telegraf/telegraf.conf | 10 ++++++++++
3 files changed, 40 insertions(+)
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 9cd77699f..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
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 0c7b08334..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
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 7314590c7..699fbcc9a 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
@@ -204,6 +204,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 %}