Analyse de .log suite à un DOWN serveur ? Qu'utilisez-vous ?

WRInaute passionné
Salut ;)

Comment faites-vous pour détecter la cause d'un DOWN serveur lorsque ça SWAP ou ça charge en CPU ?

Vous lisez des logs j'imagine, ceux d'apache dans le cadre d'une utilisation apache+mysql ?

Surtout, qu'est-ce que vous utilisez pour lire les .log, car j'imagine qu'il y a mieux que la lecture des .log bruts ?

Un tout gros merci à vous !
 
WRInaute passionné
1-sponsor a dit:
Salut ;)

Comment faites-vous pour détecter la cause d'un DOWN serveur lorsque ça SWAP ou ça charge en CPU ?

Vous lisez des logs j'imagine, ceux d'apache dans le cadre d'une utilisation apache+mysql ?

Surtout, qu'est-ce que vous utilisez pour lire les .log, car j'imagine qu'il y a mieux que la lecture des .log bruts ?

Un tout gros merci à vous !
T'as des outils qui fonctionnent en temps réel comme log watch.
Perso j'utilise des gros coup de cat / grep / awk pour nettoyer et j'output ça dans un fichier que je regarde un peu mieux.

Après j'ai des clients qui m'ont déjà demandé comment imprimer 800K de lignes de logs :|
 
WRInaute passionné
Merci pour ses infos même si ce n'est pas trop à ma portée :? en cas de plantage serveur, c'est assez complexe pour un néophyte d'isoler la raison :(
 
WRInaute passionné
J'ai trouvé quelque chose de pas trop mal : advanced log analyser. Mais c'est un logiciel windows payant, en 30 jours de version d'évaluation.

J'avais déjà trouvé un AWstats (ou très ressemblant) sous windows qui s'install et s'utilise sans avoir à bidouiller des les lignes de commandes et dans les fichiers config. mais je ne le retrouve plus.

avec ce type de logiciel, je prend mon fichier log que je nettoie avant et après le crash serveur, je garde donc juste les 10 minutes avant et après le crash et ça me donne un aperçu de mon trafic à ce moment là. ça sert.

encore merci ;)
 
WRInaute passionné
Voilà un exemple de commande pour voir *l'heure* la plus fréquentée :
Code:
cat adminserv.log| grep "17/Nov/2010" | cut -d " " -f 4 | cut -d ":" -f 2 | uniq -c
     79 06
    148 07
..
ça fait "nombre d'affichage" et l'heure après.
Si tu connais déjà l'heure de ton crash, tu peux affiner ton filtrage :
Code:
cat adminserv.log| grep "17/Nov/2010:14" | cut -d " " -f 4 | cut -d ":" -f 3 | uniq -c
Là ça me sort 60 lignes, une par minute, ça permet déjà d'investiguer.

Bon, c'est des commandes en vrac pour dégrossir les logs.
Par exemple pour dégrossir des logs de mail, tu peux supprimer ce qui ne t'intéresse pas du tout (par exemple les login/logout POP, les signatures DKIM) :
Code:
angy:/var/log# cat mail.info|wc -l
71288
angy:/var/log# cat mail.info|grep -v "dkimproxy.out\|pop3d-ssl" | wc -l
66805
Ca fait déjà des lignes en moins à vérifier.
 
WRInaute passionné
Merci Julia41, c'est super sympa. Je ne connaissais pas l'utilité ni la manière de fonctionner 'cat', ça me donne plus envie de lire le manuel de savoir en gros comment ça fonctionne et de savoir que c'est ce qu'utilise un pro.
 
WRInaute passionné
Au niveau des pages de man, pour les outils aussi utilisé que "cat", généralement c'est incompréhensible, car trop chargé. Genre première ligne :
Code:
SYNOPSIS
       cat [OPTION]... [FILE]...
Je n'ai jamais utilisé d'option avec cat :p

Vu que tu as l'air fouineur (c'est un énorme compliment), ça arrivera avec le temps je pense au fur et à mesure de fouiner et après tu arriveras à faire des trucs sympa.
Déjà en tentant d'utiliser quelques simples fonctions à tes besoins, tu seras forcé de comprendre (par toi même, sans manuel) les fonctions sympa ;)

Sinon, pour les logs, quand ça plante, si c'est exceptionel, ça ne vaut pas toujours le coup entre :
- prendre le temps de comprendre et trouver ce qui a déconner
- prendre ce temps pour améliorer les performances d'un script qui consomme (un script php qui consomme par exemple)

Après si ça arrive tout le temps, ça peut être utile.
 
WRInaute passionné
Ouai je crois qu'on ne peut pas faire ce boulot (dans le web) sans mettre les doigts un peu partout, ou alors c'est un gros handicap.

Ce qu'il y a, c'est que sur mes serveurs en production, j'ai toujours peur de lancer une requête qu'il ne faut pas... :D j'ai bien une machine qui tourne sous linux sous la mains, mais j'ai la flemme et pas trop le temps d'y faire des tests.

Disons que ça fait 3~4 fois en 30 jours que je fait un reboot hard sur cette machine car le serveur se charge (swap ou cpu je sais pas) et l'accès ssh est impossible pour le reboot. C'est le 3e serveur où je pose ce site pourtant pas gourmand (en principe bien codé avec des cms comme wordpress + cache ...) et pas trop de trafic, surtout qu'il est tout seul sur un vds 512 mo.

Après une bonne lecture des logs, je me confirme que j'ai n'ai pas un script foireux caché sur mon serveur, là j'ai bien regardé. Donc impossible d'identifier réellement le problème. Par contre, sur les conseils que j'ai reçu ici, j'ai installé APC et c'est encourageant, je dois avoir 5 x moins d'utilisation de mon CPU. On va voir si ça tiens avec ça :)

Je comprends pas pourquoi les hébergeurs qui fournissent des dédiés ne donne pas une option de 'reboot hard automatique' qui se lancerait '1 fois' directement qu'un Down serait détecté sur la machine. Parce que là, on reçoit l'alerte du monitoring et on doit se connecter à notre interface pour demander un reboot hard. ça pourrait être automatisé avec juste une gestion des faux positifs...
 
Discussions similaires
Haut