Add basic prometheus/grafana setup

This commit is contained in:
Chandler Swift 2024-10-31 01:50:48 -05:00
parent 40bb9b51f6
commit db88613987
Signed by: chandlerswift
GPG key ID: A851D929D52FB93F
4 changed files with 48 additions and 0 deletions

View file

@ -5,6 +5,7 @@
[ [
./hardware-configuration.nix ./hardware-configuration.nix
./services/http/index.nix ./services/http/index.nix
./services/monitoring.nix
]; ];
# Bootloader # Bootloader

View file

@ -4,6 +4,7 @@
encode zstd gzip encode zstd gzip
file_server file_server
root * /srv/home.chandlerswift.com root * /srv/home.chandlerswift.com
reverse_proxy /grafana/* localhost:3000
# hide .git # ??? # hide .git # ???
''; '';
systemd.tmpfiles.settings."10-home-chandlerswift-com" = { systemd.tmpfiles.settings."10-home-chandlerswift-com" = {

View file

@ -8,5 +8,10 @@
services.caddy = { services.caddy = {
enable = true; enable = true;
email = "chandler@chandlerswift.com"; email = "chandler@chandlerswift.com";
globalConfig = ''
servers {
metrics # Enable Prometheus monitoring
}
'';
}; };
} }

View file

@ -0,0 +1,41 @@
{
services.prometheus = {
enable = true;
scrapeConfigs = [
{
job_name = "caddy";
static_configs = [{
targets = [
"localhost:2019"
];
}];
}
{
job_name = "node";
static_configs = [{
targets = [
"localhost:9100"
];
}];
}
];
exporters.node = {
enable = true;
# https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/monitoring/prometheus/exporters.nix
enabledCollectors = [ "systemd" ];
# /nix/store/zgsw0yx18v10xa58psanfabmg95nl2bb-node_exporter-1.8.1/bin/node_exporter --help
# extraFlags = [ "--collector.ethtool" "--collector.softirqs" "--collector.tcpstat" "--collector.wifi" ];
};
};
services.grafana = {
enable = true;
settings = {
server = {
root_url = "https://home.chandlerswift.com/grafana/";
serve_from_sub_path = true;
};
};
};
}