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.