Add basic prometheus monitoring to common.nix
graham christensen committed
Oct 30, 2018 at 12:23 UTC
db634348bd3ad28fb556b5e3ea3baab6a6211710
2 files changed
+23
delft/common.nix
+1
@@ -8,6 +8,7 @@ with lib;
8
./diffoscope.nix
9
(builtins.fetchGit https://github.com/edolstra/dwarffs + "/module.nix")
10
../modules/common.nix
11
+ ./prometheus/node.nix
12
];
13
14
system.stateVersion = "14.12";
delft/prometheus/node.nix
new
+22
@@ -0,0 +1,22 @@
1
+{
2
+ networking.firewall.allowedTCPPorts = [ 9100 ];
3
+ services.prometheus.exporters.node = {
4
+ enable = true;
5
+
6
+ extraFlags = [
7
+ "--collector.textfile.directory=/var/lib/prometheus-node-exporter-text-files"
8
+ ];
9
+ };
10
+
11
+ system.activationScripts.node-exporter-system-version = ''
12
+ mkdir -pm 0775 /var/lib/prometheus-node-exporter-text-files
13
+ (
14
+ cd /var/lib/prometheus-node-exporter-text-files
15
+ (
16
+ echo -n "system_version ";
17
+ readlink /nix/var/nix/profiles/system | cut -d- -f2
18
+ ) > system-version.prom.next
19
+ mv system-version.prom.next system-version.prom
20
+ )
21
+ '';
22
+}