Prüfen ob Apache läuft

Apache, Lighttpd, nginx, Cherokee
Post Reply
vratislav
Posts: 118
Joined: 2002-05-05 12:05
Contact:
 

Prüfen ob Apache läuft

Post by vratislav »

Hallo,

mein Problem ohne richtige Lösung ist folgendes:
http://www.rootforum.org/forum/viewtopi ... highlight=

Zusammengefasst der Apache verabschiedet sich Punkt 0:15 Uhr und macht feierabend. Warum ? Weshab ? Wieso ? - Ich weiß es nicht. Zwischendurch hat es bei anderen Apacheversionen auch ohne Ausfälle funktioniert - allerdings bin ich aus Sicherheitsgründen auf den aktuellesten umgestiegen.

Apache stürzt auch nicht jeden Tag ab, aber so ca. 3x die Woche.

Es hilft dann nur noch ein "killall -KILL httpd" und danach ein "rcapache start".

Das Problem läßt sich offenbar nicht lösen (auch das in dem Thread angeführte Skript nicht).

Genug gejammert 8O . Meine Frage:

Ich möchte nun per Cron-Job jeden Tag um 0:20 Uhr prüfen, ob der Server noch da ist und ihn gegebenenfalls wiederbeleben.

Aber wie kann ich einfach ín einem Shell-Skript prüfen, ob der Apache noch läuft ??

Danke für Hinweise,

Björn
majortermi
Userprojekt
Userprojekt
Posts: 916
Joined: 2002-06-17 16:09
 

Re: Prüfen ob Apache läuft

Post by majortermi »

Willst du prüfen, ob der Apache noch läuft oder ob der Apache noch Anfragen beantwortet?
Ersteres kannst du einfach überprüfen, indem du schaust, ob noch "httpd"-Prozesse vorhanden sind, letzteres lässt sich prüfen, indem man mit "netcat" eine Anfrage sendet und die Antwort auf einen bestimmten Inhalt (z.B. den 200 Statuscode) überprüft. Wenn du Netsaint / Nagios benutzt kannst du auch einfach die HTTP-Ã?berwachung aktivieren.
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
powie
Posts: 80
Joined: 2002-09-25 16:41
Location: Singen
Contact:
 

Re: Prüfen ob Apache läuft

Post by powie »

Meiner Meinung nach die falsche Herangehensweise....
Du suchst nach einer Lösung um den Apache wieder zu restarten wenn er abgeschmiert ist. Die Richtige Lösung wäre aber doch zu suchen wieso er abschmiert und diesen Fehler zu beheben.

Ich hatte mal ein ähnliches Problem das der Apache immer kurz nach 0 Uhr abgeschmiert ist als das rotatelogs Script lief. Den Fehler hab ich simpel übers error.log gefunden und beheben können.

Was steht denn in deinem Error.Log wenn der Indianer sich verabschiedet !?
gw丨breaki
Posts: 6
Joined: 2002-08-05 10:57
 

Re: Prüfen ob Apache läuft

Post by gw丨breaki »

Also ich bin grad a biserl auf der MySQL Homepage rumgesurft und hab folgendes beim Installieren von MySQL gefunden:
Wenn Sie eine aktuelle Version von gcc verwenden (aktuell genug, um die -fno-exceptions-Option zu verstehen), ist es SEHR WICHTIG, dass Sie diese Option benutzen. Ansonsten könnte es sein, dass Sie eine Binärdatei kompilieren, die zu zufälligen Zeitpunkten abstürzt
Kann es vielleicht daran liegen, das der Apache sich immer verabschiedet?
vratislav
Posts: 118
Joined: 2002-05-05 12:05
Contact:
 

Re: Prüfen ob Apache läuft

Post by vratislav »

Hallo,

@powie
Meiner Meinung nach die falsche Herangehensweise....
ich gebe dir uneingeschränkt recht, jedoch suche ich schon sehr, sehr lange nach einer Lösung. Da sich der "Apache" auch nicht auf Kommando abschmieren "läßt" ist die Suche schwierig.

Ich gebe Dir gern mal die Fehlermeldung und freue mich über Ideen:

Code: Select all

[Sat Oct 19 00:15:26 2002] [notice] SIGUSR1 received.  Doing graceful restart
[Sat Oct 19 00:15:30 2002] [notice-phpa] Removed existing cache sems (pid 14059)
[Sat Oct 19 00:15:30 2002] [notice-phpa] Removed existing cache shm (pid 14059)
[Sat Oct 19 00:15:30 2002] [notice-phpa] Acquiring cache : uid 30 gid 102 perms 666 (pid 14059)
[Sat Oct 19 00:15:30 2002] [notice-phpa] PHPA 1.3.3r1 on linux_i686_glibc2.1.3 (pid 14059)
[Sat Oct 19 00:15:30 2002] [notice-phpa] Initialised 8MB cache at 0x40ef8000 with 512 process entries (pid 14059)
[Sat Oct 19 00:15:30 2002] [notice-phpa] Lock thresholds 10/10 (pid 14059)
[Sat Oct 19 00:15:31 2002] [notice] Apache configured -- resuming normal operations
[Sat Oct 19 00:15:31 2002] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sat Oct 19 00:15:31 2002] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Sat Oct 19 00:15:31 2002] [warn] long lost child came home! (pid 14061)
accept_mutex_off: Identifier removed
[Sat Oct 19 00:15:34 2002] [warn-phpa] failed to get lock - Identifier removed (pid 14194)
[Sat Oct 19 00:15:34 2002] [warn-phpa] failed to get lock - Identifier removed (pid 14194)
[Sat Oct 19 00:15:35 2002] [alert] Child 14194 returned a Fatal error... 
Apache is exiting!
Hier zum Vergleich noch mal ein fehlerfreier ausschnitt:

Code: Select all

[Fri Oct 18 00:15:31 2002] [notice] SIGUSR1 received.  Doing graceful restart
critical_acquire() failed: Invalid argument
critical_release() failed: Invalid argument
[Fri Oct 18 00:15:35 2002] [notice] Apache configured -- resuming normal operations
[Fri Oct 18 00:15:35 2002] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Oct 18 00:15:35 2002] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Fri Oct 18 00:15:35 2002] [warn] long lost child came home! (pid 13599)
Die Fehlermeldungen zu phpa kommen erst, seit ich es zusätzlich vor wenigen Tagen installiert habe.

Zusätzlich habe ich noch mod_gzip installiert. Es liegt garantiert am rotatelogs Skript. Es wird jede Nacht aktiv tätig - ist aber bis auf weiteres deaktivert. Seit dem gibt es auch keine Abstürze mehr.

@gw|Breaki
Danke für den Tipp, aber ich denke daran liegt es nicht. Mysql läuft ohne probleme weiter.
powie
Posts: 80
Joined: 2002-09-25 16:41
Location: Singen
Contact:
 

Re: Prüfen ob Apache läuft

Post by powie »

Die Warnings sind nicht Fatal, ich denke hier hängt der Indianer am Materpfahl

[Sat Oct 19 00:15:31 2002] [warn] long lost child came home! (pid 4061)
accept_mutex_off: Identifier removed
[Sat Oct 19 00:15:35 2002] [alert] Child 14194 returned a Fatal error... Apache is exiting!
vratislav
Posts: 118
Joined: 2002-05-05 12:05
Contact:
 

Re: Prüfen ob Apache läuft

Post by vratislav »

Das denke ich auch.

Jedoch kann ich mir nicht erklären, warum es denn einen Tag klappt - denn anderen nicht.

ich hatte es auch schon im Usenet probiert.

Leider ohne Erfolg.
webhilfe
Posts: 67
Joined: 2002-05-03 14:20
Location: Hamburg
Contact:
 

Re: Prüfen ob Apache läuft

Post by webhilfe »

@vratislav

Hi, nach deiner Logdatei zu urteilen hast du den php-accelerator installiert.

Schonmal versucht das teil wieder zu deaktivieren? Du bist nicht der einzige der probs mit dem cache hat. Zumindest habe ich das im php-accelerator forum gelesen... http://phpa.phorum.org/list.php?f=2
vratislav
Posts: 118
Joined: 2002-05-05 12:05
Contact:
 

Re: Prüfen ob Apache läuft

Post by vratislav »

@rootserver
Hallo,

Ich denke nicht, daß es etwas mit dem php-accelerator zu tun hat.

Der Fehler mit Apache bestand schon vor der installation von php-accelerator.

Björn
tino
Posts: 9
Joined: 2002-06-28 19:03
 

Eine Lösung gefunden?

Post by tino »

Hallo allerseits!
Seit dem Update auf PHP 4.2.3., Apache 1.3.27 usw. schmiert auch mein Apache jeden zweiten Tag ab, genau auch um 0:15 Uhr oder so.
Daher meine Frage, ob jemand für dieses Problem mitlerweile eine Lösung gefunden hat...

Danke vorab!

Tino
Anonymous
 

Prüfen ob Apache läuft

Post by Anonymous »

Hallo,

ähnlich symptome hatte ich auf einem kundenserver auch.
das problem konnte ich lösen, in dem ich php(4.2.3) mehr speicher gegeben habe(php.ini -> memory_limit ).

aber!!!
" memory_limit Dieser Wert gibt den maximal erlaubten Speicherplatzverbrauch eines PHP-Skriptes an. Diese Einstellung soll den Server vor Speicherverschwendung durch schlecht programmierte Skripte bewahren. "

ciao
chris
tino
Posts: 9
Joined: 2002-06-28 19:03
 

mehr speicher für php

Post by tino »

Hallo auch ...

ich hab php schon 12M gegeben ... habe es jetzt mal mit 16 probiert, aber ich habe so meine Zweifel. Nun, lassen wir uns überraschen.
Danke jedenfalls.

CU

Tino
evoluzzer
Posts: 90
Joined: 2002-09-08 19:33
Location: www.internetists.de/index.php?s=14
Contact:
 

Re: Prüfen ob Apache läuft

Post by evoluzzer »

so nun habe ich auch dieses Problem, .d.h. der Apache schmiert nach dem Durchlauf ders logrotates ab.

Den php-accelerator habe ich nicht installiert und auch die Suche hier im Forum als auch im www ergaben, das es sich wohl um einen Fehler des Apaches handelt. Er versucht wohl in die Logdateien zu schreiben, während die gerade am rotieren sind. Daher finde ich die Idee mit der Skriptgesteuerten Ã?berwachung des Apaches nicht schlecht oder hat jemand eine bessere Idee bzw. Fix des Problemes und bitte nicht: Upgrade auf Version 2, kommt nämlich nicht in Frage (außerdem scheint da auch dieses Problem zu bestehen)

Gruss Christoph
bravesurfer
Posts: 170
Joined: 2003-05-08 12:17
Location: Stuttgart
 

Re: Prüfen ob Apache läuft

Post by bravesurfer »

Hallo,

habe nun das selbe Problem.

War der Tip mit der php.ini den richtig? Schafft es Abhilfe und falls ja, wieviel MB sollte ich zuweisen (war bei mir auf 8 M habs nun mal auf 12 gesetzt)



Mfg

M. Clemenz
olaf.dietsche
Posts: 401
Joined: 2002-12-19 02:06
Location: Siegburg
 

Re: Prüfen ob Apache läuft

Post by olaf.dietsche »

vratislav wrote:Es liegt garantiert am rotatelogs Skript. Es wird jede Nacht aktiv tätig - ist aber bis auf weiteres deaktivert. Seit dem gibt es auch keine Abstürze mehr.
Hast du in deinem /etc/logrotate.d/apache eine Zeile mit

Code: Select all

delaycompress
stehen? Das soll verhindern, daß die Logs komprimiert werden, während ein Prozess in diese Logdatei schreibt.
chris299
Posts: 32
Joined: 2003-07-04 19:35
 

Re: Prüfen ob Apache läuft

Post by chris299 »

der parameter macht sinn.
ich teste das gleich mal.... :)
bobbyx
Posts: 15
Joined: 2002-08-21 08:40
 

Re: Prüfen ob Apache läuft

Post by bobbyx »

Sollen also im /etc/logrotate.d/apache einfach alle compress durch delaycompress ersetzt werden??

Greetz,

Bobby
chris299
Posts: 32
Joined: 2003-07-04 19:35
 

Re: Prüfen ob Apache läuft

Post by chris299 »

ergänzen, nicht ersetzen...

siehe man-page zu logrotate
bravesurfer
Posts: 170
Joined: 2003-05-08 12:17
Location: Stuttgart
 

Re: Prüfen ob Apache läuft

Post by bravesurfer »

habe ich gemacht, unter jedes compress ein delaycompress.
Leider um Punkt 00.15 Uhr wieder ein Restart des Apache!
alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover
Contact:
 

Re: Prüfen ob Apache läuft

Post by alexander newald »

Hallo,

evtl. hier ein Lösungsansatz:

Bei einem graceful restart:

Die Fehlermeldung "long lost child came home" tritt auf, wenn der child Prozess nicht im Scoreboard File stand.

Dauert es zusätzlich länger als 1 Sekunde die laufenden Childs zu beenden und neu zu starten, versucht der Apache einen extra Child zu starten, damit auf jeden Fall Anfragen beantwortet werden können.

Tritt beides gleichzeitig auf, glaubt der Apache, dass der neugestartete Child nicht neugestartet werden konnte und beendet sich.

Warum das aber nicht 100%ig reproduzierbar ist, habe ich noch nicht herausgefunden.
chris299
Posts: 32
Joined: 2003-07-04 19:35
 

Re: Prüfen ob Apache läuft

Post by chris299 »

@clemenz:

ein graceful restart soll er ja machen.
oder ist er dir wieder verstorben?

diese "long lost child" meldung hab ich zwar noch, aber der Indianer stirbt bei mir jetzt wenigstens nicht mehr. :)
Post Reply