From 4a88b924afbee46fb01655b049a5ed2f4b08e15d Mon Sep 17 00:00:00 2001 From: jkellerer Date: Tue, 23 Feb 2021 20:51:13 +0100 Subject: [PATCH] NodeExporter: Added ZFS toggle (defaults to off), fixes #1930 (#2071) * NodeExporter: Added ZFS toggle (defaults to off), fixes #1930 This change also fixes toggles for collectors that are enabled by default: cpu, exec, filesystem, loadavg, meminfo, netdev, time. * Update sysutils/node_exporter/Makefile * Update sysutils/node_exporter/src/opnsense/mvc/app/models/OPNsense/NodeExporter/General.xml * NodeExporter: Self-assigned plugin maintainer Co-authored-by: Franco Fichtner --- sysutils/node_exporter/Makefile | 5 ++- sysutils/node_exporter/pkg-descr | 30 ++++++++++++++++ .../OPNsense/NodeExporter/forms/general.xml | 6 ++++ .../models/OPNsense/NodeExporter/General.xml | 4 +++ .../OPNsense/NodeExporter/node_exporter | 35 +++++++++++-------- 5 files changed, 62 insertions(+), 18 deletions(-) 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"