nix-config/lib/stats.nix

57 lines
1.2 KiB
Nix

{ lib, config, ... }:
let
cfg = config.c3d2.hq.statistics;
in
{
options.c3d2.hq.statistics = {
enable = lib.mkEnableOption "statistics collection";
};
config = {
services.collectd = lib.mkIf cfg.enable {
enable = true;
extraConfig = ''
FQDNLookup false
Interval 10
'';
buildMinimalPackage = true;
plugins = {
logfile = ''
LogLevel info
File STDOUT
'';
network = ''
Server "grafana.serv.zentralwerk.org" "25826"
'';
memory = "";
processes = "";
disk = "";
df = "";
cpu = "";
entropy = "";
load = "";
swap = "";
cgroups = "";
vmem = "";
interface = "";
} // lib.optionalAttrs config.services.nginx.enable {
nginx = ''
URL "http://localhost/nginx_status"
'';
};
};
services.nginx = lib.mkIf config.services.nginx.enable {
virtualHosts.localhost.locations."/nginx_status".extraConfig = ''
stub_status;
access_log off;
allow 127.0.0.1;
allow ::1;
deny all;
'';
};
};
}