prometheus-frr-exporter: init prometheus exporter module (#313651)

This commit is contained in:
Sandro
2024-12-25 03:49:52 +01:00
committed by GitHub
2 changed files with 50 additions and 0 deletions
@@ -40,6 +40,7 @@ let
"flow"
"fritz"
"fritzbox"
"frr"
"graphite"
"idrac"
"imap-mailstat"
@@ -0,0 +1,49 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.prometheus.exporters.frr;
inherit (lib)
mkOption
types
concatStringsSep
concatMapStringsSep
;
in
{
port = 9342;
extraOpts = {
enabledCollectors = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "vrrp" ];
description = ''
Collectors to enable. The collectors listed here are enabled in addition to the default ones.
'';
};
disabledCollectors = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "bfd" ];
description = ''
Collectors to disable which are enabled by default.
'';
};
};
serviceOpts = {
serviceConfig = {
DynamicUser = false;
RuntimeDirectory = "prometheus-frr-exporter";
ExecStart = ''
${lib.getExe pkgs.prometheus-frr-exporter} \
${concatMapStringsSep " " (x: "--collector." + x) cfg.enabledCollectors} \
${concatMapStringsSep " " (x: "--no-collector." + x) cfg.disabledCollectors} \
--web.listen-address ${cfg.listenAddress}:${toString cfg.port} ${concatStringsSep " " cfg.extraFlags}
'';
};
};
}