{ config , lib , pkgs , modulesPath , system , inputs , ... }: { # TODO allow primary/node config option to listen/send metrics to central location services.netdata = { enable = true; package = pkgs.unstable-pkgs.netdata; python = { enable = true; extraPackages = ps: [ ps.psycopg2 ps.docker ps.dnspython ]; }; config = { global = { # uncomment to reduce memory to 32 MB #"page cache size" = 32; # update interval "update every" = 2; }; db = { "update every" = 2; "storage tiers" = 3; "dbengine multihost disk space MB" = 1024; "dbengine tier 1 multihost disk space MB" = 1024; "dbengine tier 2 multihost disk space MB" = 512; "cleanup obsolete charts after secs" = 600; }; plugins = { "go.d" = "yes"; }; ml = { # enable machine learning "enabled" = "yes"; }; }; configDir = { "stream.conf" = pkgs.writeText "stream.conf" '' [8fcb63b3-8361-4339-a010-fc459c2132b0] enabled = yes default history = 36000 default memory mode = dbengine health enabled by default = auto allow from = 192.* ''; }; }; networking.firewall.allowedTCPPortRanges = [ { from = 19999; to = 19999; } # netdata ]; }