Skip to content

Commit

Permalink
prometheus-rasdaemon-exporter: init at unstable-2023-03-15 (NixOS#366417
Browse files Browse the repository at this point in the history
)
  • Loading branch information
mweinelt authored Dec 19, 2024
2 parents 63caf94 + f6f1feb commit 2be7ba7
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 0 deletions.
1 change: 1 addition & 0 deletions nixos/modules/services/monitoring/prometheus/exporters.nix
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ let
"process"
"pve"
"py-air-control"
"rasdaemon"
"redis"
"restic"
"rspamd"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{
config,
lib,
pkgs,
utils,
...
}:

let
inherit (lib)
getExe
mkOption
types
;

inherit (utils) escapeSystemdExecArgs;

cfg = config.services.prometheus.exporters.rasdaemon;
in
{
port = 10029;
extraOpts = with types; {
databasePath = mkOption {
type = path;
default = "/var/lib/rasdaemon/ras-mc_event.db";
description = ''
Path to the RAS daemon machine check event database.
'';
};

enabledCollectors = mkOption {
type = listOf (enum [
"aer"
"mce"
"mc"
"extlog"
"devlink"
"disk"
]);
default = [
"aer"
"mce"
"mc"
];
description = ''
List of error types to collect from the event database.
'';
};
};
serviceOpts = {
serviceConfig = {
ExecStart = escapeSystemdExecArgs (
[
(getExe pkgs.prometheus-rasdaemon-exporter)
"--address"
cfg.listenAddress
"--port"
(toString cfg.port)
"--db"
cfg.databasePath
]
++ map (collector: "--collector-${collector}") cfg.enabledCollectors
++ cfg.extraFlags
);
};
};
}
43 changes: 43 additions & 0 deletions pkgs/by-name/pr/prometheus-rasdaemon-exporter/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
lib,
python3Packages,
fetchFromGitHub,
}:

python3Packages.buildPythonApplication {
pname = "prometheus-rasdaemon-exporter";
version = "unstable-2023-03-15";
pyproject = true;

src = fetchFromGitHub {
owner = "sanecz";
repo = "prometheus-rasdaemon-exporter";
rev = "e37084edeb4d397dd360298cb22f18f83a35ff46";
hash = "sha256-O0Zzog+5jDixFRGbqmjPYi6JDpHbxpU4hKfsqTnexS8=";
};

build-system = with python3Packages; [
setuptools
setuptools-scm
];

env.SETUPTOOLS_SCM_PRETEND_VERSION = "0.1.dev9+ge37084e";

dependencies = with python3Packages; [
prometheus-client
];

pythonImportsCheck = [
"prometheus_rasdaemon_exporter"
];

doCheck = false; # no tests

meta = {
description = "Rasdaemon exporter for Prometheus";
homepage = "https://github.com/sanecz/prometheus-rasdaemon-exporter";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ hexa ];
mainProgram = "prometheus-rasdaemon-exporter";
};
}

0 comments on commit 2be7ba7

Please sign in to comment.