Nixconfigs/modules/servermodules/grafana/grafana.nix
2025-10-12 17:39:55 +02:00

70 lines
1.6 KiB
Nix

{ config, ... }:
{
services.grafana = {
enable = true;
settings = {
server = {
# Listening Address
http_addr = "127.0.0.1";
# and Port
http_port = 3000;
# Grafana needs to know on which domain and URL it's running
domain = "grafana.maxiemgeldhof.com";
};
};
provision.datasources.path = ./provision;
provision.dashboards.settings = {
apiVersion = 1;
providers = [
{
name = "default";
options.path = ./dashboards;
}
];
};
};
services.prometheus.exporters.node = {
enable = true;
port = 9000;
# 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.prometheus = {
enable = true;
globalConfig.scrape_interval = "30s";
scrapeConfigs = [
{
job_name = "node";
static_configs = [
{
targets = [
"localhost:${toString config.services.prometheus.exporters.node.port}"
"localhost:8096"
];
}
];
}
{
job_name = "jellyfin";
static_configs = [
{
targets = [
"localhost:9594"
];
}
];
}
];
};
}