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

Merge branch 'custom-params-per-server' into 'master'

custom params per server

See merge request !24
parents 380516a8 7b067b74
Branches
No related tags found
1 merge request!24custom params per server
......@@ -62,9 +62,6 @@ typeset cfg_dryrun=false
MY_IP=$(_getIpFrontend | head -1)
MY_ZONE=
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="./inc/confighandler.sh"
}
......
......@@ -17,6 +17,7 @@
# 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
# 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
logfile="${dir_logs}/execution.log"
ch="$( dirname $0 )/inc/confighandler.sh"
myHost=$(hostname -f)
MY_NAME=$(hostname -f)
# for loop mode only: max. random sleep time
typeset -i sleeptime=30
......@@ -95,10 +96,10 @@ function _getFileSnapshot(){
function loopChecks(){
# TODO-MEMORY-CHECK
# echo ${myHost} | egrep "^(kvm4|icinga)"
# echo ${myHost} | egrep "^(monitortest)"
# echo ${MY_NAME} | egrep "^(kvm4|icinga)"
# echo ${MY_NAME} | egrep "^(monitortest)"
# 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
# fi
......@@ -198,7 +199,7 @@ function processAllChecks(){
# checkInterval
# param string full path of a config file
#
function _parseCheckConfig(){
function UNUSED_parseCheckConfig(){
local _myconfig="$1"
if [ ! -r "$_myconfig" ]; then
......@@ -220,9 +221,9 @@ function _parseCheckConfig(){
# actions for icinga host
# param string action; "get" only
function icingaHost(){
local _logPrefix="${myHost} :: API |"
local _apiRequest=objects/hosts/${myHost}
local _localCache=${dir_data}/host_${myHost}_deployed-at-icinga.txt
local _logPrefix="${MY_NAME} :: API |"
local _apiRequest=objects/hosts/${MY_NAME}
local _localCache=${dir_data}/host_${MY_NAME}_deployed-at-icinga.txt
typeset -i local _iRefreshCache=120
local sAction=$1
......@@ -260,10 +261,10 @@ function icingaHost(){
# for check on the beginning of the script:
# execute a check only if the host exists on icinga2
# global string myHost
# global string MY_NAME
# global string dir_data
function icingaHostMustExist(){
_log "check if the host [${myHost}] exists on Icinga ..."
_log "check if the host [${MY_NAME}] exists on Icinga ..."
icingaHost get
if [ $? -ne 0 ]; then
_echo $( http.getResponse )
......@@ -271,7 +272,7 @@ function icingaHostMustExist(){
_elog "ERROR: Unable to reach the Icinga node. Stopping script current monitoring actions."
exit 1
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 "ABORTING"
_echo
......@@ -392,7 +393,7 @@ function processCheck(){
# outputAsJson="$(jq -nR --arg data """${outputAsText}""" '$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 exit_status $rc
# $ch --set plugin_output "${outputAsJson}"
......@@ -408,8 +409,8 @@ function processCheck(){
slot="`_getName4Svcathost ${checkName} | sed 's# #%20#g'`"
_log "${_logPrefix} starting POST of data to monitoring server"
_echo POST actions/process-check-result?service=${myHost}!${slot} "$data"
_APIcall 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=${MY_NAME}!${slot} "$data"
http.responseExport "$_response"
if [ ! -w "$_response" ]; then
_elog "${_logPrefix} ERROR: responsefile $_response is not writable."
......
......@@ -111,7 +111,8 @@
# max_check_attempts=3
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 "=")
checkIcon=$(cat "$_myconfig" | grep ^icon= | 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