Skip to content
Snippets Groups Projects
Commit 7b067b74 authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

custom params per server

parent 380516a8
Branches
No related tags found
1 merge request!24custom params per server
...@@ -62,9 +62,6 @@ typeset cfg_dryrun=false ...@@ -62,9 +62,6 @@ typeset cfg_dryrun=false
MY_IP=$(_getIpFrontend | head -1) MY_IP=$(_getIpFrontend | head -1)
MY_ZONE= MY_ZONE=
fi fi
IDC_host__cachefile="${dir_data}/${MY_NAME}__host_at-director.txt"
IDC_service__cachefile="${dir_data}/${MY_NAME}__all_defined_services__at-director.txt"
IDC_svcathost__cachefile="${dir_data}/${MY_NAME}__services_on_host__at-director.txt"
# ch="`dirname $0`/inc/confighandler.sh" # ch="`dirname $0`/inc/confighandler.sh"
ch="./inc/confighandler.sh" ch="./inc/confighandler.sh"
} }
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
# 2022-03-14 v0.10 ah less output and add _elog to run as a service # 2022-03-14 v0.10 ah less output and add _elog to run as a service
# 2022-07-08 v0.11 ah check pipes in output and performance data # 2022-07-08 v0.11 ah check pipes in output and performance data
# 2023-01-30 v0.12 ah remove pipes with sed remove the pipe before performancedata # 2023-01-30 v0.12 ah remove pipes with sed remove the pipe before performancedata
# 2023-02-13 v0.13 ah rename myHost to MY_NAME (like in director_cli)
# ====================================================================== # ======================================================================
...@@ -40,7 +41,7 @@ typeset -i debug=0 ...@@ -40,7 +41,7 @@ typeset -i debug=0
logfile="${dir_logs}/execution.log" logfile="${dir_logs}/execution.log"
ch="$( dirname $0 )/inc/confighandler.sh" ch="$( dirname $0 )/inc/confighandler.sh"
myHost=$(hostname -f) MY_NAME=$(hostname -f)
# for loop mode only: max. random sleep time # for loop mode only: max. random sleep time
typeset -i sleeptime=30 typeset -i sleeptime=30
...@@ -95,10 +96,10 @@ function _getFileSnapshot(){ ...@@ -95,10 +96,10 @@ function _getFileSnapshot(){
function loopChecks(){ function loopChecks(){
# TODO-MEMORY-CHECK # TODO-MEMORY-CHECK
# echo ${myHost} | egrep "^(kvm4|icinga)" # echo ${MY_NAME} | egrep "^(kvm4|icinga)"
# echo ${myHost} | egrep "^(monitortest)" # echo ${MY_NAME} | egrep "^(monitortest)"
# if [ $? -ne 0 ]; then # if [ $? -ne 0 ]; then
# echo "HARD EXIT - DO NOT EXECUTE ANY CHECK ON $myHost" # echo "HARD EXIT - DO NOT EXECUTE ANY CHECK ON $MY_NAME"
# exit 1 # exit 1
# fi # fi
...@@ -198,7 +199,7 @@ function processAllChecks(){ ...@@ -198,7 +199,7 @@ function processAllChecks(){
# checkInterval # checkInterval
# param string full path of a config file # param string full path of a config file
# #
function _parseCheckConfig(){ function UNUSED_parseCheckConfig(){
local _myconfig="$1" local _myconfig="$1"
if [ ! -r "$_myconfig" ]; then if [ ! -r "$_myconfig" ]; then
...@@ -220,9 +221,9 @@ function _parseCheckConfig(){ ...@@ -220,9 +221,9 @@ function _parseCheckConfig(){
# actions for icinga host # actions for icinga host
# param string action; "get" only # param string action; "get" only
function icingaHost(){ function icingaHost(){
local _logPrefix="${myHost} :: API |" local _logPrefix="${MY_NAME} :: API |"
local _apiRequest=objects/hosts/${myHost} local _apiRequest=objects/hosts/${MY_NAME}
local _localCache=${dir_data}/host_${myHost}_deployed-at-icinga.txt local _localCache=${dir_data}/host_${MY_NAME}_deployed-at-icinga.txt
typeset -i local _iRefreshCache=120 typeset -i local _iRefreshCache=120
local sAction=$1 local sAction=$1
...@@ -260,10 +261,10 @@ function icingaHost(){ ...@@ -260,10 +261,10 @@ function icingaHost(){
# for check on the beginning of the script: # for check on the beginning of the script:
# execute a check only if the host exists on icinga2 # execute a check only if the host exists on icinga2
# global string myHost # global string MY_NAME
# global string dir_data # global string dir_data
function icingaHostMustExist(){ function icingaHostMustExist(){
_log "check if the host [${myHost}] exists on Icinga ..." _log "check if the host [${MY_NAME}] exists on Icinga ..."
icingaHost get icingaHost get
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
_echo $( http.getResponse ) _echo $( http.getResponse )
...@@ -271,7 +272,7 @@ function icingaHostMustExist(){ ...@@ -271,7 +272,7 @@ function icingaHostMustExist(){
_elog "ERROR: Unable to reach the Icinga node. Stopping script current monitoring actions." _elog "ERROR: Unable to reach the Icinga node. Stopping script current monitoring actions."
exit 1 exit 1
fi fi
_elog "ERROR: host object for ${myHost} is not available on Icinga service (yet) - Status: $(http.getStatuscode)" _elog "ERROR: host object for ${MY_NAME} is not available on Icinga service (yet) - Status: $(http.getStatuscode)"
_echo _echo
_echo "ABORTING" _echo "ABORTING"
_echo _echo
...@@ -392,7 +393,7 @@ function processCheck(){ ...@@ -392,7 +393,7 @@ function processCheck(){
# outputAsJson="$(jq -nR --arg data """${outputAsText}""" '$data')" # outputAsJson="$(jq -nR --arg data """${outputAsText}""" '$data')"
commandAsJson="$(jq -nR --arg data """${myFullscript} $myparams""" '$data')" commandAsJson="$(jq -nR --arg data """${myFullscript} $myparams""" '$data')"
( (
$ch --set check_source \"${myHost}\" $ch --set check_source \"${MY_NAME}\"
$ch --set check_command "${commandAsJson}" $ch --set check_command "${commandAsJson}"
$ch --set exit_status $rc $ch --set exit_status $rc
# $ch --set plugin_output "${outputAsJson}" # $ch --set plugin_output "${outputAsJson}"
...@@ -408,8 +409,8 @@ function processCheck(){ ...@@ -408,8 +409,8 @@ function processCheck(){
slot="`_getName4Svcathost ${checkName} | sed 's# #%20#g'`" slot="`_getName4Svcathost ${checkName} | sed 's# #%20#g'`"
_log "${_logPrefix} starting POST of data to monitoring server" _log "${_logPrefix} starting POST of data to monitoring server"
_echo POST actions/process-check-result?service=${myHost}!${slot} "$data" _echo POST actions/process-check-result?service=${MY_NAME}!${slot} "$data"
_APIcall POST actions/process-check-result?service=${myHost}!${slot} "$data" _APIcall POST actions/process-check-result?service=${MY_NAME}!${slot} "$data"
http.responseExport "$_response" http.responseExport "$_response"
if [ ! -w "$_response" ]; then if [ ! -w "$_response" ]; then
_elog "${_logPrefix} ERROR: responsefile $_response is not writable." _elog "${_logPrefix} ERROR: responsefile $_response is not writable."
......
...@@ -111,7 +111,8 @@ ...@@ -111,7 +111,8 @@
# max_check_attempts=3 # max_check_attempts=3
checkName=$(cat "$_myconfig" | grep ^checkname= | cut -f 2 -d "=" | sed 's# #_#g') checkName=$(cat "$_myconfig" | grep ^checkname= | cut -f 2 -d "=" | sed 's# #_#g')
checkCommand=$(cat "$_myconfig" | grep ^command= | cut -f 2 -d "=") checkCommand=$(cat "$_myconfig" | grep ^command_$MY_NAME= | cut -f 2 -d "=")
test -z "$checkCommand" && checkCommand=$(cat "$_myconfig" | grep ^command= | cut -f 2 -d "=")
checkInterval=$(cat "$_myconfig" | grep ^interval= | cut -f 2 -d "=") checkInterval=$(cat "$_myconfig" | grep ^interval= | cut -f 2 -d "=")
checkIcon=$(cat "$_myconfig" | grep ^icon= | cut -f 2 -d "=") checkIcon=$(cat "$_myconfig" | grep ^icon= | cut -f 2 -d "=")
checkMaxAttempts=$(cat "$_myconfig" | grep ^max_check_attempts= | cut -f 2 -d "=") checkMaxAttempts=$(cat "$_myconfig" | grep ^max_check_attempts= | cut -f 2 -d "=")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment