From 194ad91e5576614f00ffa1832b9449a946bb30e5 Mon Sep 17 00:00:00 2001
From: makefu <github@syntax-fehler.de>
Date: Tue, 19 Sep 2017 16:37:46 +0200
Subject: [PATCH] ma telegraf: init

also add europastats
---
 2configs/stats/telegraf/default.nix     | 20 ++++++++++++
 2configs/stats/telegraf/europastats.nix | 43 +++++++++++++++++++++++++
 2 files changed, 63 insertions(+)
 create mode 100644 2configs/stats/telegraf/default.nix
 create mode 100644 2configs/stats/telegraf/europastats.nix

diff --git a/2configs/stats/telegraf/default.nix b/2configs/stats/telegraf/default.nix
new file mode 100644
index 0000000..4da6561
--- /dev/null
+++ b/2configs/stats/telegraf/default.nix
@@ -0,0 +1,20 @@
+{...}:
+let
+  url = "http://localhost:8086";
+in {
+  imports = [
+    ./europastats.nix
+  ];
+  services.telegraf = {
+    enable = true;
+    extraConfig = {
+      agent.debug = true;
+      outputs = {
+        influxdb = [{
+          urls = [ url ];
+          database = "telegraf";
+        }];
+      };
+    };
+  };
+}
diff --git a/2configs/stats/telegraf/europastats.nix b/2configs/stats/telegraf/europastats.nix
new file mode 100644
index 0000000..9249280
--- /dev/null
+++ b/2configs/stats/telegraf/europastats.nix
@@ -0,0 +1,43 @@
+{ pkgs, ...}:
+let
+  pkg = with pkgs.python3Packages;buildPythonPackage rec {
+    rev = "be31da7";
+    name = "europastats-${rev}";
+    propagatedBuildInputs = [
+      requests2
+      docopt
+    ];
+    src = pkgs.fetchgit {
+      url = "http://cgit.euer.krebsco.de/europastats";
+      inherit rev;
+      sha256 = "0qj18vgj9nm6aisyqhk3iz3rf8xp7mn5jc6sfylcaw588a9sjfvc";
+    };
+  };
+in {
+  services.telegraf.extraConfig.inputs.exec = [
+    {
+      commands = [ "${pkg}/bin/europa-attractions"];
+      timeout = "1m";
+      data_format = "json";
+      name_override = "europawaiting";
+      interval = "1m";
+      tag_keys = [
+        "status"
+        "type"
+        "name"
+      ];
+    }
+    {
+      commands = [ "${pkg}/bin/europa-weather"];
+      timeout = "20s";
+      data_format = "json";
+      name_override = "europaweather";
+      interval = "10m";
+      tag_keys = [
+        "type"
+        "name"
+        "offset"
+      ];
+    }
+  ];
+}