Première commande: est-elle réactive?
Si vous ne pouvez pas vous connecter, il y a de plus gros problèmes en cours. Cela se présente généralement en deux versions: défaillance matérielle et défaillance logicielle. Les deux sont potentiellement catastrophiques. Pour éviter les erreurs DFA, vérifiez d'abord l'état général du matériel - un simple coup d'œil suffit généralement.
Deuxième ordre: les structures sous-jacentes du système sont-elles en bonne santé et en bon ordre?
Vérifiez la "Triade d'Or" des systèmes:
- Le temps processeur est suffisant pour le traitement
- Un espace disque suffisant est disponible pour le stockage
- La mémoire est suffisante pour les charges de travail
Au cours des dernières décennies, la triade s'est développée en un "quad" qui comprend les communications (mise en réseau):
- La connectivité est fonctionnelle, réactive et a une capacité
Troisième ordre: quelle est la gravité du problème?
Quels programmes ou services sont concernés? Par ordre décroissant de gravité, est-il systémique (à l'échelle du système), groupé (un groupe de programmes) ou isolé (un programme spécifique)? Les grappes de programmes sont généralement déclenchées parce qu'un service sous-jacent spécifique a échoué ou n'a pas répondu. Les problèmes systémiques sont parfois liés à cela (pensez aux conflits DNS ou IP), mais savoir où chercher est généralement la clé.
Quatrième ordre: les outils de diagnostic fournissent-ils des données utiles concernant le problème?
Maintenant que vous avez des informations sur la santé du système (deuxième ordre) et quelles parties de celui-ci rencontrent des problèmes (troisième ordre), cela devrait vous permettre de déterminer facilement où se situe le problème.
Les messages d'erreur ou les fichiers journaux devraient être un point de cheminement courant lors de ce voyage.
Problèmes de processeur:
Problèmes d'espace disque / d'E / S:
Problèmes de mémoire:
Problèmes de connectivité:
- ping
- route (et arp et rarp et amis)
- iptables, ipchains, ipfw (pour les gens BSD là-bas)
- traceroute ou mtr
- hosts, nslookup ou dig
- netstat
Plainte la plus courante (que j'entends):
L'e-mail n'est pas envoyé assez rapidement (plus d'une minute entre l'envoi et la réception par le destinataire) ou l'e-mail rejette ma tentative d'envoi. Cela se résume généralement au limiteur de débit de Postfix qui intervient lors d'une tempête de spam, ce qui affecte la capacité d'accepter la livraison interne.
Un exemple concret:
Par contre, ce n'est pas toujours le cas. Une fois, le problème a persisté quel que soit le redémarrage du service; donc après 3 minutes, il était temps de commencer à regarder autour. Le processeur était occupé mais inférieur à 100%, mais la charge avait grimpé à 15 sur une boîte de seulement 2 cœurs, et menaçait d'aller plus haut. La commande supérieure a révélé que le système de messagerie était saturé, avec le scanner de messagerie, mais aucun processus enfant amavis n'était visible. C'était la clé - la commande mail queue (mailq) a montré plus de 150 messages non livrés, dont plus de 80% étaient du spam, au cours des 20 dernières minutes. Un ajustement rapide pour abaisser le limiteur de débit (qui a réduit le taux d'admission de la tempête de spam) tout en augmentant le nombre de processus d'analyse de courrier électronique enfant (pour aider à traiter le backlog), suivi d'un redémarrage du service, a résolu le problème et le système a pu pour terminer les livraisons en peu de temps.
Le problème était dû au fait que le processus parent amavis était mort et que les processus enfants avaient finalement tous suivi leur cours (ils s'arrêtent automatiquement après tant d'analyses pour éviter les fuites de mémoire). Il y avait donc des processus SMTP dans postfix qui tentaient de contacter ... Thin Air ... pour effectuer l'analyse de spam / virus qui était nécessaire. La distribution que j'utilisais avait des packages obsolètes qui ne seraient jamais mis à jour; comme l'installation devait être remplacée dans un an environ, j'ai "surpassé" manuellement l'installation vers la dernière version, qui comprenait plusieurs corrections de bogues. Je n'ai pas eu le même problème depuis.
Si vous le pouvez, j'essayerais toujours d'arrêter toutes les cartes réseau, à l'exception de la gestion.
la source
Vérification de dmesg pour toute erreur - je commence généralement par un
dmesg | tail
, car il y a des chances que les choses tournent mal et que le serveur essaie toujours de faire ce qui cause l'erreur.la source
La première chose que je vérifie est «top» (y a-t-il des processus étranges; ceux qui monopolisent la mémoire ou le temps CPU.)
Si rien ne se passe là-bas, je vais vérifier «qui» pour voir si quelqu'un d'autre est sur ma machine pour une raison quelconque.
Peut-être qu'un système de fichiers a été démonté; vérifiez avec un appel à «cat / etc / mtab» puis «fstab» pour vous assurer que tout se passera bien au démarrage.
Vérifiez la disponibilité pour vous assurer que le nombre d'utilisateurs sur la boîte est raisonnable (ne devrait être que vous), puis parcourez var / log / auth.log pour voir si quelque chose ne va pas.
Ce sont des fourre-tout. Selon les erreurs que votre boîte génère, vous devrez peut-être examiner des processus spécifiques qui causent le problème.
la source
top df -h et TOUJOURS vérifier / var / log pour s'assurer que la partition n'est pas remplie. Cela m'a fait fondre à plusieurs reprises.
la source
df -ha
pour vérifier si les disques durs sont pleins et si quelqu'un n'a pas reçu d'avertissement
htop ou top
pour vérifier la mémoire et l'utilisation du processeur n'est pas anormalement élevé.
Alternativement, si la boîte ne répond pas, je vais dans le client vm-ware et je vérifie cpu / ram à partir de là.
la source
Exécuter quelque chose comme (at) sar sur l'hôte est presque obligatoire. L'utilité de pouvoir obtenir des instantanés historiques du processeur, du réseau, de la mémoire et des E / S de disque (entre autres) ne peut pas être sous-estimée.
Il y a eu de nombreuses fois où j'ai pu diagnostiquer un défaut en examinant ce que l'hôte faisait au cours des dernières 24 heures et en voyant quand les choses ont commencé à mal tourner.
la source
Sous linux, je vérifie généralement dmesg et / var / log / messages ou / var / log / syslog. dmesg indiquera s'il s'agit d'une panne matérielle soudaine; beaucoup d'autres problèmes apparaîtront dans les journaux système.
la source
Je suppose que la première chose que je fais est une vérification de l'espace disque (comme d'autres l'ont mentionné). Si les vérifications simples ne révèlent pas de problème "courant", je poursuivrai mes recherches.
Une chose que j'aime faire est de capturer un instantané du système. Je peux les saluer plus tard pour chercher tout ce qui a attiré mon attention.
De là, c'est le dépannage 101, mais je trouve un peu plus rapide de récupérer les journaux enregistrés et si la condition disparaît pendant que je suis connecté, j'ai quelque chose à continuer ou à rechercher des changements.
la source