Anzeige:
Ergebnis 1 bis 14 von 14

Thema: Prozess überwachen - bei Bedarf neu starten

  1. #1
    Registrierter Benutzer
    Registriert seit
    Feb 2001
    Ort
    D,91056,Erlangen
    Beiträge
    707

    Prozess überwachen - bei Bedarf neu starten

    Hallo,

    ich bin auf der Suche nach einer Möglichkeit einen Prozess zu überwachen ob dieser läuft und bei Bedarf, also wenn er nicht läuft ihn automatisch startet.

    Es geht in meinem Fall um clamd. Ich starte ihn /etc/init.d/clamd start.

    Gibt es da fertige Lösungen ?
    Wer weiss Rat bzw. hat evtl was in der Richtung parat.

    Vielen Dank

    Alex
    Alex

  2. #2
    Registrierter Benutzer
    Registriert seit
    Feb 2003
    Ort
    Hannover
    Beiträge
    410
    Hallo Alex,

    das hängt im Wesentlichen davon ab, wie lange Du ohne den Dienst auskommst. Wir haben bei uns auch ein paar Dienste, auf die wir nicht verzichten wollen. Dafür haben wir einen cronjob, der alle 5 Minuten nach dem rechten sieht. Wir überprüfen lediglich, ob der Dienst in der Prozessliste auftaucht. Wenn nicht, wird er neu gestartet.

    Mfg Michael

  3. #3
    Registrierter Benutzer
    Registriert seit
    Feb 2001
    Ort
    D,91056,Erlangen
    Beiträge
    707
    Hi,

    was steht denn bei Dir in der crontab bzw wie sieht das Script aus?

    Wenn der Dienst einige Minuten nicht läuft ist das zwar unschön, muss aber nicht 99.99% laufen.


    Danke, Alex
    Alex

  4. #4
    Registrierter Benutzer
    Registriert seit
    Feb 2003
    Ort
    Hannover
    Beiträge
    410
    Hallo Alex,

    wir haben da ein neues cron-verzeichnis für eingerichtet, so was wie cron.daily, nur eben alle 5min, also heißt das bei uns cron.5min.

    In der /etc/crontab steht daher:
    # m h dom mon dow user command
    */5 * * * * root run-parts --report /etc/cron.5min

    Die erste Zeile ist eine Kommentarzeile (klaro)!

    Unser Skript, dass nach unseren Diensten schaut, sieht dann ungefähr so aus:
    Code:
    #!/bin/sh
    logfile=/var/ratse/log/cron.5min
    # Stellt sicher, dass sshd immer wieder gestartet wird.
    if [ $(ps -A | grep -c /usr/sbin/lshd) = 0 ];
    then
        echo "$(date) lshd wiederbeleben" >> $logfile
        /etc/init.d/lsh-server start
    fi
    
    # Stellt sicher, dass der Portmapper laeuft
    if [ $(ps -A | grep -c portmap) = 0 ];
    then
        echo "$(date) portmapper wiederbeleben" >> $logfile
        /etc/init.d/portmap restart
    fi
    
    # Stellt sicher, dass die domaine gestzt ist
    if [ $(ypdomainname) = "" ];
    then
        echo "$(date) YP-Domainnamen setzen" >> $logfile
        ypdomainname rgp
    fi
    
    # Stellt sicher, dass der ypserver laeuft
    if [ $(ps -A | grep -c ypserv) = 0 ];
    then
        echo "$(date) NIS wiederbeleben" >> $logfile
        /etc/init.d/nis restart
    fi
    
    # Stellt sicher, dass der nfs-server laeuft
    [ $(ps -A | grep -c nfsd) = 0 ] && /etc/init.d/nfs-kernel-server restart
    
    # Stellt sicher, dass der dhcp-server laeuft
    [ $(ps -A | grep -c dhcpd) = 0 ] && /etc/init.d/dhcp restart
    
    # Stellt sicher, dass der Apache laeuft
    if [ $(ps -A | grep -c apache2) = 0 ];
    then
        echo "$(date) Apache2 wiederbeleben" >> $logfile
        /etc/init.d/apache2 restart
    fi
    # Stellt sicher, dass der Cups laeuft
    if [ $(ps -A | grep -c cupsd) = 0 ];
    then
        echo "$(date) cupsd wiederbeleben" >> $logfile
        /etc/init.d/cupsys restart
    fi
    # Stellt sicher, dass der Squid laeuft
    #if [ $(ps -A | grep -c squid) = 0 ];
    #then
    #    echo "$(date) squid wiederbeleben" >> $logfile
    #    /etc/init.d/squid restart
    #fi
    
    # Stellt sicher, dass der Samba laeuft
    if [ $(ps -A | grep -c smbd) = 0 ];
    then
        echo "$(date) samba wiederbeleben" >> $logfile
        /etc/init.d/samba restart
    fi
    
    if [ $(ps -A | grep -c nmbd) = 0 ];
    then
        echo "$(date) samba wiederbeleben" >> $logfile
        /etc/init.d/samba restart
    fi
    
    # Stellt sicher, dass der webmin laeuft
    if [ $(ps -A | grep -c miniserv.pl) = 0 ];
    then
        echo "$(date) webmin wiederbeleben" >> $logfile
        /etc/init.d/webmin restart
    fi
    # Stellt sicher, dass der Drucker im CR1 laeuft
    anz=$(lpstat -p hp-4000-n | grep -c disabled)
    if [ "$anz" = 1 ];
    then
        echo "$(date) hp-4000-n wiederbeleben" >> $logfile
        /sbin/ratse.clearPrinter -p hp-4000-n >> $logfile
    fi
    So, ich bin mir im Klaren darüber, dass das sicher besser oder eleganter oder sicherer geht. Ich habe nämlich erst vor zwei Jahren mit dem Scripten angefangen. Aber es hat uns bisher nicht im Stich gelassen.

    So, denn mal viel Erfolg!

    Mfg Michael

  5. #5
    Registrierter Benutzer Avatar von bla!zilla
    Registriert seit
    Apr 2001
    Beiträge
    9.884
    Schau dir mal Nagios an. Damit kannst du auch Dienste auf entfernten Maschinen überwachen und auch über Nagios, bzw. zusätzliche Tools, bei einem Event einen Eventhandler ausführen. Damit kannst du dann auch Dienste starten.

  6. #6
    Moderator
    Registriert seit
    Jul 2002
    Ort
    Darmstadt
    Beiträge
    1.943
    schau dir mal nagios an, damit kannst du prozesse überwachen und ggf. über sogenannte eventhandler wieder starten lassen.

    http://www.nagios.org

    edit:
    oh gott, bin ich langsam

  7. #7
    Registrierter Benutzer Avatar von bla!zilla
    Registriert seit
    Apr 2001
    Beiträge
    9.884
    Hör auf! Das war copy 'n paste und etwas Arbeit zum Umformulieren!

  8. #8
    Moderator
    Registriert seit
    Jul 2002
    Ort
    Darmstadt
    Beiträge
    1.943
    Zitat Zitat von bla!zilla Beitrag anzeigen
    Hör auf! Das war copy 'n paste und etwas Arbeit zum Umformulieren!
    ok, du hast mich durchschaut ... verdammt!

  9. #9
    Registrierter Benutzer
    Registriert seit
    Feb 2001
    Ort
    D,91056,Erlangen
    Beiträge
    707
    Danke Euch allen für die schnelle Hilfe.

    Ich werde Eure Tips beherzigen.

    Gruß & schönes Wochenende
    Alex
    Alex

  10. #10
    Registrierter Benutzer Avatar von bla!zilla
    Registriert seit
    Apr 2001
    Beiträge
    9.884
    Also wenn noch Hilfe zu Nagios notwendig ist (die Eventhandler sind nicht ohne...), dann mach aber bitte einen neuen Thread auf. Hier lesen genug Leute (inkl. mir) die sich mit Nagios auskennen.

  11. #11
    Registrierter Benutzer
    Registriert seit
    Feb 2001
    Ort
    D,91056,Erlangen
    Beiträge
    707
    Hallo,

    also ich fang mal "klein" an un teste das Script.

    Allerdings ergibt if [ $(ps -A | grep -c /usr/sbin/clamd) = 0 ];
    bei mir unter SuSE 10.0 immer "0", ergo wird versucht clamd neu zu starten.
    Oder verstehe ich da was falsch?

    Gruß
    Alex
    Alex

  12. #12
    Registrierter Benutzer Avatar von oracle2025
    Registriert seit
    Mar 2002
    Ort
    Tirol/Österreich
    Beiträge
    1.436
    Installier dir mal die sogenannten daemontools http://cr.yp.to/daemontools.html

    Die sind dafür da Dienste zu überwachen und notfalls neu zu starten.
    I will NOT pay for Information

  13. #13
    Registrierter Benutzer Avatar von derRichard
    Registriert seit
    Nov 2001
    Beiträge
    5.069
    Zitat Zitat von oracle2025 Beitrag anzeigen
    Installier dir mal die sogenannten daemontools http://cr.yp.to/daemontools.html

    Die sind dafür da Dienste zu überwachen und notfalls neu zu starten.
    hallo!

    hehe, jetzt warst schneller als ich.
    aber wie gesagt, daemontools sind super für sowas. ich lass damit viel laufen.
    mysql, apache, spamd, clamd und natürlich qmail und djbdns.

    das ist ein super "buch" zu den daemontools:
    http://www.fehcom.de/qmail/docu/05_new.pdf

    hth,
    //richard
    There are two factions of CS, the ones that hate computers, and the ones that hate science.

  14. #14
    DomiNik
    Gast
    Hallo miteinander!

    Gerne würde ich dieses Thema nochmals aufgreifen.

    Auch wir möchten unsere Dienste eines Red Hat Enterprise Linux 5 überwachen.
    Allgmein nutzen wir WhatsUp Gold in diesem Zusammenhang.
    Unsere Microsoft und CISO Umgebungen konnten wir schon erfolgreich hierin abbilden.

    Besteht eine Möglichkeit per SNMP die laufenden Prozesse abzufragen (z. B. Informix DB).
    Ich meine nicht die gesamte Anzahl der aktuell laufenden Prozesse.
    Das funktioniert schon soweit.

    Oder müssen wir definitiv auf Skipte ausweichen?

    Danke & Gruß
    DomiNik

Ähnliche Themen

  1. screen Startscript soll Prozess mit bestimmten User starten
    Von format im Forum Dedizierte Spiele Server
    Antworten: 2
    Letzter Beitrag: 16.12.04, 12:33
  2. Prozesse ueberwachen/automatisch neu starten
    Von Skipper im Forum System installieren und konfigurieren
    Antworten: 6
    Letzter Beitrag: 12.05.03, 21:08
  3. Cron per Script neu starten
    Von NBF im Forum Linux Allgemein
    Antworten: 2
    Letzter Beitrag: 31.07.02, 12:28
  4. Debian bsd-ftpd neu starten
    Von horschi im Forum Linux Allgemein
    Antworten: 4
    Letzter Beitrag: 30.06.02, 16:17
  5. Crack Attack neu starten?
    Von Christian00 im Forum Spielen Allgemein
    Antworten: 1
    Letzter Beitrag: 21.06.02, 04:55

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •