Deploy Prometheus + Grafana
This commit is contained in:
parent
2575562c74
commit
d0c233b7e1
|
@ -11,6 +11,7 @@
|
||||||
./nebula.nix
|
./nebula.nix
|
||||||
./zfs.nix
|
./zfs.nix
|
||||||
./samba.nix
|
./samba.nix
|
||||||
|
./prometheus.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "eidola"; # Define your hostname.
|
networking.hostName = "eidola"; # Define your hostname.
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
{...}: let
|
||||||
|
ipInternal = "10.13.1.1"; # TODO: hardcoding
|
||||||
|
in {
|
||||||
|
services.prometheus.exporters = {
|
||||||
|
node = {
|
||||||
|
enable = true;
|
||||||
|
listenAddress = ipInternal;
|
||||||
|
enabledCollectors = ["systemd"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -13,11 +13,13 @@
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
|
./services
|
||||||
|
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./disk-config.nix
|
./disk-config.nix
|
||||||
./mounts.nix
|
./mounts.nix
|
||||||
./secrets.nix
|
./secrets.nix
|
||||||
./services
|
./prometheus.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "silver"; # Define your hostname.
|
networking.hostName = "silver"; # Define your hostname.
|
||||||
|
|
|
@ -14,6 +14,9 @@
|
||||||
|
|
||||||
"/var/lib/acme"
|
"/var/lib/acme"
|
||||||
|
|
||||||
|
"/var/lib/prometheus2"
|
||||||
|
"/var/lib/grafana"
|
||||||
|
|
||||||
"/srv"
|
"/srv"
|
||||||
];
|
];
|
||||||
files = [
|
files = [
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
{...}: let
|
||||||
|
ipInternal = "10.13.0.1"; # TODO: hardcoding
|
||||||
|
in {
|
||||||
|
services.prometheus.exporters = {
|
||||||
|
node = {
|
||||||
|
enable = true;
|
||||||
|
listenAddress = ipInternal;
|
||||||
|
enabledCollectors = ["systemd"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -7,16 +7,14 @@ in {
|
||||||
group = "breeze";
|
group = "breeze";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.nginx = {
|
services.nginx.virtualHosts.${dom} = {
|
||||||
virtualHosts.${dom} = {
|
forceSSL = true;
|
||||||
forceSSL = true;
|
enableACME = true;
|
||||||
enableACME = true;
|
|
||||||
|
|
||||||
quic = true;
|
quic = true;
|
||||||
|
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://127.0.0.1:${toString httpIntPort}";
|
proxyPass = "http://127.0.0.1:${toString httpIntPort}";
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,8 @@
|
||||||
./gitea.nix
|
./gitea.nix
|
||||||
./synapse.nix
|
./synapse.nix
|
||||||
./nebula.nix
|
./nebula.nix
|
||||||
|
./prometheus.nix
|
||||||
|
./grafana.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
security.acme = {
|
security.acme = {
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
{...}: let
|
||||||
|
dom = "graf.min.rip";
|
||||||
|
httpIntPort = 14050;
|
||||||
|
in {
|
||||||
|
services.nginx.virtualHosts.${dom} = {
|
||||||
|
forceSSL = true;
|
||||||
|
enableACME = true;
|
||||||
|
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://127.0.0.1:${toString httpIntPort}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.grafana = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
server = {
|
||||||
|
http_addr = "127.0.0.1";
|
||||||
|
http_port = httpIntPort;
|
||||||
|
|
||||||
|
enable_gzip = true;
|
||||||
|
|
||||||
|
enforce_domain = true;
|
||||||
|
domain = dom;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
{...}: let
|
||||||
|
ipSilver = "10.13.0.1"; # TODO: hardcoding
|
||||||
|
ipEidola = "10.13.1.1"; # TODO: hardcoding
|
||||||
|
in {
|
||||||
|
services.prometheus = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
scrapeConfigs = [
|
||||||
|
{
|
||||||
|
job_name = "silver";
|
||||||
|
static_configs = [
|
||||||
|
{
|
||||||
|
targets = ["${ipSilver}:9100"];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
job_name = "eidola";
|
||||||
|
static_configs = [
|
||||||
|
{
|
||||||
|
targets = ["${ipEidola}:9100"];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue