wshobson/implémentation-slo
Définir et mettre en œuvre des Indicateurs de Niveau de Service (SLI) et des Objectifs de Niveau de Service (SLO) avec budgets d'erreur et alertes. À utiliser pour établir des objectifs de fiabilité, mettre en œuvre des pratiques SRE ou mesurer les performances d'un service.
Aperçu
Ce skill aide les agents IA à créer un cadre de fiabilité pour les services en utilisant les concepts SRE. Il automatise la définition des SLI, la définition des SLO, le calcul des budgets d'erreur et la configuration des alertes.
Comment l'utiliser
- Définir les SLI – L'agent analyse les données de performance de votre service (latence, taux d'erreur, débit, disponibilité) et propose des SLI pertinents.
- Définir les SLO – Sur la base des SLI, l'agent vous aide à établir des objectifs de fiabilité réalistes (par exemple, 99,9 % de disponibilité).
- Calculer les budgets d'erreur – L'agent calcule le budget d'erreur autorisé sur une fenêtre de temps (par exemple, 30 jours) et suit sa consommation.
- Configurer les alertes – L'agent met en place des alertes lorsque le budget d'erreur est épuisé ou approche de l'épuisement.
Exemples d'invites
- « Aide-moi à définir des SLI et SLO pour mon API de paiement. »
- « Quel est mon budget d'erreur actuel ? »
- « Configure une alerte pour un épuisement rapide du budget d'erreur. »
Formats de sortie
Le skill peut produire du texte en langage naturel, des diagrammes (en utilisant Mermaid), des fichiers de configuration YAML, des requêtes PromQL, ou du code Python pour le calcul des métriques.
Plateformes supportées
- Claude Code
- Cursor
- Codex
- Tout agent IA compatible avec les outils de lecture/écriture de fichiers et d'exécution de code
Dépendances optionnelles
- Accès à Prometheus ou à une plateforme d'observabilité similaire pour les métriques en temps réel
- Fichier de configuration au format YAML ou JSON pour le stockage des SLO
Exemple de configuration
slo:
service: payment-api
indicator: disponibilité
target: 99.9
window: 30j
errorBudget:
initial: 43m20s
remaining: 10m15s
Exemple de requête PromQL
(1 - sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m]))) * 100
Contribution
Les contributions sont les bienvenues. Veuillez ouvrir une issue ou une pull request sur le dépôt GitHub.