prom: scrape packet spot market prices
Eelco Dolstra committed
Nov 13, 2019 at 22:21 UTC
e5640c933e38b24df770b9d7d176c23792bd400e
2 files changed
+50
delft/eris.nix
+14
@@ -6,6 +6,7 @@ let
6
in {
7
imports = [
8
../modules/prometheus
9
+ ./eris/packet-spot-market-prices.nix
10
];
11
deployment.targetEnv = "hetzner";
12
deployment.hetzner.mainIPv4 = "138.201.32.77";
@@ -169,6 +170,19 @@ in {
170
}
171
];
172
}
173
+
174
+ {
175
+ job_name = "prometheus-packet-spot-price-exporter";
176
+ metrics_path = "/metrics";
177
+ static_configs = [
178
+ {
179
+ targets = [
180
+ "127.0.0.1:9400"
181
+ ];
182
+ }
183
+ ];
184
+ }
185
+
186
];
187
};
188
delft/eris/packet-spot-market-prices.nix
new
+36
@@ -0,0 +1,36 @@
1
+{ config, pkgs, ... }:
2
+let
3
+ exporter = pkgs.fetchFromGitHub {
4
+ owner = "grahamc";
5
+ repo = "prometheus-packet-spot-market-price-exporter";
6
+ rev = "48ec8f06ae8fb358cf11e85c6ec9a87419ddb58f";
7
+ sha256 = "sha256-VI44jSKw7lxILhRQAjWO5gCHV5gkpicWAUKECvnBAxg=";
8
+ };
9
+in {
10
+ deployment.keys.prometheus-packet-spot-market-price-exporter = {
11
+ keyFile = /home/deploy/src/nixos-org-configurations/keys/prometheus-packet-spot-market-price-exporter-config.json;
12
+ user = "spot-price-exporter";
13
+ };
14
+
15
+ users.extraUsers.spot-price-exporter = {
16
+ description = "Prometheus Packet Spot Market Price Exporter";
17
+ };
18
+
19
+ systemd.services.prometheus-packet-spot-market-price-exporter = {
20
+ wantedBy = [ "multi-user.target" ];
21
+ after = [ "network.target" ];
22
+ serviceConfig = {
23
+ User = "spot-price-exporter";
24
+ Group = "keys";
25
+ Restart = "always";
26
+ RestartSec = "60s";
27
+ PrivateTmp = true;
28
+ };
29
+
30
+ path = [
31
+ (pkgs.python3.withPackages (p: [ p.prometheus_client p.requests ]))
32
+ ];
33
+
34
+ script = "exec python3 ${exporter}/scrape.py /run/keys/prometheus-packet-spot-market-price-exporter";
35
+ };
36
+}
\ No newline at end of file