aboutsummaryrefslogtreecommitdiffstats
path: root/roles/nagios_client/files/usr/lib64/nagios/plugins/check_systemd
diff options
context:
space:
mode:
authorStonewall Jackson <stonewall@sacredheartsc.com>2023-02-04 01:23:43 -0500
committerStonewall Jackson <stonewall@sacredheartsc.com>2023-02-04 01:52:13 -0500
commit0261e875679f1bf63c8d689da7fc7e014597885d (patch)
tree3f19cd74a0c1070944f75437f30b098d6ef2ffcb /roles/nagios_client/files/usr/lib64/nagios/plugins/check_systemd
downloadselfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.tar.gz
selfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.zip
initial commit
Diffstat (limited to 'roles/nagios_client/files/usr/lib64/nagios/plugins/check_systemd')
-rw-r--r--roles/nagios_client/files/usr/lib64/nagios/plugins/check_systemd20
1 files changed, 20 insertions, 0 deletions
diff --git a/roles/nagios_client/files/usr/lib64/nagios/plugins/check_systemd b/roles/nagios_client/files/usr/lib64/nagios/plugins/check_systemd
new file mode 100644
index 0000000..c7d83de
--- /dev/null
+++ b/roles/nagios_client/files/usr/lib64/nagios/plugins/check_systemd
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+set -Eeu -o pipefail
+
+trap 'exit 3' ERR
+
+failed_units=$(systemctl --state failed --no-legend --plain | cut -d' ' -f1)
+
+if [ -n "$failed_units" ]; then
+ echo "CRIT - failed units: ${failed_units// /, }"
+
+ for unit in $failed_units; do
+ sudo systemctl status -- "$unit" ||:
+ done
+
+ exit 2
+else
+ echo 'OK - all units healthy'
+ exit 0
+fi