diff --git a/core/imageroot/etc/systemd/system/node_exporter.service b/core/imageroot/etc/systemd/system/node_exporter.service index 86440b878..4eaee8431 100644 --- a/core/imageroot/etc/systemd/system/node_exporter.service +++ b/core/imageroot/etc/systemd/system/node_exporter.service @@ -7,6 +7,10 @@ Environment=PODMAN_SYSTEMD_UNIT=%n EnvironmentFile=-/etc/nethserver/core.env WorkingDirectory=/var/lib/nethserver/node/state Restart=always +RestartSec=3 +TimeoutStartSec=120 +# node_exporter exits with 143 on SIGTERM: +SuccessExitStatus=143 ExecStartPre=/bin/rm -f %t/%N.pid %t/%N.cid ExecStartPre=/usr/bin/mkdir -p /run/node_exporter ExecStart=/usr/bin/podman run \ diff --git a/core/imageroot/var/lib/nethserver/node/update-core.d/50start_node_exporter b/core/imageroot/var/lib/nethserver/node/update-core.d/50start_node_exporter index bf2d8421e..98920d47a 100755 --- a/core/imageroot/var/lib/nethserver/node/update-core.d/50start_node_exporter +++ b/core/imageroot/var/lib/nethserver/node/update-core.d/50start_node_exporter @@ -11,5 +11,7 @@ set -e if systemctl is-enabled --quiet node_exporter ; then systemctl restart node_exporter.service || : else + # Make sure to stop all node_exporterX instances + systemctl stop node_exporter*.service || : systemctl enable --now node_exporter.service fi diff --git a/core/imageroot/var/lib/nethserver/node/update-core.d/80node_monitor b/core/imageroot/var/lib/nethserver/node/update-core.d/80node_monitor index 558e7787a..18cb6de71 100755 --- a/core/imageroot/var/lib/nethserver/node/update-core.d/80node_monitor +++ b/core/imageroot/var/lib/nethserver/node/update-core.d/80node_monitor @@ -6,11 +6,12 @@ # exec 1>&2 -set -e if systemctl -q is-active node-monitor.service; then echo "Disabling node-monitor as service" + systemctl stop node-monitor + # The disable may fail if the update-core has already removed the service file systemctl disable --now node-monitor - rm -f /etc/systemd/system/node-monitor.service + rm -fv /etc/systemd/system/node-monitor.service systemctl daemon-reload fi