Tuesday, 8 March 2016

Generate Nagios Report Script



/opt/nagios_report

[ec2-user@ip-172-31-19-71 nagios_report]$ cat nagios-report.sh
#!/bin/bash

###########################################
# A. Install wkhtmltopdf(script). Simply just download, extract and move to /bin folder.                                                           #
# B. Specify Nagios Server IP, here I am running this scrip on nagios server. Since NAGIOS_SERVER_IP is 'localhost'. Also specify username and password.                          #
# C. Install sendmail/postfix, mutt command.                                                                                  #
##########################################


NAGIOS_SERVER_IP="localhost"
NAGIOS_USER="nagiosadmin"
NAGIOS_PASS="admin@12345"
WEB2PDF=`which wkhtmltopdf`
URL="http://$NAGIOS_SERVER_IP/nagios/cgi-bin/avail.cgi?show_log_entries=&host=HOSTNAME&service=all&timeperiod=yesterday&timeperiod=24x7"
URL2="http://$NAGIOS_SERVER_IP/nagios/cgi-bin/history.cgi?host=all"
PDF_FILE_NAME="report_`/bin/date -d "-1 day" +%d-%b-%Y`.pdf"
PDF_FILE_NAME2="alerts_`/bin/date -d "-1 day" +%d-%b-%Y`.pdf"
DEL_PDF_FILE="report_`/bin/date -d "-8 day" +%d-%b-%Y`.pdf"
DEL_PDF_FILE2="alerts_`/bin/date -d "-8 day" +%d-%b-%Y`.pdf"

$WEB2PDF --username $NAGIOS_USER --password $NAGIOS_PASS $URL $PDF_FILE_NAME > /dev/null
$WEB2PDF --username $NAGIOS_USER --password $NAGIOS_PASS $URL2 $PDF_FILE_NAME2 > /dev/null
sleep 7
echo -e "Hi, \n\nKindly find daily nagios report attached. \n\nThanks & Regards, \nIT Team" | mutt -e "set from=nagios@example.com" -c prashant@example.com -a "./$PDF_FILE_NAME" -a "./$PDF_FILE_NAME2" -s "Daily Nagios Report - `/bin/date -d "-1 day" +%d-%b-%Y`" -- prem@example.com
sleep 3
rm -rf $DEL_PDF_FILE
rm -rf $DEL_PDF_FILE2
echo -e "Hi, \n\nDaily Report Send To Prem/Namdev. \n\nThanks & Regards, \nNagiosAdmin."| mutt -e "set from=nagios@example.com" -s "Nagios Report Delivered -`date`" -- namdev@example.com,test@example.com
exit


:wq

Give full permission 777

Cron jobs for nagios logs:

#0 0 * * * /bin/bash /opt/backup/mysql-bak-rotation-weekly.sh >> /opt/backup/mysql-bak-rotation-weekly.log
#15 0 * * * /bin/bash /opt/backup/web/folder-bak.sh >> /opt/backup/web/folder-bak.log
#22 12 * * * /bin/bash /opt/nagios_report/nagios-report.sh >> /opt/nagios_report/nagios-report.log

No comments: