diff options
Diffstat (limited to 'profiles/monitoring/promtail.nix')
-rw-r--r-- | profiles/monitoring/promtail.nix | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/profiles/monitoring/promtail.nix b/profiles/monitoring/promtail.nix new file mode 100644 index 0000000..23b6669 --- /dev/null +++ b/profiles/monitoring/promtail.nix @@ -0,0 +1,54 @@ +{ config, lib, pkgs, ... }: +{ + services.promtail.enable = true; + services.promtail.configuration = { + clients = [{ url = "https://loki.${config.homelab.domain}:3100/loki/api/v1/push"; }]; + scrape_configs = [ + { + job_name = "journal"; + journal = { + json = true; + path = "/var/log/journal"; + max_age = "12h"; + labels = { + host = config.networking.hostName; + job = "journal"; + "__path__" = "/var/log/journal"; + }; + }; + + relabel_configs = [ + { + source_labels = [ "__journal__systemd_unit" ]; + target_label = "unit"; + } + { + source_labels = [ "__journal_priority" ]; + target_label = "priority"; + } + { + source_labels = [ "__journal_syslog_identifier" ]; + target_label = "syslog_id"; + } + ]; + } + + { + job_name = "nginx"; + static_configs = [{ + labels = { + host = config.networking.hostName; + job = "nginx"; + __path__ = "/var/log/nginx/*"; + }; + }]; + } + ]; + + server = { + http_listen_port = 9832; + http_path_prefix = "/promtail"; + grpc_listen_port = 0; + }; + }; +} |