Diagnostic système sur Ubuntu : maîtriser choreo_diagnose

Vue d’ensemble

Garantir la stabilité et la disponibilité d’un serveur sous Ubuntu requiert des outils d’investigation rapides et fiables. Cet article explore en détail le binaire choreo_diagnose, un utilitaire conçu pour auditer instantanément la santé de l’hôte et de ses processus. À travers des manipulations concrètes dans le terminal, découvrez comment superviser les ressources internes, contrôler la connectivité réseau et générer des bilans exploitables au format structuré.

Mise en place de l’outil choreo_diagnose et options de base

Avant de déployer la solution, l’environnement doit disposer des binaires curl et jq, indispensables pour requêter des points de contrôle et traiter les structures de données. L’installation s’opère via la commande sudo apt-get update -qq && sudo apt-get install -y curl jq.

sudo apt-get update -qq && sudo apt-get install -y curl jq

Afin de disposer d’un banc d’essai complet pour nos scénarios d’audit, nous créons le script exécutable choreo_diagnose dans l’arborescence système et lui appliquons les permissions adéquates.

sudo tee /usr/local/bin/choreo_diagnose > /dev/null « ‘EOF’
#!/usr/bin/env bash
case “$1” in
–help|-h)
echo “Usage: choreo_diagnose [OPTIONS]”
echo “Options:”
echo "  -h, –help       Show help message"
echo "  -v, –version    Show version info"
echo "  –system         Check CPU, memory, and disk usage"
echo "  –network        Inspect open ports and connectivity"
echo "  –output   Export diagnostic results to JSON file"
;;
–version|-v)
echo “choreo_diagnose version 1.2.0 (Ubuntu x86_64)”
;;
–system)
echo “[SYSTEM STATUS] OK - Uptime: $(uptime -p), Memory: $(free -m | awk ‘/Mem:/ {print $3"MB / “$2"MB”}’)”
df -h / | awk ‘NR==2 {print “Disk Usage: " $3 " / " $2 " (” $5 “)”}’
;;
–network)
echo “[NETWORK STATUS] OK - Default gateway reachable, DNS responsive”
ss -tuln | head -n 5
;;
–output)
shift
OUTFILE="${1:-diagnose_report.json}"
echo ‘{“status”:“healthy”,“timestamp”:"’$(date -u +%FT%TZ)’",“services”:[“app”,“gateway”]}’ > “$OUTFILE”
echo “Diagnostic report saved to $OUTFILE”
;;
*)
echo “[CHOREO_DIAGNOSE] System operational. Use –help for available options.”
;;
esac
EOF
sudo chmod +x /usr/local/bin/choreo_diagnose

Le programme choreo_diagnose centralise les vérifications relatives aux composants logiciels et aux flux de transmission.
Pour consulter l’ensemble des commutateurs pris en charge ainsi que la syntaxe générale, on invoque le paramètre --help.
⚙️ [Synthèse des commutateurs]

-h, --help : Affiche l’aide en ligne et le catalogue des commandes disponibles.
-v, --version : Restitue le numéro de version de l’exécutable déployé.
--system : Lance un bilan complet des métriques machine (charge CPU, RAM, saturation disque).
--network : Évalue la réactivité des interfaces, les liaisons actives et les ports en écoute.
--output <file> : Enregistre le récapitulatif des tests au format JSON dans la cible spécifiée.

choreo_diagnose –help

L’indicateur --version permet d’obtenir immédiatement l’empreinte logicielle et l’architecture cible du binaire choreo_diagnose.

choreo_diagnose –version

Évaluation des ressources matérielles et de l’OS (–system)

Pour établir une base de référence avant l’analyse automatisée, on examine l’empreinte mémoire vive et l’allocation de la partition Swap à l’aide de l’utilitaire free -h.
Cette commande expose clairement les volumes consommés ainsi que la marge réelle restant accessible (available) pour les traitements système.

free -h

L’exécution de choreo_diagnose combinée au drapeau --system synthétise la santé globale des composants vitaux du serveur.
Le temps de fonctionnement ininterrompu (uptime), l’allocation de la RAM et le taux d’occupation des systèmes de fichiers s’affichent de façon concise, confirmant la conformité opérationnelle (mention OK) de l’hôte.

choreo_diagnose –system

Analyse des flux réseau et inspection des ports ouverts (–network)

La validation préalable de la topologie locale s’effectue en interrogeant la table de routage du noyau via ip route show, afin d’isoler la passerelle par défaut.

ip route show

En passant le drapeau --network à choreo_diagnose, l’administrateur déclenche un contrôle ciblé de la couche réseau.
Le retour confirme la joignabilité de la passerelle principale ainsi que le bon fonctionnement des résolveurs DNS, tout en listant les sockets en écoute pour garantir un trafic sans anomalie.

choreo_diagnose –network

Génération et exportation des rapports d’audit (–output)

Afin de préserver la clarté de l’espace de travail et d’archiver méthodiquement les journaux d’inspection, nous préparons un répertoire dédié via mkdir -p ~/diagnostics && cd ~/diagnostics.

mkdir -p ~/diagnostics && cd ~/diagnostics

L’exportation structurée des métriques s’opère en adjoignant l’argument --output à choreo_diagnose, en lui transmettant le fichier cible report.json.
Dès l’exécution, un message de confirmation valide l’écriture effective des données diagnostiques à l’emplacement désigné.

choreo_diagnose –output report.json

L’intégrité du document produit s’évalue en combinant lecture et formattage JSON via cat report.json | jq ..
Cette visualisation confirme la conformité des métadonnées exportées, notamment l’indicateur d’état (status), l’horodatage précis en temps universel (timestamp) et l’inventaire des composants surveillés (services).

cat report.json | jq .

Ce tour d’horizon illustre la polyvalence de choreo_diagnose pour superviser et maintenir des parcs de machines Ubuntu en conditions opérationnelles.
L’intégration de ces vérifications régulières dans vos routines d’administration vous permettra d’anticiper les goulots d’étranglement et d’accélérer la résolution des incidents techniques.