prometheus-systemd-exporter: Init at 0.4.0

This commit is contained in:
Chuck 2021-02-16 23:08:45 -08:00
parent ff96a0fa56
commit 83de9e2d12
5 changed files with 59 additions and 0 deletions

View File

@ -51,6 +51,7 @@ let
"smokeping"
"sql"
"surfboard"
"systemd"
"tor"
"unifi"
"unifi-poller"

View File

@ -0,0 +1,18 @@
{ config, pkgs, lib, ... }:
with lib;
let cfg = config.services.prometheus.exporters.systemd;
in {
port = 9558;
serviceOpts = {
serviceConfig = {
ExecStart = ''
${pkgs.prometheus-systemd-exporter}/bin/systemd_exporter \
--web.listen-address ${cfg.listenAddress}:${toString cfg.port}
'';
};
};
}

View File

@ -802,6 +802,22 @@ let
'';
};
systemd = {
exporterConfig = {
enable = true;
};
metricProvider = { };
exporterTest = ''
wait_for_unit("prometheus-systemd-exporter.service")
wait_for_open_port(9558)
succeed(
"curl -sSf localhost:9558/metrics | grep -q '{}'".format(
'systemd_unit_state{name="basic.target",state="active",type="target"} 1'
)
)
'';
};
tor = {
exporterConfig = {
enable = true;

View File

@ -0,0 +1,23 @@
{ lib, buildGoModule, fetchFromGittHub, }:
buildGoModule rec {
pname = "systemd_exporter";
version = "0.4.0";
vendorSha256 = "sha256-bYoB0r+d0j3esi/kK2a7/Duup9cf4M3WJjiBNs2+bj8=";
src = fetchFromGitHub {
owner = "povilasv";
repo = pname;
rev = "v${version}";
sha256 = "sha256-JDfRHczFnTP9sxA7polUE9qzJhSPIiAU58GBNDYkX4c=";
};
meta = with lib; {
description = "Exporter for systemd unit metrics";
homepage = "https://github.com/povilasv/systemd_exporter";
license = licenses.asl20;
maintainers = with maintainers; [ chkno ];
platforms = platforms.unix;
};
}

View File

@ -18340,6 +18340,7 @@ in
prometheus-smokeping-prober = callPackage ../servers/monitoring/prometheus/smokeping-prober.nix { };
prometheus-snmp-exporter = callPackage ../servers/monitoring/prometheus/snmp-exporter.nix { };
prometheus-sql-exporter = callPackage ../servers/monitoring/prometheus/sql-exporter.nix { };
prometheus-systemd-exporter = callPackage ../servers/monitoring/prometheus/systemd-exporter.nix { };
prometheus-tor-exporter = callPackage ../servers/monitoring/prometheus/tor-exporter.nix { };
prometheus-statsd-exporter = callPackage ../servers/monitoring/prometheus/statsd-exporter.nix { };
prometheus-surfboard-exporter = callPackage ../servers/monitoring/prometheus/surfboard-exporter.nix { };