ASD

Slo Implementation

Define e implementa Indicadores (SLI) y Objetivos (SLO) de nivel de servicio con error budgets y alertas, para establecer metas de fiabilidad y prácticas SRE.

Estrellas
38.8k

en todo el repo

Actividad
47

0–100, la ruta de este skill

Actualizado
hace 2 meses

último commit aquí

Commits
1

últimos 90 días

Contexto
1.8k tok

57 tok en reposo

Paquete
2 archivos

8 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add wshobson/agents --skill slo-implementation --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Define SLIs (disponibilidad, latencia, durabilidad) con queries PromQL
  • Establece objetivos SLO y calcula presupuestos de error
  • Genera recording rules de Prometheus para SLI/SLO y burn rate
  • Crea alertas de consumo rápido/lento del error budget
  • Diseña estructura de dashboard Grafana para el cumplimiento SLO

Úsalo cuando

  • Definir objetivos de fiabilidad del servicio
  • Medir la fiabilidad percibida por el usuario
  • Implementar error budgets
  • Crear alertas basadas en SLO

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Ayúdame a definir SLIs y SLOs para mi API
    • Crea reglas de Prometheus para el error budget de disponibilidad
    • Necesito alertas de burn rate para mi SLO de latencia
    • Diseña un dashboard de cumplimiento SLO en Grafana

    SKILL.md

    En inglés

    SLO Implementation

    Framework for defining and implementing Service Level Indicators (SLIs), Service Level Objectives (SLOs), and error budgets.

    Purpose

    Implement measurable reliability targets using SLIs, SLOs, and error budgets to balance reliability with innovation velocity.

    When to Use

    • Define service reliability targets
    • Measure user-perceived reliability
    • Implement error budgets
    • Create SLO-based alerts
    • Track reliability goals

    SLI/SLO/SLA Hierarchy

    SLA (Service Level Agreement)
      ↓ Contract with customers
    SLO (Service Level Objective)
      ↓ Internal reliability target
    SLI (Service Level Indicator)
      ↓ Actual measurement
    

    Defining SLIs

    Common SLI Types

    1. Availability SLI

    # Successful requests / Total requests
    sum(rate(http_requests_total{status!~"5.."}[28d]))
    /
    sum(rate(http_requests_total[28d]))
    

    2. Latency SLI

    # Requests below latency threshold / Total requests
    sum(rate(http_request_duration_seconds_bucket{le="0.5"}[28d]))
    /
    sum(rate(http_request_duration_seconds_count[28d]))
    

    3. Durability SLI

    # Successful writes / Total writes
    sum(storage_writes_successful_total)
    /
    sum(storage_writes_total)
    

    Reference: See references/slo-definitions.md

    Setting SLO Targets

    Availability SLO Examples

    SLO % Downtime/Month Downtime/Year
    99% 7.2 hours 3.65 days
    99.9% 43.2 minutes 8.76 hours
    99.95% 21.6 minutes 4.38 hours
    99.99% 4.32 minutes 52.56 minutes

    Choose Appropriate SLOs

    Consider:

    • User expectations
    • Business requirements
    • Current performance
    • Cost of reliability
    • Competitor benchmarks

    Example SLOs:

    slos:
      - name: api_availability
        target: 99.9
        window: 28d
        sli: |
          sum(rate(http_requests_total{status!~"5.."}[28d]))
          /
          sum(rate(http_requests_total[28d]))
    
      - name: api_latency_p95
        target: 99
        window: 28d
        sli: |
          sum(rate(http_request_duration_seconds_bucket{le="0.5"}[28d]))
          /
          sum(rate(http_request_duration_seconds_count[28d]))
    

    Error Budget Calculation

    Error Budget Formula

    Error Budget = 1 - SLO Target
    

    Example:

    • SLO: 99.9% availability
    • Error Budget: 0.1% = 43.2 minutes/month
    • Current Error: 0.05% = 21.6 minutes/month
    • Remaining Budget: 50%

    Error Budget Policy

    error_budget_policy:
      - remaining_budget: 100%
        action: Normal development velocity
      - remaining_budget: 50%
        action: Consider postponing risky changes
      - remaining_budget: 10%
        action: Freeze non-critical changes
      - remaining_budget: 0%
        action: Feature freeze, focus on reliability
    

    Reference: See references/error-budget.md

    SLO Implementation

    Prometheus Recording Rules

    # SLI Recording Rules
    groups:
      - name: sli_rules
        interval: 30s
        rules:
          # Availability SLI
          - record: sli:http_availability:ratio
            expr: |
              sum(rate(http_requests_total{status!~"5.."}[28d]))
              /
              sum(rate(http_requests_total[28d]))
    
          # Latency SLI (requests < 500ms)
          - record: sli:http_latency:ratio
            expr: |
              sum(rate(http_request_duration_seconds_bucket{le="0.5"}[28d]))
              /
              sum(rate(http_request_duration_seconds_count[28d]))
    
      - name: slo_rules
        interval: 5m
        rules:
          # SLO compliance (1 = meeting SLO, 0 = violating)
          - record: slo:http_availability:compliance
            expr: sli:http_availability:ratio >= bool 0.999
    
          - record: slo:http_latency:compliance
            expr: sli:http_latency:ratio >= bool 0.99
    
          # Error budget remaining (percentage)
          - record: slo:http_availability:error_budget_remaining
            expr: |
              (sli:http_availability:ratio - 0.999) / (1 - 0.999) * 100
    
          # Error budget burn rate
          - record: slo:http_availability:burn_rate_5m
            expr: |
              (1 - (
                sum(rate(http_requests_total{status!~"5.."}[5m]))
                /
                sum(rate(http_requests_total[5m]))
              )) / (1 - 0.999)
    

    SLO Alerting Rules

    groups:
      - name: slo_alerts
        interval: 1m
        rules:
          # Fast burn: 14.4x rate, 1 hour window
          # Consumes 2% error budget in 1 hour
          - alert: SLOErrorBudgetBurnFast
            expr: |
              slo:http_availability:burn_rate_1h > 14.4
              and
              slo:http_availability:burn_rate_5m > 14.4
            for: 2m
            labels:
              severity: critical
            annotations:
              summary: "Fast error budget burn detected"
              description: "Error budget burning at {{ $value }}x rate"
    
          # Slow burn: 6x rate, 6 hour window
          # Consumes 5% error budget in 6 hours
          - alert: SLOErrorBudgetBurnSlow
            expr: |
              slo:http_availability:burn_rate_6h > 6
              and
              slo:http_availability:burn_rate_30m > 6
            for: 15m
            labels:
              severity: warning
            annotations:
              summary: "Slow error budget burn detected"
              description: "Error budget burning at {{ $value }}x rate"
    
          # Error budget exhausted
          - alert: SLOErrorBudgetExhausted
            expr: slo:http_availability:error_budget_remaining < 0
            for: 5m
            labels:
              severity: critical
            annotations:
              summary: "SLO error budget exhausted"
              description: "Error budget remaining: {{ $value }}%"
    

    SLO Dashboard

    Grafana Dashboard Structure:

    ┌────────────────────────────────────┐
    │ SLO Compliance (Current)           │
    │ ✓ 99.95% (Target: 99.9%)          │
    ├────────────────────────────────────┤
    │ Error Budget Remaining: 65%        │
    │ ████████░░ 65%                     │
    ├────────────────────────────────────┤
    │ SLI Trend (28 days)                │
    │ [Time series graph]                │
    ├────────────────────────────────────┤
    │ Burn Rate Analysis                 │
    │ [Burn rate by time window]         │
    └────────────────────────────────────┘
    

    Example Queries:

    # Current SLO compliance
    sli:http_availability:ratio * 100
    
    # Error budget remaining
    slo:http_availability:error_budget_remaining
    
    # Days until error budget exhausted (at current burn rate)
    (slo:http_availability:error_budget_remaining / 100)
    *
    28
    /
    (1 - sli:http_availability:ratio) * (1 - 0.999)
    

    Additional patterns and templates

    More detailed templates and worked examples live in references/details.md. Read that file for the full pattern library.

    Reproducido de wshobson/agents bajo licencia MIT. Leer esta página en markdown.

    Archivos

    2 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere métricas expuestas en Prometheus (o compatibles con PromQL) y, opcionalmente, Grafana para los dashboards.

    Detalles

    Creador
    wshobson
    Licencia
    MIT
    Recursos incluidos
    referencias
    Repositorio
    wshobson/agents
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de wshobson/agents

    Este repo incluye 180 skills. Si instalas uno, normalmente ya tienes los demás.

    Úsalo al seleccionar y colocar iconos, imágenes, SVGs, diagramas o infografías de apoyo aprobados en un PPTX editable.

    Costo de contexto al activarse
    344 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo cuando pidan optimizar un prompt, mejorar su rendimiento, diseñar una plantilla, aplicar chain-of-thought, few-shot prompting o técnicas avanzadas de prompt engineering para producción.

    Costo de contexto al activarse
    1.3k tok
    Tamaño del paquete
    10 archivos
    Última actualización
    el mes pasado
    herramientas desarrollo

    Úsalo al redactar o reparar una especificación JSON con coordenadas explícitas para un PPTX editable.

    Costo de contexto al activarse
    489 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para validar o reparar un PPTX editable en cuanto a geometría, accesibilidad, editabilidad nativa, linaje de fuente e integridad del paquete OOXML.

    Costo de contexto al activarse
    409 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para analizar un PPTX de referencia en modo solo lectura: estructura, tema, tipografía, ritmo de layout, diagnósticos, catálogos de plantillas derivados o inspección segura del paquete OOXML.

    Costo de contexto al activarse
    689 tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo al preparar la narrativa, las fuentes y el contexto de diseño para un nuevo deck PPTX editable.

    Costo de contexto al activarse
    415 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Skills relacionados

    Configura Turborepo para builds de monorepo eficientes con caché local y remota. Útil al configurar Turborepo, optimizar pipelines de build o implementar caching distribuido.

    Costo de contexto al activarse
    2k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    devops infraestructura

    Implementa observabilidad integral para service meshes, incluyendo tracing distribuido, métricas y visualización. Útil para monitoreo de mesh, depuración de latencia y SLOs.

    Costo de contexto al activarse
    708 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    devops infraestructura

    Domina técnicas de programación defensiva en Bash para scripts de nivel producción: úsalo al escribir shell scripts robustos, pipelines CI/CD o utilidades de sistema que requieran tolerancia a fallos.

    Costo de contexto al activarse
    498 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    devops infraestructura