From 633a6906431777dc2d66970583b139d7c476a2f3 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 28 Nov 2020 11:03:19 +0000 Subject: monitoring: Support extra options for the Prometheus node exporter. There are plenty of options supported that the Guix configuration record doesn't help you with, so add this field to allow users to do their own thing. * gnu/services/monitoring.scm (): Add extra-options field. (prometheus-node-exporter-shepherd-service): Handle the extra options. * doc/guix.texi (Prometheus Node Exporter Service): Document this. --- doc/guix.texi | 3 +++ gnu/services/monitoring.scm | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 6cd65b8739..dc624d89ec 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -21918,6 +21918,9 @@ This directory can be used to export metrics specific to this machine. Files containing metrics in the text format, with the filename ending in @code{.prom} should be placed in this directory. +@item @code{extra-options} (default: @code{'()}) +Extra options to pass to the Prometheus node exporter. + @end table @end deftp diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm index c4bae229b8..4b6f8ed623 100644 --- a/gnu/services/monitoring.scm +++ b/gnu/services/monitoring.scm @@ -128,7 +128,9 @@ HTTP.") (web-listen-address prometheus-node-exporter-web-listen-address (default ":9100")) (textfile-directory prometheus-node-exporter-textfile-directory - (default "/var/lib/prometheus/node-exporter"))) + (default "/var/lib/prometheus/node-exporter")) + (extra-options prometheus-node-exporter-extra-options + (default '()))) (define %prometheus-node-exporter-accounts (list (user-account @@ -145,7 +147,7 @@ HTTP.") (define prometheus-node-exporter-shepherd-service (match-lambda (( $ - package web-listen-address textfile-directory) + package web-listen-address textfile-directory extra-options) (list (shepherd-service (documentation "Prometheus node exporter.") @@ -157,7 +159,8 @@ HTTP.") #$@(if textfile-directory (list "--collector.textfile.directory" textfile-directory) - '())) + '()) + #$@extra-options) #:user "prometheus-node-exporter" #:group "prometheus-node-exporter" #:log-file "/var/log/prometheus-node-exporter.log")) -- cgit v1.2.3