Apache2 regelmässig nicht mehr verfügbar

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von Jenson, 19. Dez. 2012.

  1. Jenson

    Jenson New Member

    Hallo zusammen,

    ich muss gestehen, ich bin seit einer Weile raus aus dem Thema Linux und Administration. Ich habe einen sehr komischen Effekt unter OpenSuse 12.1 (64 bit) und der aktuellen Stable iISPConfig 3.0.4.6.

    Alle zwei bis drei Tage ist Apache2 nicht mehr verfügbar. Ich muss dann den Service neu starten und dann funktioniert er wieder einwandfrei. Es lässt sich auch nicht an irgendeinem Event festmachen und ich finde in den mit bekannten Logs auch keinen Hinweis auf irgendwelche Probleme. Das System ist aktuell gepatcht.

    Das ganze läuft auf einem Root-Server. Ich habe ein zweites System, das den gleichen Patch-Stand hat, aber kein ISPConfig (manuell verwaltet). Da läuft der Apache seit 248 Tagen durch.

    Wo kann ich denn mit der Spurensuche beginnen?
     
  2. Till

    Till Administrator

    Installier mal monit und munin auf Deinem Server um die Dienste zu überwachen. Des weiteren such mal im globalen apache error.log ob Du dort irgendwelche Fehler des Programms "vlogger" findest.
     
  3. Jenson

    Jenson New Member

    Hallo Till,

    danke für den Tip! Monit bekomme ich schnell hin denke ich. Munin muss ich aus den Quellen installieren was ich grade so sehe. Ich werde das gleich mal ausprobieren.

    Geht das zusätzliche Monitoring bzw. die Traffic-Überwachung merklich auf die Gesamtperformance des Systems?

    Grüße

    Jenson
     
  4. Till

    Till Administrator

    Von der Performance her sollte sich das nicht bemerkbar machen.
     
  5. Jenson

    Jenson New Member

    Ich hab eben mal das richtige errorlog des Apache2 identifiziert (irgendwie lag da noch eine alte Datei in einem anderen Verzeichnis rum.)

    Im Log fängt alles wohl mit diesem Abschnitt an (IP 11.22.33.44 habe ich so hier im Forum überschrieben, da stand die richtige IP im Log :D):

    Code:
    [Mon Dec 17 08:41:20 2012] [error] [client 213.229.84.14] invalid request-URI.
    [Mon Dec 17 08:41:20 2012] [error] [client 213.229.84.14] invalid request-URI.
    [Mon Dec 17 08:41:21 2012] [error] [client 213.229.84.14] invalid request-URI.
    [Mon Dec 17 08:41:21 2012] [error] [client 213.229.84.14] invalid request-URI.
    [Mon Dec 17 13:39:30 2012] [error] [client 141.212.121.10] invalid request-URI.
    [Mon Dec 17 20:59:42 2012] [error] [client 85.17.245.118] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w0
    [Mon Dec 17 22:26:46 2012] [error] [client 69.24.67.166] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00
    [Tue Dec 18 05:33:14 2012] [error] [client 80.83.125.208] invalid request-URI.
    [Tue Dec 18 11:27:39 2012] [error] [client 88.84.210.234] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w0
    [Tue Dec 18 12:55:00 2012] [error] [client 141.212.121.10] invalid request-URI.
    [Tue Dec 18 12:59:31 2012] [error] [client 74.63.232.110] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w0
    [Tue Dec 18 15:12:36 2012] [error] [client 67.137.238.164] invalid request-URI.
    [Tue Dec 18 21:19:42 2012] [error] [client 195.244.61.62] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w0
    [Tue Dec 18 22:00:53 2012] [error] [client 195.244.61.62] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w0
    [Tue Dec 18 22:30:02 2012] [notice] SIGHUP received.  Attempting to restart
    httpd2-prefork: apr_sockaddr_info_get() failed for openSUSE-121-64-minimal
    httpd2-prefork: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
    [Tue Dec 18 22:30:02 2012] [warn] NameVirtualHost 11.22.33.44:443 has no VirtualHosts
    [Tue Dec 18 22:30:03 2012] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
    [Tue Dec 18 22:30:03 2012] [warn] RSA server certificate CommonName (CN) `Max Donner' does NOT match server name!?
    [Tue Dec 18 22:30:03 2012] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
    [Tue Dec 18 22:30:03 2012] [notice] mod_python: using mutex_directory /tmp.
    [Tue Dec 18 22:30:03 2012] [notice] Apache/2.2.21 (Linux/SUSE) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_fcgid/2.3.6 DAV/2 mod_ruby/1.
    [Tue Dec 18 22:30:04 2012] [notice] child pid 6774 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:04 2012] [notice] child pid 6775 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:04 2012] [notice] child pid 6776 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:04 2012] [notice] child pid 6777 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:04 2012] [notice] child pid 6778 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:06 2012] [notice] child pid 6787 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:07 2012] [notice] child pid 6790 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:07 2012] [notice] child pid 6791 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:08 2012] [notice] child pid 6792 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:08 2012] [notice] child pid 6793 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:08 2012] [notice] child pid 6794 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:08 2012] [notice] child pid 6795 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:09 2012] [notice] child pid 6797 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:09 2012] [notice] child pid 6798 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:09 2012] [notice] child pid 6799 exit signal Segmentation fault (11)
    [Tue Dec 18 22:30:09 2012] [notice] child pid 6800 exit signal Segmentation fault (11)
    Die Segmentation Fehler gehen dann noch ca. 40 Minuten so weiter, bis zu dem Zeitpunkt, zu dem ich den Apache2 neu gestartet habe über die Konsole des Servers.

    SIGHUP heisst wenn ich das richtig lese, dass irgendetwas den Apache2 neu starten wollte was dann irgendwie schief gelaufen ist?
     
  6. Till

    Till Administrator

    Segmentation faults können viele Ursachen haben, z.B. ein Fehler in einem apache Modul oder aber auch Hardware Fehler im RAM oder auf dem Mainboard können dazu führen. Ich würdeDir raten einfach mal das Monitoring eine Zeit laufen zu lassen und zu schauen ob Du was ungewöhnliches findest wenn apache nochmal stehen bleibt.
     
  7. Jenson

    Jenson New Member

    Ich habe mir alle Logs nochmal durchgesehen. Der Apache wird anscheinend durch logrotate nach dem rotieren der logs mittels "reload" neu gestartet.

    Code:
        prerotate
         /etc/init.d/apache2 check-reload
        endscript
        postrotate
         /etc/init.d/apache2 reload
        endscript

    Ich sehe dann im error_log (natürlich jedesmal am Anfang des neuen Logs):

    Code:
    [Sun Feb 17 22:30:03 2013] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
    [Sun Feb 17 22:30:03 2013] [warn] RSA server certificate CommonName (CN) `Max Hinterfeld' does NOT match server name!?
    [Sun Feb 17 22:30:03 2013] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
    [Sun Feb 17 22:30:03 2013] [notice] mod_python: using mutex_directory /tmp.
    [Sun Feb 17 22:30:03 2013] [notice] Apache/2.2.21 (Linux/SUSE) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_fcgid/2.3.6 DAV/2 mod_ruby/1.3.0 Ruby/1.8.7(2011-12-28) mod_python/
    [Sun Feb 17 22:30:04 2013] [notice] child pid 19614 exit signal Segmentation fault (11)
    [Sun Feb 17 22:30:04 2013] [notice] child pid 19615 exit signal Segmentation fault (11)
    [Sun Feb 17 22:30:04 2013] [notice] child pid 19616 exit signal Segmentation fault (11)
    Für mich sieht das so aus, als wenn der apache irgendwie nach dem reload nicht mehr hoch kommt. wenn ich auf der Konsole den Apache via

    Code:
    systemctl restart apache2.service
    den Apache dann neu starte läuft er innerhalb von Sekunden wieder fehlerfrei.

    Irgendeine Idee?

    Bin für jeden Tip dankbar!


    Grüße


    Jenson
     
  8. Till

    Till Administrator

    Ändere den postrotate Befehl mal von reload zu restart
     

Diese Seite empfehlen