@cryptotaxi247 / infra-1 / commits / c4833eb3

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 }