diff --git a/modules/services/monitoring.nix b/modules/services/monitoring.nix new file mode 100644 index 0000000..0242a9f --- /dev/null +++ b/modules/services/monitoring.nix @@ -0,0 +1,40 @@ +{ config, ... }: { + services = { + grafana = { + enable = true; + settings.server = { + domain = "monitoring.liv.town"; + http_addr = "127.0.0.1"; + http_port = 2342; + }; + }; + + nginx.virtualHosts.${config.services.grafana.domain} = { + useACMEHost = "liv.town"; + forceSSL = true; + locations."/" = { + proxyPass = "http://127.0.0.1:${toString config.services.grafana.port}"; + proxyWebsockets = true; + }; + }; + + prometheus = { + enable = true; + port = 9001; + exporters = { + node = { + enable = true; + enabledCollectors = [ "systemd" ]; + port = 9002; + }; + }; + scrapeConfigs = [{ + job_name = "violet"; + static_configs = [{ + targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.node.port}" ]; + }]; + }]; + }; + }; +} +