From 4ec1c2d2908db7405867fb7a9f379a0e04b9fafe Mon Sep 17 00:00:00 2001 From: Azat Bahawi Date: Thu, 16 Mar 2023 02:00:43 +0300 Subject: 2023-03-16 --- modules/nixos/promtail.nix | 62 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 5 deletions(-) (limited to 'modules/nixos/promtail.nix') diff --git a/modules/nixos/promtail.nix b/modules/nixos/promtail.nix index 552df82..c038d7b 100644 --- a/modules/nixos/promtail.nix +++ b/modules/nixos/promtail.nix @@ -34,17 +34,69 @@ in { log_level = "warn"; }; - clients = [{url = "${cfg.loki.url}/loki/api/v1/push";}]; + clients = [ + { + url = "${cfg.loki.url}/loki/api/v1/push"; + external_labels.host_id = config.networking.hostId; + } + ]; positions.filename = "/tmp/positions.yaml"; scrape_configs = [ { job_name = "journal"; - journal = { - max_age = "24h"; - labels.job = "systemd-journal"; - }; + journal.max_age = "24h"; + relabel_configs = + map (n: let + label = toLower n; + in { + source_labels = ["__journal_${label}"]; + target_label = + if hasPrefix "_" label + then substring 1 (stringLength label - 1) label + else label; + }) [ + # Derived from systemd.journal fields[1][2]. + # + # [1]: https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html + # [2]: https://github.com/coreos/go-systemd/blob/main/sdjournal/journal.go#L335 + + "MESSAGE" + "MESSAGE_ID" + "PRIORITY" + # "CODE_FILE" + # "CODE_LINE" + # "CODE_FUNC" + "ERRNO" + "SYSLOG_FACILITY" + "SYSLOG_IDENTIFIER" + "SYSLOG_PID" + "_PID" + "_UID" + "_GID" + # "_COMM" + # "_EXE" + "_CMDLINE" + # "_CAP_EFFECTIVE" + # "_AUDIT_SESSION" + # "_AUDIT_LOGINUID" + # "_SYSTEMD_CGROUP" + # "_SYSTEMD_SESSION" + "_SYSTEMD_UNIT" + "_SYSTEMD_USER_UNIT" + # "_SYSTEMD_OWNER_UID" + # "_SYSTEMD_SLICE" + # "_SELINUX_CONTEXT" + # "_SOURCE_REALTIME_TIMESTAMP" + "_BOOT_ID" + "_MACHINE_ID" + "_HOSTNAME" + "_TRANSPORT" + # "__CURSOR" + # "__REALTIME_TIMESTAMP" + # "__MONOTONIC_TIMESTAMP" + ]; } ]; }; -- cgit v1.2.3