Pular para o conteúdo
Skillpedia
Diversos41 mil · #4910

slo-implementation

Faz seu agente definir e implementar metas de confiabilidade para serviços. É útil para garantir que os sistemas atendam aos níveis de desempenho esperados e alertar sobre falhas.

O que ela faz

Esta ferramenta ajuda a definir metas de confiabilidade para serviços online. Ela mede o quão bem um serviço está funcionando (indicadores), estabelece objetivos claros (SLOs) e gerencia um 'orçamento de erros' para equilibrar novas funcionalidades com a estabilidade.

Quando usar

  • ✓Ao definir metas de quão confiável um serviço deve ser.
  • ✓Para medir se um serviço está atendendo às expectativas dos usuários.
  • ✓Quando se quer criar alertas automáticos para quando a confiabilidade cair.

Exemplo do que pedir para a IA

“Defina um objetivo de 99.9% de disponibilidade para a API nos últimos 28 dias, medindo requisições bem-sucedidas contra o total.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/wshobson/agents/blob/main/plugins/observability-monitoring/skills/slo-implementation/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/wshobson/agents/blob/main/plugins/observability-monitoring/skills/slo-implementation/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela funciona definindo métricas claras (SLIs) sobre o desempenho do serviço, como a porcentagem de requisições que não falham. Em seguida, estabelece metas (SLOs) para essas métricas e calcula um 'orçamento de erros' com base em quanto tempo o serviço pode falhar sem violar o SLO.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add wshobson/agents --skill slo-implementation

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/observability-monitoring/skills/slo-implementation/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Implementação de SLO

Framework para definir e implementar Indicadores de Nível de Serviço (SLIs), Objetivos de Nível de Serviço (SLOs) e orçamentos de erro.

Propósito

Implementar metas de confiabilidade mensuráveis usando SLIs, SLOs e orçamentos de erro para equilibrar a confiabilidade com a velocidade de inovação.

Quando Usar

  • Definir metas de confiabilidade de serviço
  • Medir a confiabilidade percebida pelo usuário
  • Implementar orçamentos de erro
  • Criar alertas baseados em SLO
  • Acompanhar metas de confiabilidade

Hierarquia SLI/SLO/SLA

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

Definindo SLIs

Tipos Comuns de SLI

1. SLI de Disponibilidade

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

2. SLI de Latência

# 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. SLI de Durabilidade

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

Definindo Metas de SLO

Exemplos de SLO de Disponibilidade

SLO % Tempo de Inatividade/Mês Tempo de Inatividade/Ano
99% 7.2 horas 3.65 dias
99.9% 43.2 minutos 8.76 horas
99.95% 21.6 minutos 4.38 horas
99.99% 4.32 minutos 52.56 minutos

Escolha de SLOs Apropriados

Considere:

  • Expectativas do usuário
  • Requisitos de negócios
  • Desempenho atual
  • Custo da confiabilidade
  • Benchmarks de concorrentes

Exemplos de 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]))

Cálculo do Orçamento de Erro

Fórmula do Orçamento de Erro

Error Budget = 1 - SLO Target

Exemplo:

  • SLO: 99.9% de disponibilidade
  • Orçamento de Erro: 0.1% = 43.2 minutos/mês
  • Erro Atual: 0.05% = 21.6 minutos/mês
  • Orçamento Restante: 50%

Política de Orçamento de Erro

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

Implementação de SLO

Regras de Gravação do Prometheus

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

Regras de Alerta de SLO

groups:
  - name: slo_alerts
    interval: 1m
    rules:
      # Queima rápida: taxa 14.4x, janela de 1 hora
      # Consome 2% do orçamento de erro em 1 hora
      - 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:

…
Perguntas frequentes

O que é um SLI?

SLI significa Indicador de Nível de Serviço. É uma métrica quantitativa que mede algum aspecto do nível de serviço fornecido, como a porcentagem de requisições que foram respondidas com sucesso.

O que é um SLO?

SLO significa Objetivo de Nível de Serviço. É uma meta definida para um SLI. Por exemplo, um SLO pode ser que 99.9% das requisições sejam bem-sucedidas.

O que é um orçamento de erros?

É a quantidade de 'falha' permitida antes que um SLO seja violado. Ele ajuda a decidir quando é seguro lançar novas funcionalidades e quando focar em consertar problemas existentes.

Detalhes

Descrição original do autor

Define and implement Service Level Indicators (SLIs) and Service Level Objectives (SLOs) with error budgets and alerting. Use when establishing reliability targets, implementing SRE practices, or measuring service performance.

repo: wshobson/agents

Popularidade

Estrelas no GitHub
41 mil
Posição no ranking
#4910
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas