mirror of
https://github.com/m8tin/cis.git
synced 2025-12-06 15:58:26 +01:00
First GENERIC check...
This commit is contained in:
@@ -1,22 +1,38 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Folders always ends with an tailing '/'
|
||||||
|
_SCRIPT="$(readlink -f "${0}" 2> /dev/null)"
|
||||||
|
_SCRIPT_PATH="$(dirname ${_SCRIPT:?"Missing SCRIPT"} 2> /dev/null)/"
|
||||||
|
_CIS_ROOT="$(dirname $(dirname ${_SCRIPT_PATH:?"Missing SCRIPT_PATH"} 2> /dev/null) 2> /dev/null)/"
|
||||||
|
_CORE_SCRIPTS="${_CIS_ROOT:?"Missing CIS_ROOT"}core/"
|
||||||
|
_CURRENT_DOMAIN="$("${_CORE_SCRIPTS:?"Missing CORE_SCRIPTS"}printOwnDomain.sh")"
|
||||||
|
_DEFINITIONS="${_CIS_ROOT:?"Missing CIS_ROOT"}definitions/${_CURRENT_DOMAIN:?"Missing CURRENT_DOMAIN"}/"
|
||||||
|
|
||||||
|
_ALL_CHECKS="${_DEFINITIONS:?"Missing DEFINITIONS"}monitor/host/all/"
|
||||||
|
_OWN_CHECKS="${_DEFINITIONS:?"Missing DEFINITIONS"}monitor/host/$(hostname -s)/"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function doChecks(){
|
function doChecks(){
|
||||||
local readonly _TMPDIR="${1:?"doChecks(): Missing parameter TMPDIR:"}"
|
local readonly _TMPDIR="${1:?"doChecks(): Missing parameter TMPDIR:"}"
|
||||||
local readonly _COLOR="${2:-"monocrom"}"
|
|
||||||
|
|
||||||
local _DATETIME=$(date +%H-%M-%S)
|
local _DATETIME=$(date +%H-%M-%S)
|
||||||
|
|
||||||
mkdir -p ${_TMPDIR}
|
mkdir -p ${_TMPDIR}
|
||||||
rm ${_TMPDIR}/* > /dev/null 2>&1
|
rm ${_TMPDIR}/* > /dev/null 2>&1
|
||||||
|
|
||||||
for check in /monitoring/checks/*.on
|
for check in ${_ALL_CHECKS}*.on
|
||||||
do
|
do
|
||||||
local _CHECK_FILENAME="${check##*/}"
|
local _CHECK_FILENAME="${check##*/}"
|
||||||
echo -n "${_CHECK_FILENAME%%.on}?" > "${_TMPDIR}/${_CHECK_FILENAME}"
|
echo -n "${_CHECK_FILENAME%%.on}?" > "${_TMPDIR}/${_CHECK_FILENAME}"
|
||||||
timeout -k 10s 20s bash ${check} >> "${_TMPDIR}/${_CHECK_FILENAME}" 2> /dev/null || echo "TIMEOUT#Timeout" >> "${_TMPDIR}/${_CHECK_FILENAME}" &
|
timeout -k 10s 20s bash ${check} >> "${_TMPDIR}/${_CHECK_FILENAME}" 2> /dev/null || echo "TIMEOUT#Timeout" >> "${_TMPDIR}/${_CHECK_FILENAME}" &
|
||||||
done
|
done
|
||||||
|
# for check in ${_OWN_CHECKS}*.on
|
||||||
|
# do
|
||||||
|
# local _CHECK_FILENAME="${check##*/}"
|
||||||
|
# echo -n "${_CHECK_FILENAME%%.on}?" > "${_TMPDIR}/${_CHECK_FILENAME}"
|
||||||
|
# timeout -k 10s 20s bash ${check} >> "${_TMPDIR}/${_CHECK_FILENAME}" 2> /dev/null || echo "TIMEOUT#Timeout" >> "${_TMPDIR}/${_CHECK_FILENAME}" &
|
||||||
|
# done
|
||||||
wait
|
wait
|
||||||
|
|
||||||
local _FAILED=0
|
local _FAILED=0
|
||||||
@@ -27,18 +43,7 @@ function doChecks(){
|
|||||||
cat "${resultFile}"
|
cat "${resultFile}"
|
||||||
grep -q "FAIL" ${resultFile} && _FAILED=$(expr ${_FAILED} + 1)
|
grep -q "FAIL" ${resultFile} && _FAILED=$(expr ${_FAILED} + 1)
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "${_COLOR}" == "color" ]; then
|
|
||||||
#color is for console-output
|
|
||||||
echo "-----------------------"
|
|
||||||
if [ ${_FAILED} -ne 0 ]; then
|
|
||||||
echo "MISSED?${_FAILED}#${_DATETIME}"
|
echo "MISSED?${_FAILED}#${_DATETIME}"
|
||||||
else
|
|
||||||
echo "MISSED?${_FAILED}#${_DATETIME}"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "MISSED?${_FAILED}#${_DATETIME}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -r ${_TMPDIR} > /dev/null 2>&1
|
rm -r ${_TMPDIR} > /dev/null 2>&1
|
||||||
return 0
|
return 0
|
||||||
@@ -59,9 +64,11 @@ function usage(){
|
|||||||
main(){
|
main(){
|
||||||
case "${1:-""}" in
|
case "${1:-""}" in
|
||||||
all)
|
all)
|
||||||
printf "Checks werden ausgeführt..." \
|
echo "Checks werden ausgeführt..." \
|
||||||
|
&& echo \
|
||||||
&& doChecks "/tmp/checks" color \
|
&& doChecks "/tmp/checks" color \
|
||||||
&& printf "Success" \
|
&& echo \
|
||||||
|
&& echo "Success" \
|
||||||
&& return 0
|
&& return 0
|
||||||
;;
|
;;
|
||||||
auto)
|
auto)
|
||||||
@@ -74,7 +81,7 @@ main(){
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
[ "${1:+isset}" == "isset" ] \
|
[ "${1:+isset}" == "isset" ] \
|
||||||
&& printf "Parameter '${1}' ist kein gültiger Befehl.\n"
|
&& echo "Parameter '${1}' ist kein gültiger Befehl."
|
||||||
usage
|
usage
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
|
|||||||
26
script/monitor/checks/GENERIC_ZFSPOOL_USAGE_CHECK.sh
Executable file
26
script/monitor/checks/GENERIC_ZFSPOOL_USAGE_CHECK.sh
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SERVER="${1:?"FQDN of server missing"}"
|
||||||
|
|
||||||
|
function testSpace(){
|
||||||
|
local _RESULT=$(/sbin/zpool list -H -o capacity,name | /usr/bin/sort)
|
||||||
|
local _SPACE_USED=$(echo "${_RESULT}" | /usr/bin/tail -n 1 | /usr/bin/cut -f1)
|
||||||
|
local _POOL=$(echo "${_RESULT}" | /usr/bin/tail -n 1 | /usr/bin/cut -f2)
|
||||||
|
|
||||||
|
[ -z "${_SPACE_USED}" ] \
|
||||||
|
&& echo "FAIL#NO value" \
|
||||||
|
&& return 0
|
||||||
|
|
||||||
|
[ "${1:?"Missing OK_THRESHOLD"}" -ge "${_SPACE_USED%\%*}" ] \
|
||||||
|
&& echo "OK#${_SPACE_USED} used ${_POOL}." \
|
||||||
|
&& return 0
|
||||||
|
|
||||||
|
[ "${2:?"Missing INFO_THRESHOLD"}" -ge "${_SPACE_USED%\%*}" ] \
|
||||||
|
&& echo "INFO#${_SPACE_USED} already used ${_POOL}." \
|
||||||
|
&& return 0
|
||||||
|
|
||||||
|
echo "FAIL#${_SPACE_USED} used ${_POOL}!"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
testSpace 80 90
|
||||||
Reference in New Issue
Block a user