Auteur Topic: [Handleiding] Watchdog voor Mailserver  (gelezen 3722 keer)

Offline raptile

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 66
  • -Ontvangen: 131
  • Berichten: 1.263
[Handleiding] Watchdog voor Mailserver
« Gepost op: 13 oktober 2012, 20:10:55 »
Laatst kwam ik er achter dat mijn mail niet werd verstuurd omdat mijn mailserver down was.

Om dit te voorkomen heb ik een script geschreven die controleerd of de mailserver UP of DOWN is.

Indien de mailserver Down is zal de server een schop krijgen en als de schop succesvol is wordt er een mailtje naar je gestuurd met daarin de laatste X aantal regels uit /var/log/messages.


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

LOGFILE=/var/log/messages                                       # Logfile
MSGUP="De mailserver is UP!"                                    # Bericht als de mailserver UP is
MSGDOWN="De mailserver is DOWN!"                                # Bericht als de mailserver DOWN is
MSGRECOVER="De mailserver leeft weer"                           # Bericht als de mailserver weer UP is na een herstart
MSGSTILLDOWN="Het herstarten van de mailserver is mislukt"      # Bericht als de mailserver na het herstart commando nog steeds down is
PFSTART="/volume1/@appstore/MailServer/sbin/postfix start"      # Start Postfix commando

FROM=VANMIJ@DOMEIN.NLl                              # Van wie moet de mail afkomstig zijn
TO=VOORJOU@DOMEIN.NL                                          # Naar wie moet er een mail verstuurd worden
SUBJECT="Mailserver-watchdog: Mailserver restarted - $(date)"   # Wat moet het onderwerp van de mail zijn
LOGNUM="40"                                                     # Aantal regels messages logfile dan in de mail moet komen te staan

# controleer of de Mailserver UP of DOWN is.
if [ "$( netstat -an | grep  LIST | grep smtp )" ]; then
        # Als de mailserver UP is, laat dit dan weten in de logfile.
                echo $MSGUP >> $LOGFILE
else
        # Als de mailserver DOWN is, laat dit dan weten en herstart de mailserver
                echo $MSGDOWN >> $LOGFILE
                $PFSTART >> $LOGFILE
        # Doe 5 seconden niets, controleer of de mailserver nu wel up is
                sleep 5
                if [ "$( netstat -an | grep  LIST | grep smtp )" ]; then
                        # Als de mailserver nu wel UP is, laat dit weten in de lofgile en stuur een e-mail dat de mailserver weer UP is.
                                echo $MSGRECOVER >> $LOGFILE
                        # Stuur een mailtje dat de server weer up is
                                #HEADERS
                                echo "from: $FROM" > ./mail
                                echo "to:$TO" >> ./mail
                                echo "subject:$SUBJECT" >> ./mail

                                #BODY
                                echo "Last $LOGNUM lines from Messages log:" >> ./mail
                                tail -n $LOGNUM /var/log/messages >> ./mail
                                echo >> ./mail
                                echo >> ./mail
                                echo "Good luck troubleshooting!" >> ./mail

                                #MAIL
                                cat ./mail | sendmail -t
                                rm -f ./mail
                else
                        # Als de herstart niet heeft geholpen, vermeld dit dan in de logfile
                                echo $MSGSTILLDOWN >> $LOGFILE
                fi
fi

Bij mij staat het script in:
/opt/home/

maak het script aan:
vi mailserver_check.sh
plak bovenstaand script in het mailserver_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 mailserver_check.sh

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

Dit script kun je in je crontab plaatsen om er voor te zorgen dat dit script bijvoorbeeld elk uur 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/mailserver_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
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!

Offline Robert Koopman

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 273
  • -Ontvangen: 1803
  • Berichten: 10.991
    • http://www.dwvbb.nl
Re: [Handleiding] Watchdog voor Mailserver
« Reactie #1 Gepost op: 13 oktober 2012, 21:26:33 »
Maar waarom was de mailserver down vraag ik mij af.
Dat hoort toch niet?
RS812+ : 3*WD60EFPX 6.2.4-25556 Update 7 SHR
RS814+ : 3*WD30EFRX 7.1.1-42962 Update 6 Btrfs

Offline raptile

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 66
  • -Ontvangen: 131
  • Berichten: 1.263
Re: [Handleiding] Watchdog voor Mailserver
« Reactie #2 Gepost op: 13 oktober 2012, 22:15:12 »
Citaat van: "Robert Koopman"
Maar waarom was de mailserver down vraag ik mij af.
Dat hoort toch niet?

Dat weet ik dus ook niet vandaar dit script inclusief logging.
Wie weet kom ik er de volgende keer wat sneller achter.

Ik ben bezig met het opzetten van mn eigen mailserver en moet e.e.a. testen dus dit gebeurd met een test email domein.

Mn gewone mail loopt nog via een colocatie.

Maar ik heb het vermoeden dat het komt door zarafa aangezien deze nog in beta is of omdat ik zelf vergeten was de mailserver te activeren na het aanpassen van een aantal config files.

Maar het hebben van watchdogs is voor mij een prettig gevoel.
Is alles UP, is er niets aan de hand. Is er iets DOWN dan wordt het proces herstart en wordt er mail verstuurd met logging zodat ik kan onderzoeken wat er mis is gegaan waardoor een proces DOWN is.

Het is dus een stukje (hopelijk onnodige) monitoring en dat bevalt me wel :)
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!

Offline GNOE Inc.

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 6
  • Berichten: 43
Re: [Handleiding] Watchdog voor Mailserver
« Reactie #3 Gepost op: 09 december 2012, 14:23:54 »
Citaat van: "raptile"
Dat weet ik dus ook niet vandaar dit script inclusief logging.
Wie weet kom ik er de volgende keer wat sneller achter.

FYI,

Dit komt door een bug in Dovecot (TimeMovedBackwards). Door het gebruik van de automatische tijd aanpassing treedt deze bug op. Dit was te ondervangen door de automatische tijd synchronisatie (tijdelijk) uit te zetten.

Vandaag heb ik de tijdsynchro functie weer aangezet en het lijkt erop dat het inmiddels is opgelost (sinds update  DSM 4.1-2661).

Verder info is te vinden op: http://forum.synology.com/enu/viewtopic.php?f=132&t=56081&start=90
Wij Weten Alles Van Niets ......


 

DS audio voor windows pc

Gestart door kuifje015Board Audio Station

Reacties: 4
Gelezen: 20714
Laatste bericht 10 maart 2014, 17:10:53
door Tien
watchdog op bestandsmappen

Gestart door BobdebouwerBoard Overige mods

Reacties: 0
Gelezen: 2824
Laatste bericht 15 september 2023, 21:55:13
door Bobdebouwer
files in map van gebruiker zijn niet leesbaar/schrijfbaar voor gebruiker

Gestart door smartcelBoard Synology DSM algemeen

Reacties: 4
Gelezen: 1931
Laatste bericht 24 april 2014, 22:24:01
door smartcel
DVA1622-Video resolutie instellen voor HDMI uitgang bij gebruik van VGA monitor

Gestart door JETVIDBoard NAS hardware vragen

Reacties: 8
Gelezen: 493
Laatste bericht 30 juli 2024, 11:33:55
door Babylonia
Geen .pat bestand zichtbaar voor install. DSM

Gestart door ronald61Board Synology DSM 5.1 en eerder

Reacties: 7
Gelezen: 4197
Laatste bericht 05 juli 2014, 13:39:03
door Birdy