Aller au contenu

Adopter une démarche de diagnostic logique et efficace

1. Objectif du cours

Donner les bases méthodologiques et les ressources pour réaliser un diagnostic informatique : identifier un problème, en rechercher la cause et proposer une solution durable. Présenter outils (logs, monitoring, débogueurs) et méthodes (5 pourquoi, méthodes itératives).

2. Notions et définitions essentielles

  • Diagnostic informatique : méthode pour constater si une infrastructure/serveur est défaillant, identifier le problème et sa cause afin de réparer durablement.
  • Algorithme (CNIL) : description d'une suite d'étapes permettant d'obtenir un résultat à partir d'éléments en entrée.
  • Journal d'erreur / log : enregistrement des erreurs critiques d'un système, serveur ou application pendant le fonctionnement.
  • Syslog : protocole pour envoyer des fichiers de journal/messages (port UDP 514) vers un serveur centralisé.
  • Outil de monitoring / surveillance : logiciel pour vérifier la santé d'une infrastructure, détecter incidents et mesurer éléments réseau (ex. bande passante).
  • Débogage : processus d'identification et de correction d'erreurs (logiques, syntaxes, sémantiques, d'exécution).

3. Fonctionnement et principes

  • Identification du problème : formuler une problématique après collecte de données (entonnoir : du général au précis). Questions types : quel est le problème, quand survient-il, actions récentes, messages d'erreur, mises à jour, récurrence, comportement observé.
  • Élaboration d'hypothèses : la problématique oriente les pistes de recherche ; tester des hypothèses conduit à proposer des actions correctives.
  • Méthode des Cinq Pourquoi : questionner "Pourquoi ?" successivement pour remonter à la cause racine. Répéter autant de fois que nécessaire et impliquer les parties prenantes pour enrichir les réponses.
  • Méthodes itératives : démarrer par un test, répéter des itérations pour se rapprocher de la solution (processus de répétition). Exemples cités : Jacobi, Gauss–Seidel, SOR (surrelaxation). Ces méthodes favorisent l'amélioration continue mais peuvent être difficiles à cadrer et chronophages.
  • Utilisation des outils : centraliser et analyser les logs pour repérer anomalies ; surveiller la bande passante et les messages syslog ; employer un débogueur pour inspecter l'exécution via points d'arrêt.

4. Commandes et manipulations

Non abordé dans ce cours.

5. Sécurité et bonnes pratiques

  • Maintenir l'infrastructure (matériel et logiciels) pour garantir la disponibilité et la sécurité des données.
  • Centraliser les logs avec un gestionnaire de journaux pour faciliter le diagnostic et éviter de disperser les informations.
  • Mettre en place une surveillance continue (monitoring) pour détecter rapidement incidents et anomalies (bande passante, services, syslogs).
  • Favoriser les logiciels open-source pour bénéficier d'une communauté d'utilisateurs et de correctifs collaboratifs.
  • Impliquer les parties prenantes lors des diagnostics pour obtenir des informations complètes et construire des solutions pérennes.
  • Préférer les recherches en anglais pour accéder à un plus grand nombre de ressources et retours d'expérience.

6. Points essentiels à retenir pour le TSSR

  • Un diagnostic vise à identifier le dysfonctionnement et sa cause pour proposer une réparation durable.
  • Bien formuler la problématique est indispensable : collecte de données et questions en entonnoir.
  • La méthode des Cinq Pourquoi sert à remonter à la cause racine en posant "Pourquoi ?" à plusieurs reprises.
  • Les méthodes itératives répètent des tests pour converger vers une solution (Jacobi, Gauss–Seidel, SOR).
  • Les logs (journaux d'erreurs) sont centraux : ils enregistrent les anomalies et facilitent le diagnostic.
  • Le syslog permet de centraliser des messages provenant de différentes machines (port UDP 514).
  • Outils cités pour la gestion des logs : SemaText Cloud, DataDog, GrayLog.
  • Outils cités pour le monitoring : Cacti, Nagios, Monit.
  • Le débogueur utilise des points d'arrêt pour inspecter l'exécution et corriger erreurs (logique, syntaxe, sémantique, exécution).
  • Utiliser forums (Stack Overflow, Tek-Tips, Virtual Dr) et GitHub pour trouver des solutions et contributions communautaires.

7. Tableau récapitulatif

Élément Usage principal Atout principal
Méthode des 5 Pourquoi Remonter à la cause racine Simplicité et rapidité d'application
Méthodes itératives (Jacobi, Gauss–Seidel, SOR) Résolution algorithmique par répétition Convergence progressive vers solution
Gestionnaires de logs (SemaText, DataDog, GrayLog) Centraliser et analyser logs Suivi et recherche d'anomalies
Outils de monitoring (Nagios, Cacti, Monit) Surveiller état réseau/infrastructure Détection d'incidents en temps réel
Débogueur Inspecter exécution d'un programme Identification précise des bugs via points d'arrêt

8. Vérifications pratiques

  • Vérifier dans les logs que l'erreur concernée est bien enregistrée (entrée contenant priorité, entête, message).
  • Contrôler la collecte syslog : réception de messages sur le serveur central (port UDP 514).
  • Consulter graphiques de bande passante/performances (Cacti, Nagios) pour détecter pics ou anomalies.
  • Confirmer l'alerte/état d'un service via un outil de monitoring (Nagios/Monit).
  • Utiliser un débogueur pour atteindre un point d'arrêt et observer variables/flux d'exécution.
  • Vérifier qu'une action corrective proposée réduit/élimine la récurrence du problème (logs et monitoring).

9. Flashcards Anki

Qu'est-ce qu'un diagnostic informatique ? :: Méthode pour constater si une infrastructure/serveur est défaillant, identifier le problème et sa cause pour le résoudre durablement. Comment définit-on un algorithme selon la CNIL ? :: Description d'une suite d'étapes permettant d'obtenir un résultat à partir d'éléments fournis en entrée. Quel protocole et port est utilisé par syslog pour envoyer des messages ? :: Syslog utilise le protocole sur le port UDP 514. Citer quatre types d'erreurs à déboguer. :: Erreurs de logique, de syntaxe, sémantiques et d'exécution. Qui a créé la méthode des Cinq Pourquoi ? :: Sakichi Toyoda. Que signifie « itérative » dans ce cours ? :: Un processus de répétition. Nommer trois gestionnaires de journaux d'erreurs cités. :: SemaText Cloud, DataDog, GrayLog. Nommer trois outils de surveillance réseau mentionnés. :: Cacti, Nagios, Monit. Pourquoi utiliser des logiciels open-source pour le diagnostic ? :: Pour bénéficier d'une communauté, échanges et améliorations collaboratives du code. Quelle langue est recommandée pour effectuer des recherches techniques selon le cours ? :: L'anglais.