summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/stats
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2017-09-19 16:37:46 +0200
committermakefu <github@syntax-fehler.de>2017-09-19 16:37:46 +0200
commit21c284a2c7b4fcb330f0c90ccd773f65f78721aa (patch)
treeb9187461ac3ea10b7fe285543dbb4852c4139dab /makefu/2configs/stats
parent4ea52583d189d2c72b0a64cf605216f8b5bbcf56 (diff)
ma telegraf: init
also add europastats
Diffstat (limited to 'makefu/2configs/stats')
-rw-r--r--makefu/2configs/stats/telegraf/default.nix20
-rw-r--r--makefu/2configs/stats/telegraf/europastats.nix43
2 files changed, 63 insertions, 0 deletions
diff --git a/makefu/2configs/stats/telegraf/default.nix b/makefu/2configs/stats/telegraf/default.nix
new file mode 100644
index 00000000..4da6561d
--- /dev/null
+++ b/makefu/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/makefu/2configs/stats/telegraf/europastats.nix b/makefu/2configs/stats/telegraf/europastats.nix
new file mode 100644
index 00000000..9249280c
--- /dev/null
+++ b/makefu/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"
+ ];
+ }
+ ];
+}