@cryptotaxi247 / infra-1 / commits / e5640c93

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