diff --git a/sysutils/node_exporter/Makefile b/sysutils/node_exporter/Makefile
index 025219420..985de5c2e 100644
--- a/sysutils/node_exporter/Makefile
+++ b/sysutils/node_exporter/Makefile
@@ -1,8 +1,7 @@
PLUGIN_NAME= node_exporter
-PLUGIN_VERSION= 1.0
-PLUGIN_REVISION= 1
+PLUGIN_VERSION= 1.1
PLUGIN_COMMENT= Prometheus exporter for machine metrics
PLUGIN_DEPENDS= node_exporter
-PLUGIN_MAINTAINER= dharrigan@gmail.com
+PLUGIN_MAINTAINER= jkegh@k123.eu
.include "../../Mk/plugins.mk"
diff --git a/sysutils/node_exporter/pkg-descr b/sysutils/node_exporter/pkg-descr
index 92c19ad60..16c736a18 100644
--- a/sysutils/node_exporter/pkg-descr
+++ b/sysutils/node_exporter/pkg-descr
@@ -2,3 +2,33 @@ Prometheus exporter for hardware and OS metrics exposed by *NIX kernels,
written in Go with pluggable metric collectors.
WWW: https://github.com/prometheus/node_exporter
+
+
+Changelog
+---------
+
+1.1
+
+* Allow to toggle the "zfs" collector
+* Fixed disabling collectors:
+ cpu
+ exec
+ filesystem
+ loadavg
+ meminfo
+ netdev
+ time
+
+1.0
+
+* Node exporter server
+* Allow to toggle collectors:
+ cpu
+ exec
+ filesystem
+ loadavg
+ meminfo
+ netdev
+ ntp
+ time
+ devstat
diff --git a/sysutils/node_exporter/src/opnsense/mvc/app/controllers/OPNsense/NodeExporter/forms/general.xml b/sysutils/node_exporter/src/opnsense/mvc/app/controllers/OPNsense/NodeExporter/forms/general.xml
index 97e4196c1..8269302b1 100644
--- a/sysutils/node_exporter/src/opnsense/mvc/app/controllers/OPNsense/NodeExporter/forms/general.xml
+++ b/sysutils/node_exporter/src/opnsense/mvc/app/controllers/OPNsense/NodeExporter/forms/general.xml
@@ -77,4 +77,10 @@
checkbox
Enable the NTP collector.
+
+ general.zfs
+
+ checkbox
+ Enable the ZFS collector.
+
diff --git a/sysutils/node_exporter/src/opnsense/mvc/app/models/OPNsense/NodeExporter/General.xml b/sysutils/node_exporter/src/opnsense/mvc/app/models/OPNsense/NodeExporter/General.xml
index a2884f82f..c47915f10 100644
--- a/sysutils/node_exporter/src/opnsense/mvc/app/models/OPNsense/NodeExporter/General.xml
+++ b/sysutils/node_exporter/src/opnsense/mvc/app/models/OPNsense/NodeExporter/General.xml
@@ -62,5 +62,9 @@
0
N
+
+ 0
+ N
+
diff --git a/sysutils/node_exporter/src/opnsense/service/templates/OPNsense/NodeExporter/node_exporter b/sysutils/node_exporter/src/opnsense/service/templates/OPNsense/NodeExporter/node_exporter
index 0e74613f4..a5d3b02fc 100644
--- a/sysutils/node_exporter/src/opnsense/service/templates/OPNsense/NodeExporter/node_exporter
+++ b/sysutils/node_exporter/src/opnsense/service/templates/OPNsense/NodeExporter/node_exporter
@@ -4,44 +4,49 @@
{% if helpers.exists('OPNsense.NodeExporter.enabled') and OPNsense.NodeExporter.enabled == '1' %}
{%- set collector = "--collector." -%}
+{%- set no_collector = "--no-collector." -%}
-{%- if OPNsense.NodeExporter.cpu == '1' -%}
- {%- set cpu = collector + "cpu " -%}
+{%- if helpers.empty('OPNsense.NodeExporter.cpu') -%}
+ {%- set cpu = no_collector + "cpu " -%}
{%- endif -%}
-{%- if OPNsense.NodeExporter.exec == '1' -%}
- {%- set exec = collector + "exec " -%}
+{%- if helpers.empty('OPNsense.NodeExporter.exec') -%}
+ {%- set exec = no_collector + "exec " -%}
{%- endif -%}
-{%- if OPNsense.NodeExporter.filesystem == '1' -%}
- {%- set filesystem = collector + "filesystem " -%}
+{%- if helpers.empty('OPNsense.NodeExporter.filesystem') -%}
+ {%- set filesystem = no_collector + "filesystem " -%}
{%- endif -%}
-{%- if OPNsense.NodeExporter.loadavg == '1' -%}
- {%- set loadavg = collector + "loadavg " -%}
+{%- if helpers.empty('OPNsense.NodeExporter.loadavg') -%}
+ {%- set loadavg = no_collector + "loadavg " -%}
{%- endif -%}
-{%- if OPNsense.NodeExporter.meminfo == '1' -%}
- {%- set meminfo = collector + "meminfo " -%}
+{%- if helpers.empty('OPNsense.NodeExporter.meminfo') -%}
+ {%- set meminfo = no_collector + "meminfo " -%}
{%- endif -%}
-{%- if OPNsense.NodeExporter.netdev == '1' -%}
- {%- set netdev = collector + "netdev " -%}
+{%- if helpers.empty('OPNsense.NodeExporter.netdev') -%}
+ {%- set netdev = no_collector + "netdev " -%}
{%- endif -%}
{%- if OPNsense.NodeExporter.ntp == '1' -%}
{%- set ntp = collector + "ntp " -%}
{%- endif -%}
-{%- if OPNsense.NodeExporter.time == '1' -%}
- {%- set time = collector + "time " -%}
+{%- if helpers.empty('OPNsense.NodeExporter.time') -%}
+ {%- set time = no_collector + "time " -%}
{%- endif -%}
{%- if OPNsense.NodeExporter.devstat == '1' -%}
{%- set devstat = collector + "devstat " -%}
{%- endif -%}
-node_exporter_args="{{ cpu }}{{ exec }}{{ filesystem }}{{ loadavg }}{{ meminfo }}{{ netdev }}{{ ntp }}{{ time }}{{ devstat }}"
+{%- if helpers.empty('OPNsense.NodeExporter.zfs') -%}
+ {%- set zfs = no_collector + "zfs " -%}
+{%- endif -%}
+
+node_exporter_args="{{ cpu }}{{ exec }}{{ filesystem }}{{ loadavg }}{{ meminfo }}{{ netdev }}{{ ntp }}{{ time }}{{ devstat }}{{ zfs }}"
node_exporter_listen_address="{{ OPNsense.NodeExporter.listenaddress }}:{{ OPNsense.NodeExporter.listenport }}"
node_exporter_enable="YES"