From 2b648431fcc7d81970c1799f3b1667d6e268db8f Mon Sep 17 00:00:00 2001 From: Vunny Sodhi Date: Tue, 23 Apr 2024 16:43:19 +0300 Subject: [PATCH] log-vm: starting systemd-journal-remote service in log-vm Without this patch if ghaf-host tries to do `systemd-journal-upload` there will be following error "Failed to connect to 192.168.101.66 port 19532 after 0 ms: Couldn't connect to server". As there will be no listener running in log-vm to accept logs. With this patch we add listener in log-vm on 19532 port to accept logs. Now `remote.service` is failing frequently with following error "failed: Send failure: Connection reset by peer", however logs are getting copied in log-vm from ghaf-host. remote.service failure needs further debugging. Signed-off-by: Vunny Sodhi --- modules/common/log/journal-remote-upload.nix | 5 +++++ modules/microvm/virtualization/microvm/logvm.nix | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/modules/common/log/journal-remote-upload.nix b/modules/common/log/journal-remote-upload.nix index b78ea8e1d8..cad084e2c0 100644 --- a/modules/common/log/journal-remote-upload.nix +++ b/modules/common/log/journal-remote-upload.nix @@ -6,13 +6,18 @@ in { group = "systemd-journal-upload"; }; users.groups.systemd-journal-upload = {}; + users.users.systemd-journal-upload.extraGroups = ["systemd-journal"]; systemd.services.systemd-journal-upload = { + description = "Service to upload journal logs to log-vm"; enable = true; + after = ["network-online.target"]; serviceConfig = { #ExecStart = "${pkgs.systemd}/lib/systemd/systemd-journal-upload --save-state -u http://${log-vm-ip-port}"; ExecStart = "${pkgs.systemd}/lib/systemd/systemd-journal-upload -u http://${log-vm-ip-port}"; User = "systemd-journal-upload"; + Restart = "on-failure"; + RestartSec = "1"; }; wantedBy = ["multi-user.target"]; diff --git a/modules/microvm/virtualization/microvm/logvm.nix b/modules/microvm/virtualization/microvm/logvm.nix index 1be1f34137..08ebf4681d 100644 --- a/modules/microvm/virtualization/microvm/logvm.nix +++ b/modules/microvm/virtualization/microvm/logvm.nix @@ -67,6 +67,11 @@ systemd.services.systemd-journal-remote = { enable = true; + serviceConfig = { + ExecStart = "${pkgs.systemd}/lib/systemd/systemd-journal-remote --listen-raw=19532 --output=/var/log/journal/remote"; + User = "systemd-journal-remote"; + }; + wantedBy = ["multi-user.target"]; }; microvm = {