4 votes

Comment dépanner Apache httpd qui est devenu silencieux ?

L'un de nos serveurs Apache httpd est mort d'une manière étrange pendant la nuit. J'ai consulté tous les journaux pertinents et je n'ai rien trouvé d'anormal.

Heureusement, cela s'est produit dans notre environnement de développement, mais je suis plutôt inquiet car notre environnement de développement est presque identique à notre environnement de production.

Quelqu'un peut-il me dire ce qui a pu se passer ici ?

Symptômes et étapes de dépannage

  • Apache httpd ne répondait plus du tout.
  • Moyenne de charge de 0,0 sur toute la ligne
  • Aucune anomalie dans le journal
  • ps aux | grep httpd semblait normal
  • iptables -L a montré que le port 80 était ouvert
  • SELinux est activé et correctement configuré : pas d'AVCs enregistrés
  • Aucun changement de configuration n'a été apporté aux composants du système, aussi insignifiant soit-il.
  • Apache httpd a été rechargé à l'adresse 17:11:25 temps du serveur pour vider le cache d'APC (php)
    • Des demandes réussies ont été faites après ce rechargement par le biais de 17:20 après quoi je suis parti pour la journée
    • Rien de remarquable ne s'est produit après le rechargement
  • Le matin suivant, les processus httpd ne répondaient plus.
  • Telnet au port 80 s'est connecté avec succès
    • Les requêtes manuelles GET, POST, OPTIONS et HEAD ne reçoivent aucune réponse ; rien n'est enregistré.

Bûches

journal d'accès

172.22.44.41 - - [03/Mar/2011:17:20:18 -0600] "GET /admin.php?type=notifications HTTP/1.0" 200 44326 "http://umc.dev.example.com/admin.php" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.107 Safari/534.13"
172.22.44.41 - - [04/Mar/2011:14:45:16 -0600] "GET / HTTP/1.0" 200 62921 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.107 Safari/534.13"

journal des erreurs

[Thu Mar 03 17:11:25 2011] [notice] SIGHUP received.  Attempting to restart
[Thu Mar 03 17:11:25 2011] [notice] Digest: generating secret for digest authentication ...
[Thu Mar 03 17:11:25 2011] [notice] Digest: done
[Thu Mar 03 17:11:25 2011] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[Fri Mar 04 14:45:05 2011] [notice] caught SIGTERM, shutting down
[Fri Mar 04 14:45:05 2011] [notice] SELinux policy enabled; httpd running as context user_u:system_r:httpd_t:s0
[Fri Mar 04 14:45:05 2011] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Mar 04 14:45:05 2011] [notice] Digest: generating secret for digest authentication ...
[Fri Mar 04 14:45:05 2011] [notice] Digest: done
[Fri Mar 04 14:45:05 2011] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations

ps aux | grep httpd

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      8477  0.0  1.9 408748  9876 ?        Ss   Feb24   0:03 /usr/sbin/httpd
apache   19933  0.4 14.6 436436 74692 ?        S    Mar03   0:01 /usr/sbin/httpd
apache   19936  0.4  8.4 419708 43148 ?        S    Mar03   0:01 /usr/sbin/httpd

/var/log/messages

Feb 27 04:02:01 webdev1 syslogd 1.4.1: restart.
Mar  4 14:43:35 webdev1 yum: Installed: strace-4.5.18-5.el5_5.5.x86_64

Versions

Système d'exploitation et noyau

  • CentOS version 5.5 (Final)
  • Linux webdev1.int.example.com 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

Apache httpd

Server version: Apache/2.2.3
Server built:   Aug 30 2010 12:28:40
Server's Module Magic Number: 20051115:3
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

PHP

  • php53u-5.3.5-3.ius.el5

Dépôts utilisés

CentOS Base & Updates pour tous les paquets à l'exception de : php53u de Communauté de l'IUS dépôt.

4voto

coredump Points 12455

A part le disque plein qui se passe, il n'y a pas grand chose à faire. Si cela ne se reproduit pas, alors cela tombera sur la bizarrerie catégorie. Avez-vous le dmesg sortie pour voir s'il y avait un problème avec le système d'exploitation (oom killer, par exemple).

Si cela se reproduit, alors vous devrez utiliser strace après les bifurcations pour voir ce qui bloque exactement les processus.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X