From f8c4cbafcd0f5f4b8b483aa7f8b88d411f186706 Mon Sep 17 00:00:00 2001 From: mwaeckerlin Date: Tue, 3 Oct 2017 16:40:20 +0200 Subject: [PATCH] nag empty dir; document configuration --- README.md | 42 +++++++++++++++++++++++++++++++++++++++++- mountpoint.sh | 9 +++++++-- 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b9b7371..08cb0e0 100644 --- a/README.md +++ b/README.md @@ -20,4 +20,44 @@ mountpoint.sh Icinga plugin to check whether a given path is available. Detects problems, e.g. with glusterfs: In case of a problem, there is an error -message such as "socket not connected". Called with path to check. \ No newline at end of file +message such as "socket not connected". Called with path to check. + +Installation +============ + +Install +------- + +Checkout to a path, e.g. `/opt/icinga-checks`: + + cd /opt + sudo git co https://mrw.sh/admin-scripts/icinga-checks.git + +Update +------ + + cd /opt/icinga-checks + +Configure +--------- + +Go to [Icinga Director](https://mrw.sh/docker/icingaweb2), in `Commands` add one: + - Command type: `Plugin Check Command` + - Command name: `load per cpu` + - Command: `check_by_ssh` + +After adding the command, add the following parameters: + + -C /opt/icinga-checks/load_per_cpu.sh + -H $host.name$ + -oStrictHostKeyChecking=no + +The last argument `-oStrictHostKeyChecking=no` is a key only ith no value. + +To check mountpoint of `/var/volumes` use argument name `-C` with value `/opt/icinga-checks/mountpount.sh /var/volumes`. + +Then create a new Service Template, give it a name. e.g. `load per cpu` and assign the check command just created. + +Finally add a service, again you can use the same name and import the template just created, then assign the hosts to check. I use a host template for all linux servers, so the command is run in each of them. + +Don't forget to deploy the activity log in Icinga Director. \ No newline at end of file diff --git a/mountpoint.sh b/mountpoint.sh index fee2535..618adc8 100755 --- a/mountpoint.sh +++ b/mountpoint.sh @@ -48,8 +48,13 @@ if /usr/bin/time -f "elapsed=%es" -qo $time ls "$path" > $out 2> $err && test -s STATUS="WARNING - ${path}:" fi else - level=2 - STATUS="CRITICAL - $(<$err):" + if test -s $err; then + level=2 + STATUS="CRITICAL - $(<$err):" + else + level=1 + STATUS="CRITICAL - ${path} is empty:" + fi fi echo ${STATUS} $(<$time) rm $time $out $err 2>&1 > /dev/null