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>
71 lines
2.1 KiB
Markdown
71 lines
2.1 KiB
Markdown
---
|
|
name: log-analyzer
|
|
description: >
|
|
Analiza logs de servicios para encontrar errores, patrones y anomalias.
|
|
Usa esta skill cuando el usuario pida revisar logs, buscar errores en un
|
|
servicio, diagnosticar problemas, o entender que paso en un periodo de tiempo.
|
|
Funciona con journalctl, archivos de log, y logs de Docker.
|
|
---
|
|
|
|
# Analisis de logs
|
|
|
|
## Prerequisitos
|
|
|
|
- Tool `ssh_command` habilitada (para logs remotos)
|
|
- Acceso al servidor donde estan los logs
|
|
|
|
## Flujo
|
|
|
|
### 1. Identificar fuente de logs
|
|
|
|
Preguntar o inferir del contexto:
|
|
- **Servicio**: nombre del servicio o contenedor
|
|
- **Periodo**: rango de tiempo a analizar (default: ultima hora)
|
|
- **Servidor**: host donde corren los logs
|
|
- **Tipo**: systemd (journalctl), archivo (/var/log/...), o Docker
|
|
|
|
### 2. Obtener logs
|
|
|
|
Segun el tipo de fuente:
|
|
|
|
**Systemd (journalctl):**
|
|
```bash
|
|
ssh_command: "journalctl -u <servicio> --since '<periodo>' --no-pager"
|
|
```
|
|
|
|
**Archivo de log:**
|
|
```bash
|
|
ssh_command: "tail -n 500 /var/log/<servicio>/<archivo>.log"
|
|
# o con filtro de tiempo:
|
|
ssh_command: "awk '/2024-01-15 14:00/,/2024-01-15 15:00/' /var/log/<servicio>.log"
|
|
```
|
|
|
|
**Docker:**
|
|
```bash
|
|
ssh_command: "docker logs --since <periodo> <contenedor> 2>&1 | tail -500"
|
|
```
|
|
|
|
### 3. Analisis
|
|
|
|
Buscar en los logs:
|
|
- **Errores**: lineas con ERROR, FATAL, panic, exception, traceback
|
|
- **Warnings**: lineas con WARN, warning
|
|
- **Patrones repetitivos**: errores que se repiten (agrupar por tipo)
|
|
- **Timestamps**: cuando empezaron los problemas
|
|
- **Correlaciones**: errores que ocurren juntos o en secuencia
|
|
|
|
### 4. Reporte
|
|
|
|
Presentar al usuario:
|
|
1. **Resumen**: estado general (saludable / con problemas / critico)
|
|
2. **Errores encontrados**: listado agrupado por tipo con conteo
|
|
3. **Timeline**: cuando empezaron y si siguen ocurriendo
|
|
4. **Causa probable**: si se puede inferir del contexto
|
|
5. **Recomendacion**: accion sugerida (restart, fix config, escalar, etc.)
|
|
|
|
## Tips
|
|
|
|
- Si los logs son muy extensos, obtener primero un conteo de errores y luego los detalles de los mas frecuentes
|
|
- Usar `grep -c` para contar antes de traer lineas completas
|
|
- Para logs grandes, usar `tail` o rangos de tiempo acotados
|