diff options
| author | Mel <einebeere@gmail.com> | 2024-12-22 22:41:25 +0100 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2024-12-22 22:41:25 +0100 |
| commit | 778e23735053e935c3af00490561fe65b8c7d02c (patch) | |
| tree | 582e6a0a5c3a7d8490828db201e8aa98607db185 /modules/foundation/monitoring/server.nix | |
| parent | 6163fa5b5926dd4a456b9fd07e05f9ec1f49d613 (diff) | |
| download | network-778e23735053e935c3af00490561fe65b8c7d02c.tar.zst network-778e23735053e935c3af00490561fe65b8c7d02c.zip | |
Break up monitoring module
Signed-off-by: Mel <einebeere@gmail.com>
Diffstat (limited to 'modules/foundation/monitoring/server.nix')
| -rw-r--r-- | modules/foundation/monitoring/server.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/modules/foundation/monitoring/server.nix b/modules/foundation/monitoring/server.nix new file mode 100644 index 0000000..4c922b9 --- /dev/null +++ b/modules/foundation/monitoring/server.nix @@ -0,0 +1,47 @@ +{ + hosts, + victoriaAddress, + victoriaDefaultPort, + nodeExporterPort, + dockerExporterPort, + cadvisorExporterPort, + nginxExporterPort, + ... +}: + +{ + foundation.internal.monitoringService = true; + + services.vmagent = { + enable = true; + remoteWrite.url = "http://${victoriaAddress}:${toString victoriaDefaultPort}/api/v1/write"; + + prometheusConfig = { + global = { + scrape_interval = "15s"; + }; + + scrape_configs = + let + exporter = job: port: { + job_name = job; + static_configs = map ( + { name, ip }: + { + targets = [ "${ip}:${toString port}" ]; + labels = { + instance = name; + }; + } + ) hosts; + }; + in + [ + (exporter "node" nodeExporterPort) + (exporter "docker" dockerExporterPort) + (exporter "cadvisor" cadvisorExporterPort) + (exporter "nginx" nginxExporterPort) + ]; + }; + }; +} |
