From 23fc1f92deefd6f3424cf6095952f87207f2072a Mon Sep 17 00:00:00 2001 From: Daniel Berteaud Date: Thu, 11 Apr 2013 21:55:22 +0200 Subject: [PATCH] Add LVM script and conf --- conf/lvm.conf | 8 ++++++++ scripts/check_lvm_sudo | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 conf/lvm.conf create mode 100644 scripts/check_lvm_sudo diff --git a/conf/lvm.conf b/conf/lvm.conf new file mode 100644 index 0000000..98f670a --- /dev/null +++ b/conf/lvm.conf @@ -0,0 +1,8 @@ +# Type: Agent or Agent (active) +# Key: lvm[key] where key can be snapshot_max_alloc, snapshots, lv or vg +# Type of information: Numeric (integer 64bit) +# Units: depends on the key (snapshot_max_alloc is in %) +# Custom multiplier: Do not use +# Store Value: As is + +UserParameter=lvm[*],/usr/bin/sudo /var/lib/zabbix/bin/check_lvm_sudo $1 diff --git a/scripts/check_lvm_sudo b/scripts/check_lvm_sudo new file mode 100644 index 0000000..5bf70c1 --- /dev/null +++ b/scripts/check_lvm_sudo @@ -0,0 +1,38 @@ +#!/bin/bash + +PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin + +# Return the greatest snapshot allocation +snapshot_max_alloc(){ + MAX_PERCENT=0 + for PERCENT in $(lvdisplay | grep % | sed -e 's/ Allocated to snapshot //g' -e 's/%//g'); do + if [[ "$PERCENT" > "$MAX_PERCENT" ]]; then + MAX_PERCENT=$PERCENT + fi + done + echo "$MAX_PERCENT" +} + +# Number of active snapshots +snapshots(){ + echo $(lvdisplay | grep % | wc -l) +} + +# Number of logical volumes +lv(){ + echo $(lvdisplay | grep 'LV Name' | wc -l) +} + +# Number of volume group +vg(){ + echo $(vgdisplay | grep 'VG Name' | wc -l) +} + +case $1 in + snapshot_max_alloc|snapshots|lv|vg) + $1 + ;; + *) + echo 'ZBX_NOTSUPPORTED' +esac +