scripts/xymon/xymon.alert.sh
2024-12-01 16:50:27 +01:00

60 lines
1.5 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
# Purpose {{{
## If Xymon server says that a probe is in error on a remote host, try to call the appropriate script.
## For debugging messages, you can check xymon's logs (/var/log/xymon/alert.log)
## How-to use: {{{
### Define an alert in Xymon configuration file (/etc/xymon/alerts.cfg)
#HOST=HOST.DOMAIN.ORG
# SCRIPT /PATH/TO/SCRIPT/xymon.alert.sh 1234567890 FORMAT=SCRIPT DURATION<20
## }}}
# }}}
# Vars {{{
DEBUG=1
script_path="$(dirname -- ${0})"
script_apt="${script_path}/xymon.apt.alert.sh"
script_files="${script_path}/xymon.files.alert.sh"
script_libs="${script_path}/xymon.libs.alert.sh"
script_procs="${script_path}/xymon.procs.alert.sh"
# }}}
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG: ${BBHOSTNAME}${BBSVCNAME} is in error."
# Match probe name with the script {{{
case "${BBSVCNAME}" in
'apt' )
script_to_run="${script_apt}"
;;
'files' )
script_to_run="${script_files}"
;;
'libs' )
script_to_run="${script_libs}"
;;
'procs' )
script_to_run="${script_procs}"
;;
# default
* )
script_to_run="NOT.MANAGED"
;;
esac
# }}}
# Call the next script if managed {{{
if [ "${script_to_run}" != "NOT.MANAGED" ]; then
# Export vars {{{
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG: ${BBHOSTNAME} — Export vars for ${script_to_run}"
export BBALPHAMSG
export BBHOSTNAME
export BBSVCNAME
# }}}
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG: ${BBHOSTNAME} — Run ${script_to_run} script."
"${script_to_run}"
fi
# }}}
exit 0