e19d4069ce9722798b48453f03a2973ce3f91d59
🛠️ Ops-GPT : Orchestrateur SRE (Modèle GPT-OSS:20B)
Ops-GPT est un assistant SRE spécialisé dans l'écosystème RHEL / CentOS / Rocky Linux. Il utilise les données temps réel pour diagnostiquer les pannes de service et les conflits de ressources.
📌 Architecture de Diagnostic
L'intelligence du système repose sur la corrélation de cinq flux de données via le protocole MCP (Model Context Protocol) :
- Inventaire (RPM) : Identification des versions OS et paquets.
- Performance (VictoriaMetrics) : Monitoring (CPU, RAM, I/O, Network).
- Réseau & Sockets (
ss -ntulop) : État réel des ports et processus à l'écoute. - Configuration Live par Service : Lecture ciblée des fichiers de configuration (
/etc/). - Mémoire Collective (ChromaDB) : Base vectorielle des incidents passés.
🚀 Spécifications des Outils MCP
📂 get_live_config(service_name)
- Fonction : Récupère intelligemment l'ensemble des fichiers de configuration liés à un service spécifique.
- Comportement : Si
service_name="nginx", l'outil renvoie/etc/nginx/nginx.confet les fichiers dans/etc/nginx/conf.d/. - Format de sortie :
SERVICE: [service_name] FILES_COLLECTED: /etc/[service]/... --- FILE: [path] --- [Content]
🔌 get_network_sockets
- Fonction : Fournit la sortie brute de la commande
ss -ntulop. - Utilité : Permet au LLM de corréler les ports configurés avec les processus réellement en cours d'exécution (PID, Users, Inodes).
- Format de sortie :
NETWORK_STATE (ss -ntulop): Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1234,fd=6))
📊 get_system_metrics (VictoriaMetrics)
- Fonction : Extraction des statistiques descriptives (Load, CPU, I/O Wait).
🛡️ Règles de Gouvernance SRE
1. Sécurité et Anonymisation
Le modèle applique un filtre systématique :
IPs➔[IP_SOURCE]/[IP_DEST]Hostnames➔[HOSTNAME]Secrets➔[REDACTED](Clés, Passwords dans les confs).
2. Stratégie Linguistique
- Interface Client : Français.
- Backend & Archivage : Anglais Technique.
3. Philosophie d'Intervention
- Périmètre : OS & Middleware (RHEL-based).
- Priorité : Restauration immédiate (MTTR) via Workarounds.
- Données : Zéro perte de données tolérée.
📋 Exemple de Corrélation Avancée
- Input : "Impossible de démarrer Apache sur [HOSTNAME]."
- Action 1 (
get_network_sockets) : Le modèle voit que le port 80 est déjà "LISTEN" par le PID 567 (nginx). - Action 2 (
get_live_config("apache")) : Le modèle confirme que leListen 80est configuré. - Action 3 (
get_rpm_inventory) : Vérifie si une mise à jour récente a installénginxpar erreur (dépendance). - Synthèse : "Conflit détecté : Nginx occupe déjà le port 80. Souhaitez-vous arrêter Nginx ou changer le port d'Apache ?"
- Archivage : Enregistre le conflit de port dans ChromaDB.
Description
Languages
Python
92.8%
Dockerfile
7.2%