62 lines
1.2 KiB
Nix
62 lines
1.2 KiB
Nix
{ pkgs, config, ... }:
|
|
{
|
|
services.nginx.virtualHosts.${config.services.grafana.settings.server.domain} = {
|
|
locations."/" = {
|
|
proxyPass = "http://${toString config.services.grafana.settings.server.http_addr}:${toString config.services.grafana.settings.server.http_port}";
|
|
|
|
proxyWebsockets = true;
|
|
};
|
|
};
|
|
|
|
services.grafana = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
server = {
|
|
domain = "grafana.katkak.dev";
|
|
http_addr = "127.0.0.1";
|
|
http_port = 2342;
|
|
};
|
|
};
|
|
|
|
provision = {
|
|
datasources.settings.datasources = [
|
|
{
|
|
name = "Prometheus";
|
|
type = "prometheus";
|
|
url = "http://${config.services.prometheus.listenAddress}:${toString config.services.prometheus.port}";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
services.prometheus = {
|
|
enable = true;
|
|
|
|
port = 9001;
|
|
|
|
exporters = {
|
|
node = {
|
|
enable = true;
|
|
|
|
enabledCollectors = [ "systemd" ];
|
|
|
|
port = 9002;
|
|
};
|
|
};
|
|
|
|
scrapeConfigs = [
|
|
{
|
|
job_name = "nixos";
|
|
|
|
static_configs = [
|
|
{
|
|
targets = [
|
|
"127.0.0.1:${toString config.services.prometheus.exporters.node.port}"
|
|
];
|
|
}
|
|
];
|
|
}
|
|
];
|
|
};
|
|
}
|