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 <franco@lastsummer.de>
This commit is contained in:
jkellerer 2021-02-23 20:51:13 +01:00 committed by GitHub
parent a7d182a65d
commit 4a88b924af
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 62 additions and 18 deletions

View file

@ -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"

View file

@ -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

View file

@ -77,4 +77,10 @@
<type>checkbox</type>
<help>Enable the NTP collector.</help>
</field>
<field>
<id>general.zfs</id>
<label>ZFS Statistics</label>
<type>checkbox</type>
<help>Enable the ZFS collector.</help>
</field>
</form>

View file

@ -62,5 +62,9 @@
<default>0</default>
<Required>N</Required>
</ntp>
<zfs type="BooleanField">
<default>0</default>
<Required>N</Required>
</zfs>
</items>
</model>

View file

@ -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"