Page 1 of 1
Prüfen ob Apache läuft
Posted: 2002-10-19 10:50
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
Re: Prüfen ob Apache läuft
Posted: 2002-10-19 11:35
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.
Re: Prüfen ob Apache läuft
Posted: 2002-10-20 19:51
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 !?
Re: Prüfen ob Apache läuft
Posted: 2002-10-23 11:23
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?
Re: Prüfen ob Apache läuft
Posted: 2002-10-23 11:41
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.
Re: Prüfen ob Apache läuft
Posted: 2002-10-23 11:48
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!
Re: Prüfen ob Apache läuft
Posted: 2002-10-23 11:53
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.
Re: Prüfen ob Apache läuft
Posted: 2002-10-23 12:55
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
Re: Prüfen ob Apache läuft
Posted: 2002-10-23 13:01
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
Eine Lösung gefunden?
Posted: 2002-11-04 20:48
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
Prüfen ob Apache läuft
Posted: 2002-11-05 19:00
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
mehr speicher für php
Posted: 2002-11-05 21:49
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
Re: Prüfen ob Apache läuft
Posted: 2003-04-29 18:43
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
Re: Prüfen ob Apache läuft
Posted: 2003-07-06 02:32
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
Re: Prüfen ob Apache läuft
Posted: 2003-07-06 10:40
by sascha
Re: Prüfen ob Apache läuft
Posted: 2003-07-06 11:44
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
stehen? Das soll verhindern, daß die Logs komprimiert werden, während ein Prozess in diese Logdatei schreibt.
Re: Prüfen ob Apache läuft
Posted: 2003-07-21 15:26
by chris299
der parameter macht sinn.
ich teste das gleich mal.... :)
Re: Prüfen ob Apache läuft
Posted: 2003-07-21 17:11
by bobbyx
Sollen also im /etc/logrotate.d/apache einfach alle compress durch delaycompress ersetzt werden??
Greetz,
Bobby
Re: Prüfen ob Apache läuft
Posted: 2003-07-21 17:15
by chris299
ergänzen, nicht ersetzen...
siehe man-page zu logrotate
Re: Prüfen ob Apache läuft
Posted: 2003-07-22 00:32
by bravesurfer
habe ich gemacht, unter jedes compress ein delaycompress.
Leider um Punkt 00.15 Uhr wieder ein Restart des Apache!
Re: Prüfen ob Apache läuft
Posted: 2003-07-22 06:34
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.
Re: Prüfen ob Apache läuft
Posted: 2003-07-22 10:00
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. :)