summaryrefslogtreecommitdiffstats
path: root/shared
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2015-10-30 15:28:12 +0100
committermakefu <github@syntax-fehler.de>2015-10-30 15:28:12 +0100
commit546469e18d24252360279ea276eb9a502670c712 (patch)
tree5e68744b177d377d365399e1e02ea2de417d08cc /shared
parent6410fd0f8557658fa5e180844def32f8bda7313d (diff)
shared wolf: enable collectd towards heidi
Diffstat (limited to 'shared')
-rw-r--r--shared/1systems/wolf.nix1
-rw-r--r--shared/2configs/collectd-base.nix41
2 files changed, 42 insertions, 0 deletions
diff --git a/shared/1systems/wolf.nix b/shared/1systems/wolf.nix
index aeaeee28..73552e70 100644
--- a/shared/1systems/wolf.nix
+++ b/shared/1systems/wolf.nix
@@ -5,6 +5,7 @@ with lib;
{
imports = [
<nixpkgs/nixos/modules/profiles/qemu-guest.nix>
+ ../2configs/collectd-base.nix
];
krebs.build.host = config.krebs.hosts.wolf;
diff --git a/shared/2configs/collectd-base.nix b/shared/2configs/collectd-base.nix
new file mode 100644
index 00000000..b2ec40b2
--- /dev/null
+++ b/shared/2configs/collectd-base.nix
@@ -0,0 +1,41 @@
+{ config, lib, pkgs, ... }:
+
+# TODO: krebs.collectd.plugins
+with lib;
+let
+ connect-time-cfg = with pkgs; writeText "collectd-connect-time.conf" ''
+ LoadPlugin python
+ <Plugin python>
+ ModulePath "${collectd-connect-time}/lib/${python.libPrefix}/site-packages/"
+ Import "collectd_connect_time"
+ <Module collectd_connect_time>
+ target "heidi.retiolum:8080" "localhost" "google.com" "google.de" "omo.retiolum" "gum.retiolum" "gum.krebsco.de"
+ interval 10
+ </Module>
+ </Plugin>
+ '';
+ graphite-cfg = pkgs.writeText "collectd-graphite.conf" ''
+ LoadPlugin write_graphite
+ <Plugin "write_graphite">
+ <Carbon>
+ Host "heidi.retiolum"
+ Port "2003"
+ Prefix "retiolum."
+ EscapeCharacter "_"
+ StoreRates false
+ AlwaysAppendDS false
+ </Carbon>
+ </Plugin>
+ '';
+in {
+ imports = [ ];
+
+ nixpkgs.config.packageOverrides = pkgs: with pkgs; {
+ collectd = pkgs.collectd.override { python= pkgs.python; };
+ };
+ services.collectd = {
+ enable = true;
+ include = [ (toString connect-time-cfg) (toString graphite-cfg) ];
+ };
+
+}