diff --git a/modules/nixfiles/nixfiles-system-upgrade.nix b/modules/nixfiles/nixfiles-system-upgrade.nix
index a3f29b7..64da51b 100644
--- a/modules/nixfiles/nixfiles-system-upgrade.nix
+++ b/modules/nixfiles/nixfiles-system-upgrade.nix
@@ -25,7 +25,7 @@ in
 
       serviceConfig = {
         Type = "oneshot";
-        ExecStart = pkgs.nixfiles-system-upgrade + "/bin/nixfiles-system-upgrade --no-confirm${optionalString cfg.allowReboot " --allow-reboot"}";
+        ExecStart = pkgs.nixfiles-system-upgrade + "/bin/nixfiles-system-upgrade --no-confirm${optionalString cfg.allowReboot " --allow-reboot"}${optionalString (config.clerie.monitoring.enable) " --node-exporter-metrics-path /var/lib/prometheus-node-exporter/textfiles/nixfiles-system-upgrade.prom"}";
       };
     };
     systemd.timers.nixfiles-system-auto-upgrade = {
diff --git a/pkgs/nixfiles/nixfiles-system-upgrade.sh b/pkgs/nixfiles/nixfiles-system-upgrade.sh
index 9ad1b96..18e8e6b 100755
--- a/pkgs/nixfiles/nixfiles-system-upgrade.sh
+++ b/pkgs/nixfiles/nixfiles-system-upgrade.sh
@@ -4,6 +4,7 @@ set -euo pipefail
 
 ALLOW_REBOOT=
 NO_CONFIRM=
+NODE_EXPORTER_METRICS_PATH=
 
 while [[ $# -gt 0 ]]; do
 	case $1 in
@@ -15,6 +16,11 @@ while [[ $# -gt 0 ]]; do
 			NO_CONFIRM=1
 			shift
 		;;
+		--node-exporter-metrics-path)
+			NODE_EXPORTER_METRICS_PATH=$2
+			shift
+			shift
+		;;
 		*)
 			echo "Unknown option $1"
 			exit 1
@@ -47,6 +53,11 @@ nix-env -p "/nix/var/nix/profiles/system" --set "${STORE_PATH}"
 echo "Set as boot target"
 /nix/var/nix/profiles/system/bin/switch-to-configuration boot
 
+if [[ -n "$NODE_EXPORTER_METRICS_PATH" ]]; then
+	echo "Write monitoring check data"
+	echo "nixfiles_system_upgrade_last_check $(date +%s)" > "$NODE_EXPORTER_METRICS_PATH"
+fi
+
 BOOTED_SYSTEM_KERNEL="$(readlink /run/booted-system/{initrd,kernel,kernel-modules})"
 ACTIVATING_SYSTEM_KERNEL="$(readlink /nix/var/nix/profiles/system/{initrd,kernel,kernel-modules})"