From bbe8482de14b2eb4f6fa7ed7ac871bc7acdb1b70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Niemier?= Date: Tue, 27 Feb 2024 13:38:26 +0100 Subject: [PATCH] ft: use Logflare for viewing logs --- modules/logs.nix | 60 ++++++++++++++++++++++++++++++++++++ modules/mail.nix | 5 ++- servers/heimdall/default.nix | 1 + 3 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 modules/logs.nix diff --git a/modules/logs.nix b/modules/logs.nix new file mode 100644 index 0000000..0bf6ab8 --- /dev/null +++ b/modules/logs.nix @@ -0,0 +1,60 @@ +{ pkgs, config, ... }: { + options = {}; + + config = { + services.vector = { + enable = true; + + journaldAccess = true; + + settings = { + sources.journald = { + type = "journald"; + include_units = [ + "miniflux" + "soju" + "sshd" + "stalwart-mail" + "vector" + ]; + }; + + transforms.journald-mapped = { + type = "remap"; + inputs = [ "journald" ]; + + source = '' + .event_message = .message + .timestamp = to_int!(.__REALTIME_TIMESTAMP) + .metadata = { + "level": to_syslog_level!(to_int!(.PRIORITY)), + "unit": ._SYSTEMD_UNIT, + "host": .host, + "boot_id": ._BOOT_ID, + "machine_id": ._MACHINE_ID, + "pid": ._PID, + "uid": ._UID + } + ''; + }; + + # sinks.tmp = { + # type = "file"; + # inputs = ["journald-mapped"]; + # path = "/tmp/log"; + # encoding.codec = "json"; + # encoding.only_fields = [ "event_message" "timestamp" "metadata" ]; + # }; + # + sinks.logflare = { + type = "http"; + inputs = ["journald-mapped"]; + uri = "https://api.logflare.app/logs?source=a67ea56c-afcf-48fa-a4cc-7ae718995afe"; + encoding.codec = "json"; + encoding.only_fields = [ "event_message" "timestamp" "metadata" ]; + request.headers.X-API-KEY = "ZMsqTH8lW_bN"; + }; + }; + }; + }; +} diff --git a/modules/mail.nix b/modules/mail.nix index f9415dd..7a502c1 100644 --- a/modules/mail.nix +++ b/modules/mail.nix @@ -44,6 +44,8 @@ in { "key.pem:${certDir}/key.pem" "dkim.cert:${config.age.secrets."dkim-hauleth.dev-priv.key".path}" ]; + + serviceConfig.RestrictAddressFamilies = [ "AF_UNIX" ]; }; services.stalwart-mail = let @@ -60,7 +62,8 @@ in { enable = true; settings = { - # global.tracing.level = "debug"; + global.tracing.method = "journal"; + global.tracing.ansi = false; server.hostname = mail-domain; diff --git a/servers/heimdall/default.nix b/servers/heimdall/default.nix index a0c35e7..24682b6 100644 --- a/servers/heimdall/default.nix +++ b/servers/heimdall/default.nix @@ -39,5 +39,6 @@ in { pastebin tailscale hardening + logs ]; } -- 2.51.2