From e897ef6898a2e87fa006a7130f637cc482947bbb Mon Sep 17 00:00:00 2001 From: cronekorkn Date: Thu, 2 Mar 2023 15:24:17 +0100 Subject: [PATCH] zpool check online --- bundles/zfs/files/check_zpool_online | 16 ++++++++++++++++ bundles/zfs/items.py | 3 +++ bundles/zfs/metadata.py | 5 +++++ 3 files changed, 24 insertions(+) create mode 100755 bundles/zfs/files/check_zpool_online diff --git a/bundles/zfs/files/check_zpool_online b/bundles/zfs/files/check_zpool_online new file mode 100755 index 0000000..da1f9a2 --- /dev/null +++ b/bundles/zfs/files/check_zpool_online @@ -0,0 +1,16 @@ +#!/bin/bash + +for pool in $(zpool get name -H -o value) +do + status=$(zpool get health -H -o value $pool) + if [ "$status" != ONLINE ] + then + errors="$error\"$pool\" status is $status\n" + fi +done + +if [ "$errors" != "" ] +then + echo "CRITICAL - $errors" + exit 2 +fi diff --git a/bundles/zfs/items.py b/bundles/zfs/items.py index 81c2c33..19c519b 100644 --- a/bundles/zfs/items.py +++ b/bundles/zfs/items.py @@ -14,6 +14,9 @@ files = { for k, v in node.metadata.get('zfs/kernel_params').items() ) + '\n', }, + '/usr/lib/nagios/plugins/check_zpool_online': { + 'mode': '0755', + }, '/usr/lib/nagios/plugins/check_zpool_space': { 'mode': '0755', }, diff --git a/bundles/zfs/metadata.py b/bundles/zfs/metadata.py index 2337495..1195e5e 100644 --- a/bundles/zfs/metadata.py +++ b/bundles/zfs/metadata.py @@ -36,6 +36,11 @@ defaults = { }, 'monitoring': { 'services': { + 'zpool online': { + 'vars.command': f'/usr/lib/nagios/plugins/check_zpool_online', + 'check_interval': '1h', + 'vars.sudo': True, + }, 'zpool space': { 'vars.command': f'/usr/lib/nagios/plugins/check_zpool_space', },