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.

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](/ubuntu/20261017_025931_100/captures/s01_c02_sudo_tee__usr_local_bin_choreo_diagnose____dev_nul.png)
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.

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

É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.

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.

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.

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.

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.

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é.

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).

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.