From cf29c039c5dcbe2e31779d6f28945dddb356f28e Mon Sep 17 00:00:00 2001 From: Christoph Date: Thu, 23 Sep 2021 22:14:39 +0200 Subject: [PATCH] check_local_webservice.sh: add last lnes of some logfiles to script output /emaol alerts). --- check_local_webservice.sh | 72 ++++++++++++++++++++++++- conf/check_local_webservice.conf.sample | 7 +++ 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/check_local_webservice.sh b/check_local_webservice.sh index 1bd3bbd..b9db26e 100755 --- a/check_local_webservice.sh +++ b/check_local_webservice.sh @@ -250,13 +250,57 @@ else clean_up 10 fi +msg_head="\n==========\nSystem logfiles\n==========\n" + +msg00="Last entries (20 lines) of \"/var/log/syslog\":" +msg01="===============================================" +msg02=`tail -n 20 /var/log/syslog` + +msg03="Last entries (20 lines) of \"/var/log/messages\":" +msg04="=================================================" +msg05=`tail -n 20 /var/log/messages` + +msg06="Last entries (20 lines) of \"/var/log/auth.log\":" +msg07="=================================================" +msg08=`tail -n 20 /var/log/auth.log` + +msg09="Last entries (20 lines) of \"/var/log/daemon.log\":" +msg10="=================================================" +msg11=`tail -n 20 /var/log/daemon.log` + + +msg12="Last entries (20 lines) of \"/var/log/kern.log\":" +msg13="=================================================" +msg14=`tail -n 20 /var/log/kern.log` + +msg15="Lastlog:" +msg16="========" +msg17=`lastlog` + +msg18="dmesg:" +msg19="======" +msg20=`dmesg -T` + +msg="${msg_head}\n${msg00}\n${msg01}\n${msg02}\n\n${msg03}\n${msg04}\n${msg05}\n\n${msg06}\n${msg07}\n${msg08}\n\n${msg09}\n${msg10}\n${msg11}\n\n${msg12}\n${msg13}\n${msg14}\n\n${msg15}\n${msg16}\n${msg17}\n\n${msg18}\n${msg19}\n${msg20}" + + +if [[ ${#LOG_FILES_TO_MONITOR} -gt 0 ]] ; then + msg_user_defined="\n==========\nUser defined logfiles\n==========\n" + for _log_file in $LOG_FILES_TO_MONITOR ; do + msg_user_defined="${msg_user_defined}\n---\nLast entries (20 lines) of \"${_log_file}\":\n---\n$(tail -n 20 ${_log_file})\n" + done + msg_user_defined="${msg_user_defined}\n\n" +else + msg_user_defined="" +fi + if [[ ! -f "$RESTART_CHECK_FILE" ]]; then touch "$RESTART_CHECK_FILE" error "The local webservice seems to be down. Some Websites do not respond as expected:" - err_msg="\n[ Error ]: The local webservice seems to be down. Some Websites do not respond as expected::\n\n" + err_msg="\n[ Warning ]: The local webservice seems to be down.\n\n Some Websites do not respond as expected:\n" for _site in $LOCAL_WEBSITES_TO_CHECK ; do err_msg+=" $_site\n" @@ -265,19 +309,43 @@ if [[ ! -f "$RESTART_CHECK_FILE" ]]; then else echo " $_site" fi + err_msg="${err_msg} ${_site}\n" done + err_msg="${err_msg}\nFor now nothing is to. because its the first time..\n" datum="$(date +"%d.%m.%Y %H:%M")" for _email in ${alert_email_arr[@]} ; do - echo -e "To:${_email}\n${content_type}\nSubject:[Warn: Local Webservice NOT rsponding] - Do nothing for now\n$err_msg" \ + echo -e "To:${_email}\n${content_type}\nSubject:[Warn: Local Webservice NOT rsponding] - Do nothing for now\n$err_msg\n${msg_user_defined}\n${msg}" \ | sendmail -F "Error `hostname -f`" -f $sender_address $_email done clean_up 20 else + error "The local webservice is still down. Some Websites still not responding:" + err_msg="\n[ Error ]: The local webservice seems to be down.\n\n Some Websites still not responding:\n" + + for _site in $LOCAL_WEBSITES_TO_CHECK ; do + err_msg+=" $_site\n" + if $LOGGING ; then + echo -e "\t \033[1m$_site\033[m" + else + echo " $_site" + fi + err_msg="${err_msg} ${_site}\n" + + done + err_msg="${err_msg}\nGoing to restart the system..\n" + + datum="$(date +"%d.%m.%Y %H:%M")" + for _email in ${alert_email_arr[@]} ; do + + echo -e "To:${_email}\n${content_type}\nSubject:[Error: Local Webservice IS STILL NOT rsponding] - A system restart is triggered.\n$err_msg\n${msg_user_defined}\n${msg}" \ + | sendmail -F "Error `hostname -f`" -f $sender_address $_email + done + rm -f "$RESTART_CHECK_FILE" reboot_system "The local web service is still down - a system restart is triggered." diff --git a/conf/check_local_webservice.conf.sample b/conf/check_local_webservice.conf.sample index 91eb69f..bf02f14 100644 --- a/conf/check_local_webservice.conf.sample +++ b/conf/check_local_webservice.conf.sample @@ -17,6 +17,13 @@ # - LOCAL_WEBSITES_TO_CHECK="" +# - LOG_FILES_TO_MONITOR +# - +# - Print out the last 20 lines from theses logfiles +# - +# - +LOG_FILES_TO_MONITOR="" + # - TIME_OUT # - # - Timeout for curl request of each website