feat: import agents_and_robots platform as unibots (Matrix-out, unibus transport)
Reemplaza el scaffold del echobot por la plataforma completa de bots traida desde ~/DataProyects/Github/agents_and_robots tras la operacion Matrix-out: los bots ya no hablan por Matrix sino por el bus unibus (modelo todo-rooms + E2E via shell/transportunibus sobre github.com/enmanuel/unibus/pkg/client). - go.mod: replace de unibus -> ../unibus y de fn-registry -> ../../../.. (paths relativos reajustados a la nueva ubicacion dentro de fn_registry). - app.md: bump a 0.2.0, descripcion + arquitectura + comandos + gotchas reales. - modulo Go conservado como github.com/enmanuel/agents (sin reescribir imports). agents_and_robots queda archivado como museo de la era Matrix.
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
---
|
||||
name: log-analyzer
|
||||
description: >
|
||||
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_command` con `journalctl` o `tail`
|
||||
- Via HTTP: `http_get` si el servicio expone logs via API
|
||||
- Desde archivo local: `file_read` (si el agente tiene la tool)
|
||||
|
||||
Ejemplo con journalctl:
|
||||
```bash
|
||||
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:
|
||||
|
||||
```markdown
|
||||
## 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 lineas
|
||||
- `max_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:
|
||||
1. skill_search("analyze logs")
|
||||
2. skill_load("log-analyzer")
|
||||
3. ssh_command para obtener logs via journalctl
|
||||
4. Parsear y analizar logs
|
||||
5. Generar reporte markdown
|
||||
6. Enviar reporte al usuario
|
||||
Reference in New Issue
Block a user