55c907a3ac
Agregar 4 skills de ejemplo funcionales y README del sistema: Skills de ejemplo: - devops/deploy-service: deploy completo con rollback - analysis/log-analyzer: analisis de logs con metricas - communication/daily-report: reportes diarios automaticos - system/health-check: verificacion de salud multi-servicio Cada skill incluye: - SKILL.md con frontmatter YAML + instrucciones markdown - Descripcion de parametros y proceso paso a paso - Ejemplos de uso y consideraciones de seguridad skills/README.md documenta: - Diferencia entre tools (atomicas) y skills (flujos multi-paso) - Formato de SKILL.md y carga progresiva (3 niveles) - Categorias disponibles y uso desde agentes Las skills son contenido declarativo, no codigo Go.
2.7 KiB
2.7 KiB
name, description
| name | description |
|---|---|
| log-analyzer | Analiza logs de servicios buscando patrones de errores, warnings y anomalias. Genera un resumen estructurado con metricas, errores frecuentes y recomendaciones. |
Log Analyzer Skill
Esta skill analiza logs de servicios y genera reportes estructurados con hallazgos y recomendaciones.
Casos de uso
- Analizar logs de un servicio que esta fallando
- Buscar patrones de errores recurrentes
- Generar metricas de salud de un servicio
- Detectar anomalias en logs
Proceso de analisis
1. Obtener los logs
Opciones:
- Via SSH:
ssh_commandconjournalctlotail - Via HTTP:
http_getsi el servicio expone logs via API - Desde archivo local:
file_read(si el agente tiene la tool)
Ejemplo con journalctl:
journalctl -u <service-name> --since "1 hour ago" -n 1000
2. Parsear los logs
Identifica el formato de logs:
- JSON estructurado
- Formato de systemd
- Logs planos con timestamp
Extrae campos clave:
- Timestamp
- Nivel de log (ERROR, WARN, INFO, DEBUG)
- Mensaje
- Stack traces (si aplica)
3. Analizar patrones
Busca:
- Errores recurrentes (agrupa por mensaje similar)
- Picos de actividad (timeframes con muchos logs)
- Errores criticos (FATAL, PANIC, segfaults)
- Timeouts y connection errors
- Excepciones no manejadas
4. Generar metricas
Calcula:
- Total de lineas analizadas
- Conteo por nivel (ERROR, WARN, INFO)
- Top 10 errores mas frecuentes
- Timeline de errores (distribucion temporal)
- Rate de errores (errores por minuto)
5. Generar reporte
Formato del reporte:
## Log Analysis Report
**Service**: <service-name>
**Period**: <start> - <end>
**Total lines**: <N>
### Metrics
- Errors: <N> (<percentage>%)
- Warnings: <N> (<percentage>%)
- Info: <N> (<percentage>%)
- Error rate: <N> errors/min
### Top Errors
1. <error-message> (<N> occurrences)
2. <error-message> (<N> occurrences)
...
### Critical Issues
- <description>
- <description>
### Recommendations
- <recommendation>
- <recommendation>
Parametros requeridos
source: "ssh", "http", o "file"service_name: nombre del servicio (si source=ssh)host: servidor (si source=ssh)log_url: URL de logs (si source=http)file_path: ruta al archivo (si source=file)timeframe: "1 hour", "24 hours", "7 days", etc.
Parametros opcionales:
filter: patron regex para filtrar lineasmax_lines: limite de lineas a analizar (default: 10000)output_format: "markdown" o "json"
Ejemplo de uso
Usuario: "Analiza los logs de myapp en prod-server-01 de la ultima hora"
Agente:
- skill_search("analyze logs")
- skill_load("log-analyzer")
- ssh_command para obtener logs via journalctl
- Parsear y analizar logs
- Generar reporte markdown
- Enviar reporte al usuario