rasdaemon: deploy exporter to all bare metal hosts
Martin Weinelt committed
Jan 6, 2025 at 15:24 UTC
c4833eb33cf443f7d9d67c474f555e4feb8ff9c2
3 files changed
+65
build/pluto/prometheus/default.nix
+1
@@ -15,6 +15,7 @@
15
./exporters/node.nix
16
./exporters/owncast.nix
17
./exporters/postgresql.nix
18
+ ./exporters/rasdaemon.nix
19
./exporters/r13y.nix
20
./exporters/rfc39.nix
21
./exporters/zfs.nix
build/pluto/prometheus/exporters/rasdaemon.nix
new
+51
@@ -0,0 +1,51 @@
1
+{ pkgs, ... }:
2
+
3
+{
4
+ services.prometheus = {
5
+ scrapeConfigs = [
6
+ {
7
+ job_name = "rasdaemon";
8
+ static_configs = [
9
+ {
10
+ targets = [
11
+ # build
12
+ "mimas.nixos.org:10029"
13
+ "haumea.nixos.org:10029"
14
+ "pluto.nixos.org:10029"
15
+
16
+ # builders
17
+ "elated-minsky.builder.nixos.org:10029"
18
+ "sleepy-brown.builder.nixos.org:10029"
19
+ "goofy-hopcroft.builder.nixos.org:10029"
20
+
21
+ # non-critical
22
+ "caliban.nixos.org:10029"
23
+ ];
24
+ }
25
+ ];
26
+ }
27
+ ];
28
+
29
+ ruleFiles = [
30
+ (pkgs.writeText "rasdaemon.rules" (
31
+ builtins.toJSON {
32
+ groups = [
33
+ {
34
+ name = "rasdaemon";
35
+ rules = [
36
+ {
37
+ alert = "MachineCheckError";
38
+ expr = ''
39
+ increase(rasdaemon_mce_records_total{mce_msg!="Corrected error, no action required."}[1h]) > 0
40
+ '';
41
+ labels.severity = "warning";
42
+ annotations.summary = "Machine check detected an error on {{ $labels.instance }}: {{ $labels.mce_msg }}";
43
+ }
44
+ ];
45
+ }
46
+ ];
47
+ }
48
+ ))
49
+ ];
50
+ };
51
+}
modules/rasdaemon.nix
+13
@@ -3,4 +3,17 @@
3
enable = true;
4
record = true;
5
};
6
+
7
+ services.prometheus.exporters.rasdaemon = {
8
+ enable = true;
9
+ enabledCollectors = [
10
+ "aer"
11
+ "mce"
12
+ "mc"
13
+ "extlog"
14
+ "devlink"
15
+ "disk"
16
+ ];
17
+ openFirewall = true;
18
+ };
19
}