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
No related branches found
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