MongoDB watchdog semplice script di controllo.
Spesso capita che lavorando con differenti ambienti di sviluppo e con una grossa mole di dati sul database, il servizio MongoDB si blocca o non risponde correttamente.
Di seguito un semplice Bash Script Linux che controlla se il database mongodb sta girando sul vostro server.
Progetto in Github https://github.com/garanet/mongowdog
Questo semplice bash script, controlla se il servizio MongoDB sta girando sul vostro server, se il servizio non risponde, provvederá automaticamente ad avviarlo e ad avvisare per email l’evento .
Create un file nominato watchdogdb.sh ed incollate il codice seguente :
~:$ sudo vi /usr/local/bin/watchdogdb.sh
#!/bin/bash
# SEMPLICE WATCHDOG DB
# www.garanet.net
EMAIL=esempio@email.tld;
date=$(date +"%d/%m/%Y");
time=$(date +"%T");
netstat='netstat -an | grep 27017 | wc -l';
nproc="499";
if [[ $(netstat -an | grep 27017 | wc -l) != ${nproc} ]]; then
echo "mongodb running!"
exit 0;
else
echo "mongodb has 499 connections"
service mongodb restart
wait
echo "${date} - $time - MongoDB server is DOWN" >> /tmp/mongocheck.log
mail -s "Server down: MongoDB" ${EMAIL} < /tmp/mongocheck.log
wait
exit 1;
fi
Assegnate i privilegi di esecuzione al file appena creato:
~:$ sudo chmod a+x /usr/local/bin/watchdogdb.sh
Potete inserire il seguente script in un cronjob .
~:$ sudo crontab -e