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
- Des demandes réussies ont été faites après ce rechargement par le biais de
- 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.