Files
unibots/skills/analysis/log-analyzer/SKILL.md
T
agent fc644ecd6e 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.
2026-06-07 11:50:13 +02:00

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_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:

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 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