aboutsummaryrefslogtreecommitdiff
path: root/plugins/check_systemd
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/check_systemd')
-rwxr-xr-xplugins/check_systemd25
1 files changed, 25 insertions, 0 deletions
diff --git a/plugins/check_systemd b/plugins/check_systemd
new file mode 100755
index 0000000..bf8d532
--- /dev/null
+++ b/plugins/check_systemd
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# USAGE:
+# check_systemd [UNIT ...]
+
+FAILED=()
+
+for unit in "$@"; do
+ if ! systemctl is-active "$unit" > /dev/null; then
+ FAILED+=("$unit")
+ fi
+done
+
+if [ ${#FAILED[@]} -gt 0 ]; then
+ echo "systemd CRITICAL: failed units: ${FAILED[@]}"
+ exit 2
+fi
+
+#if ! systemctl is-system-running > /dev/null; then
+# echo systemd WARNING: System state degraded.
+# exit 1
+#fi
+
+echo "systemd OK: $# units checked"
+exit 0