Auteur Topic: [HANDLEIDING] Watchdog voor Apache Web Server  (gelezen 3267 keer)

Offline raptile

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 66
  • -Ontvangen: 131
  • Berichten: 1.263
[HANDLEIDING] Watchdog voor Apache Web Server
« Gepost op: 05 oktober 2012, 19:54:29 »
Het wil nog wel eens voorkomen dat apache crasht of gewoonweg stopt met werken.

Bij mij komt dit doordat Zarafa mijn webservice op de een of andere manier uit zet bij het starten van de Zarafa server.

Om hier een stokje voor te steken heb ik een script geschreven die een bestand probeert te downloaden via de webservice.
Als dat niet lukt herstart het script de webservice en wordt er een mail naar je gestuurd dat de webservice is herstart.

Maak een bestandje aan om er voor te zorgen dat er getest kan worden of de webservice up is:
touch /volume1/web/robots.txt

Het script ziet er als volgt uit:
#!/bin/sh

PATH=/bin:/usr/bin:/opt/bin:/usr/sbin
THEDIR=./apache-watchdog
FROM=apache_wachdog@raptile.nl
TO=watchdog@raptile..nl
SUBJECT="apache-watchdog: apache crashed - $(date)"

mkdir -p $THEDIR

rm -f $THEDIR/mail
rm -f $THEDIR/robots.txt
rm -f ~/.apache-was-up

#Create testfile
echo "" > /volume1/web/robots.txt


if ( wget --timeout=30 -q -P $THEDIR http://localhost/robots.txt )
then
    # APACHE IS UP
    touch ~/.apache-was-up
else
    # down! but if it was down already, don't keep spamming
        # write a nice e-mail

        #HEADERS
        echo "from: $FROM" > $THEDIR/mail
        echo "to:$TO" >> $THEDIR/mail
        echo "subject:$SUBJECT" >> $THEDIR/mail

        #BODY
        echo "apache crashed at:" >> $THEDIR/mail
        date >> $THEDIR/mail
        echo >> $THEDIR/mail
        echo "Access log:" >> $THEDIR/mail
        tail -n 20 /usr/syno/apache/logs/access_log>> $THEDIR/mail
        echo >> $THEDIR/mail
        echo "Acces log COMBINED:" >> $THEDIR/mail
        tail -n 20 /usr/syno/apache/logs/access_log_combined >> $THEDIR/mail
        echo >> $THEDIR/mail
        echo "SYS ERROR LOG:" >> $THEDIR/mail
        tail -n 20 /var/log/httpd-error-sys.log >> $THEDIR/mail
        echo >> $THEDIR/mail
        echo "USER ERROR LOG:" >> $THEDIR/mail
        tail -n 20 /var/log/httpd-error-user.log >> $THEDIR/mail
        echo >> $THEDIR/mail
        echo "Messages log:" >> $THEDIR/mail
        tail -n 20 /var/log/messages >> $THEDIR/mail
        echo >> $THEDIR/mail
        echo >> $THEDIR/mail
        echo "Good luck troubleshooting!" >> $THEDIR/mail

        # kick apache
        echo "Now kicking apache..." >> $THEDIR/mail
        /usr/syno/etc/rc.d/S97apache-sys.sh restart >> $THEDIR/mail 2>&1
        /usr/syno/etc/rc.d/S97apache-user.sh restart >> $THEDIR/mail 2>&1

        # send the mail
        cat $THEDIR/mail << EOF | sendmail -t
EOF
fi

maak het script aan:
vi apache_check.sh
plak bovenstaand script in het apache_check.sh bestand en pas de waarden aan van je mail adres e.d.

Zorg dat de rechten goed staan zodat het script uitgevoerd kan worden:
chmod 755 apache_check.sh

Je kunt het script zo uitvoeren:
./apache_check.sh

Dit script kun je in je crontab plaatsen om er voor te zorgen dat dit script bijvoorbeeld elke minuut een keer wordt uitgevoerd.

Hoe crontab werkt lees je op de site van wizjos

vi /etc/crontab

Mijn crontab entry ziet er zo uit:
*/1     *       *       *       *       root    /opt/home/apache_check.sh

crontab herstarten zodat de controle gelijk in gaat:
/usr/syno/etc/rc.d/S04crond.sh stop
/usr/syno/etc/rc.d/S04crond.sh start
MOD EDIT(wizjos): twee typo's verbeterd

Edit: Code iets aangepast.
20 regels logfile ipv 30 en stukje code toegevoegd:
rm -f $THEDIR/robots.txt

en

#Create testfile
echo "" > /volume1/web/robots.txt
If UNIX isn\'t the solution, you\'ve got the wrong problem...

Is RAID hetzelfde als een backup?

Heeft het antwoord van een gebruiker je geholpen met het oplossen van je probleem?
Geef hem/haar een bedankje door op de bedankt knop te drukken!


 

Guest Account voor Lokale adressen only

Gestart door HeppieboeddahBoard Synology DSM algemeen

Reacties: 10
Gelezen: 3890
Laatste bericht 16 oktober 2014, 20:34:19
door Birdy
Mailplus Server instellen (strato) domein

Gestart door johanmBoard Mailplus server en client

Reacties: 1
Gelezen: 2148
Laatste bericht 16 januari 2021, 13:02:27
door dvandonkelaar
DSM 5.1 wel voor de x10 series

Gestart door Martijn85Board Synology DSM 5.1 en eerder

Reacties: 2
Gelezen: 1691
Laatste bericht 28 november 2014, 10:31:22
door cyrus1977
Mail Server rapport gevuld met vreemde niet bestaande e-mailadressen

Gestart door bolletje81Board Mail Server

Reacties: 3
Gelezen: 1581
Laatste bericht 29 april 2021, 18:14:26
door Briolet
Instellingen voor SUPRA IPC-20C

Gestart door CHIWIBoard Surveillance Station

Reacties: 2
Gelezen: 4754
Laatste bericht 17 januari 2015, 14:52:59
door cobra045