视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
write-incident-runbook【文档与办公】Crea manuales de incidentes estructurados con pasos de diagnóstico, procedimientos de resolución, rutas de escalada y plantillas de comunicación para una respuesta efectiva a incidentes. Útil para documentar procedimientos de respuesta para alertas recurrentes, estandarizar la respuesta a incidentes en una rotación de guardia, reducir el MTTR con pas…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Crea manuales accionables que guíen a los equipos de respuesta a través del diagnóstico y la resolución de incidentes.
Consulta Ejemplos Extendidos para archivos de plantilla completos.
Selecciona una plantilla apropiada según el tipo y la complejidad del incidente.
Estructura básica de plantilla de manual:
# [Alert/Incident Name] Runbook
## Overview | Severity | Symptoms
## Diagnostic Steps | Resolution Steps
## Escalation | Communication | Prevention | Related
Plantilla avanzada de manual SRE (extracto):
# [Service Name] - [Incident Type] Runbook
## Metadata
- Service, Owner, Severity, On-Call, Last Updated
## Diagnostic Phase
### Quick Health Check (< 5 min): Dashboard, error rate, deployments
### Detailed Investigation (5-20 min): Metrics, logs, traces, failure patterns
# ... (see EXAMPLES.md for complete template)
Componentes clave de la plantilla:
Esperado: La plantilla seleccionada coincide con la complejidad del incidente, las secciones son apropiadas para el tipo de servicio.
En caso de fallo:
Consulta Ejemplos Extendidos para consultas de diagnóstico completas y árboles de decisión.
Crea procedimientos de investigación paso a paso con consultas específicas.
Lista de verificación de diagnóstico de seis pasos:
Verificar la salud del servicio: Verificaciones del endpoint de salud y métricas de tiempo de actividad
curl -I https://api.example.com/health # Expected: HTTP 200 OK
up{job="api-service"} # Expected: 1 for all instances
Verificar la tasa de errores: Porcentaje de error actual y desglose por endpoint
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m])) * 100 # Expected: < 1%
Analizar los logs: Errores recientes y mensajes de error principales desde Loki
{job="api-service"} |= "error" | json | level="error"
Verificar la utilización de recursos: Estado de CPU, memoria y pool de conexiones
avg(rate(container_cpu_usage_seconds_total{pod=~"api-service.*"}[5m])) * 100
# Expected: < 70%
Revisar los cambios recientes: Despliegues, commits de git, cambios de infraestructura
Examinar las dependencias: Salud del servicio descendente, latencia de base de datos/API
Árbol de decisión de patrones de fallo (extracto):
Esperado: Los procedimientos de diagnóstico son específicos, incluyen valores esperados vs actuales, guían al equipo de respuesta a través de la investigación.
En caso de fallo:
Consulta Ejemplos Extendidos para las 5 opciones de resolución con comandos completos y procedimientos de reversión.
Documenta la remediación paso a paso con opciones de reversión.
Cinco opciones de resolución (resumen breve):
Revertir el despliegue (más rápido): Para errores post-despliegue
kubectl rollout undo deployment/api-service
Verificar → Monitorear → Confirmar resolución (tasa de error < 1%, latencia normal, sin alertas)
Escalar recursos: Para alta CPU/memoria, agotamiento del pool de conexiones
kubectl scale deployment/api-service --replicas=$((current * 3/2))
Reiniciar el servicio: Para fugas de memoria, conexiones bloqueadas, corrupción de caché
kubectl rollout restart deployment/api-service
Feature Flag / Circuit Breaker: Para errores de características específicas o fallos de dependencias externas
kubectl set env deployment/api-service FEATURE_NAME=false
Remediación de base de datos: Para conexiones de base de datos, consultas lentas, agotamiento del pool
-- Kill long-running queries, restart connection pool, increase pool size
Lista de verificación de verificación universal:
Procedimiento de reversión: Si la resolución empeora la situación → pausar/cancelar → revertir → reevaluar
Esperado: Los pasos de resolución son claros, incluyen verificaciones de verificación, proporcionan opciones de reversión para cada acción.
En caso de fallo:
Consulta Ejemplos Extendidos para niveles de escalada completos y plantilla de directorio de contactos.
Define cuándo y cómo escalar los incidentes.
Cuándo escalar inmediatamente:
Cinco niveles de escalada:
Proceso de escalada:
Directorio de contactos: Mantener una tabla con rol, Slack, teléfono, PagerDuty para:
Esperado: Criterios claros para la escalada, información de contacto fácilmente accesible, rutas de escalada alineadas con la estructura organizacional.
En caso de fallo:
Consulta Ejemplos Extendidos para todas las plantillas internas y externas con formato completo.
Proporciona mensajes pre-escritos para actualizaciones de incidentes.
Plantillas internas (Slack #incident-response):
Declaración inicial:
🚨 INCIDENT: [Title] | Severity: [Critical/High/Medium]
Impact: [users/services] | Owner: @username | Dashboard: [link]
Quick Summary: [1-2 sentences] | Next update: 15 min
Actualización de progreso (cada 15-30 min):
📊 UPDATE #N | Status: [Investigating/Mitigating/Monitoring]
Actions: [what we tried and outcomes]
Theory: [what we think is happening]
Next: [planned actions]
Mitigación completada:
✅ MITIGATION | Metrics: Error [before→after], Latency [before→after]
Root Cause: [brief or "investigating"] | Monitoring 30min before resolved
Resolución:
🎉 RESOLVED | Duration: [time] | Root Cause + Impact + Follow-up actions
Falsa alarma: Sin impacto, sin seguimiento necesario
Plantillas externas (página de estado):
Plantilla de correo electrónico para clientes: Cronología, descripción del impacto, resolución, prevención, compensación (si aplica)
Esperado: Las plantillas ahorran tiempo durante los incidentes, garantizan comunicación consistente, reducen la carga cognitiva en los equipos de respuesta.
En caso de fallo:
Consulta Ejemplos Extendidos para la configuración completa de alertas de Prometheus y el JSON del dashboard de Grafana.
Integra el manual con alertas y dashboards.
Agregar vínculos de manual a las alertas de Prometheus:
- alert: HighErrorRate
annotations:
runbook_url: "https://wiki.example.com/runbooks/high-error-rate"
dashboard_url: "https://grafana.example.com/d/service-overview"
incident_channel: "#incident-platform"
Incrustar vínculos de diagnóstico rápido en el manual:
Crear panel de dashboard de Grafana con vínculos de manual (panel markdown que lista todos los manuales de incidentes con información de guardia y escalada)
Esperado: Los equipos de respuesta pueden acceder a los manuales directamente desde las alertas o dashboards, las consultas de diagnóstico están pre-completadas, acceso con un clic a las herramientas relevantes.
En caso de fallo:
configure-alerting-rules - Vincular manuales a anotaciones de alerta para acceso inmediato durante incidentesbuild-grafana-dashboards - Incrustar vínculos de manuales en dashboards y paneles de diagnósticosetup-prometheus-monitoring - Incluir consultas de diagnóstico de Prometheus en los procedimientos del manualdefine-slo-sli-sla - Referenciar el impacto en el SLO en la clasificación de gravedad del incidente