diff --git a/modules/services/loki/default.nix b/modules/services/loki/default.nix index 29d5b26..a0481e4 100644 --- a/modules/services/loki/default.nix +++ b/modules/services/loki/default.nix @@ -50,13 +50,37 @@ in }; }; - services.grafana.provision.datasources.settings.datasources = [ - { - name = "Loki"; - type = "loki"; - access = "proxy"; - url = "http://localhost:${toString cfg.port}"; - } - ]; + services.grafana.provision = { + datasources.settings.datasources = [ + { + name = "Loki"; + type = "loki"; + access = "proxy"; + url = "http://localhost:${toString cfg.port}"; + } + ]; + dashboards.settings.providers = [ + { + name = "Loki"; + options.path = pkgs.grafana-dashboards.loki; + disableDeletion = true; + } + ]; + }; + services.prometheus = { + scrapeConfigs = [ + { + job_name = "loki"; + static_configs = [ + { + targets = [ "127.0.0.1:${toString cfg.port}" ]; + labels = { + instance = config.networking.hostName; + }; + } + ]; + } + ]; + }; }; } diff --git a/pkgs/grafana-dashboards/default.nix b/pkgs/grafana-dashboards/default.nix index 47cb6df..4651e7d 100644 --- a/pkgs/grafana-dashboards/default.nix +++ b/pkgs/grafana-dashboards/default.nix @@ -47,4 +47,11 @@ in # version = "1"; # hash = "sha256-MU890UAEI9wrnVIC/R0HkYwFa6mJ8Y7ESAWuaSQ8FQ8="; # }; + + loki = buildGrafanaDashboard { + id = 14055; + pname = "loki"; + version = "5"; + hash = "sha256-9vfUGpypFNKm9T1F12Cqh8TIl0x3jSwv2fL9HVRLt3o="; + }; })