6ae2e6be03
Estructura inicial de skills organizadas por categoría (analysis, coding, communication, devops, system). Incluye README con convenciones de formato y directorio por skill con sus prompts. Las skills son plantillas de prompts reutilizables que los agentes pueden invocar para tareas especializadas. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
96 lines
2.4 KiB
Markdown
96 lines
2.4 KiB
Markdown
---
|
|
name: health-check
|
|
description: >
|
|
Verifica la salud de uno o varios servicios y servidores. Usa esta skill
|
|
cuando el usuario pregunte si algo esta funcionando, si un servicio esta
|
|
arriba, o pida un chequeo de salud general. Tambien util despues de un
|
|
deploy o un incidente.
|
|
---
|
|
|
|
# Health check de servicios
|
|
|
|
## Prerequisitos
|
|
|
|
- Tool `ssh_command` habilitada
|
|
- Tool `http_get` para endpoints HTTP
|
|
- Servidores en `ssh.allowed_targets`
|
|
|
|
## Flujo
|
|
|
|
### 1. Determinar alcance
|
|
|
|
Inferir del contexto del usuario:
|
|
- **Servicio especifico**: checkear solo ese servicio
|
|
- **Servidor especifico**: checkear todos los servicios en ese servidor
|
|
- **General**: checkear todos los servidores y servicios conocidos
|
|
|
|
### 2. Checks basicos por servidor
|
|
|
|
Para cada servidor:
|
|
```bash
|
|
# Conectividad
|
|
ssh_command: "echo OK"
|
|
|
|
# Uptime y load
|
|
ssh_command: "uptime"
|
|
|
|
# Disco
|
|
ssh_command: "df -h / /var /tmp 2>/dev/null | tail -n +2"
|
|
|
|
# Memoria
|
|
ssh_command: "free -m | grep -E 'Mem|Swap'"
|
|
|
|
# Procesos zombie o en estado D
|
|
ssh_command: "ps aux | awk '{if ($8 ~ /Z|D/) print}' | head -5"
|
|
```
|
|
|
|
### 3. Checks por servicio
|
|
|
|
Para cada servicio:
|
|
```bash
|
|
# Estado systemd
|
|
ssh_command: "systemctl is-active <servicio>"
|
|
|
|
# Tiempo activo
|
|
ssh_command: "systemctl show <servicio> --property=ActiveEnterTimestamp --value"
|
|
|
|
# Puertos abiertos
|
|
ssh_command: "ss -tlnp | grep <puerto>"
|
|
|
|
# Ultimos errores
|
|
ssh_command: "journalctl -u <servicio> --priority=err --since '1 hour ago' --no-pager | tail -5"
|
|
```
|
|
|
|
**Health check HTTP** (si tiene endpoint):
|
|
```
|
|
http_get: "http://<host>:<puerto>/health"
|
|
```
|
|
|
|
### 4. Evaluar y reportar
|
|
|
|
Clasificar cada componente:
|
|
|
|
| Estado | Criterio |
|
|
|--------|----------|
|
|
| OK | Servicio activo, sin errores recientes, recursos normales |
|
|
| WARNING | Servicio activo pero con errores recientes, o recursos > 80% |
|
|
| CRITICAL | Servicio caido, disco lleno, o memoria agotada |
|
|
|
|
Reportar al usuario con formato claro:
|
|
```
|
|
Health Check — <fecha hora>
|
|
|
|
[OK] servidor-1: load 0.3, disco 45%, mem 40%
|
|
[OK] servicio-a: activo (uptime 5d), 0 errores
|
|
[WARNING] servicio-b: activo, 3 errores en ultima hora
|
|
[CRITICAL] servidor-2: no responde SSH
|
|
```
|
|
|
|
### 5. Recomendaciones
|
|
|
|
Si hay problemas, sugerir acciones:
|
|
- Servicio caido → "Intentar restart: `systemctl restart <servicio>`"
|
|
- Disco lleno → "Limpiar logs antiguos o expandir disco"
|
|
- Memoria alta → "Revisar procesos con mayor consumo"
|
|
- Errores frecuentes → "Revisar logs con la skill log-analyzer"
|