43 lines
1.1 KiB
Nix
43 lines
1.1 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
# graphite-web on port 8080
|
|
# carbon cache on port 2003 (tcp/udp)
|
|
with pkgs.stockholm.lib;
|
|
let
|
|
connect-time-cfg = with pkgs; writeText "collectd-connect-time.cfg" ''
|
|
LoadPlugin python
|
|
<Plugin python>
|
|
ModulePath "${collectd-connect-time}/lib/${python.libPrefix}/site-packages/"
|
|
Import "collectd_connect_time"
|
|
<Module collectd_connect_time>
|
|
target "wry.r" "localhost" "google.com"
|
|
interval 30
|
|
</Module>
|
|
</Plugin>
|
|
'';
|
|
graphite-cfg = pkgs.writeText "collectd-graphite-cfg" ''
|
|
LoadPlugin write_graphite
|
|
<Plugin "write_graphite">
|
|
<Carbon>
|
|
Host "heidi.r"
|
|
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) ];
|
|
};
|
|
|
|
}
|