Volver al inicio

Diagnósticos de servidor eBPF en 60 seg: melisai

Melisai automatiza los diagnósticos de servidor Linux: recopilación de métricas eBPF/BCC, procfs, sysfs en 60 segundos a JSON. Detecta 37 anomalías, genera comandos sysctl, integra con IA vía MCP. Ahorra rutina en incidentes.

Diagnósticos de Linux eBPF en 60 segundos: herramienta melisai
Advertisement 728x90

# Diagnóstico Automatizado de Servidores Linux: De Comprobaciones Manuales al Análisis eBPF en Minutos

Los desarrolladores y administradores de sistemas con experiencia en Linux conocen el procedimiento: una queja de "el servidor va lento" implica ejecutar las herramientas habituales — top, vmstat, iostat, ss. Eso es el diagnóstico de nivel 1, que toma 20–40 minutos. Luego viene sumergirse en herramientas eBPF como runqlat, biolatency, tcpretrans de Brendan Gregg. El problema: los incidentes raros borran tu memoria, así que estás constantemente buscando en Google archivos /proc, parámetros sysctl y la sintaxis de BCC-tools.

La IA (ChatGPT, Claude) simplifica el análisis de logs, pero no se encarga de la recopilación de datos. Las redes neuronales no ejecutan herramientas por sí solas ni conectan los puntos entre métricas como PruneCalled y la memoria TCP. Necesitas un recolector de datos estructurado para alimentar a la IA.

Melisai: Recopilación de Datos en un Solo JSON

Melisai es un binario estático en Go sin dependencias. Lánzalo con:

Google AdInline article slot
sudo melisai collect --profile quick -o report.json

El modo rápido toma 10 segundos, el modo profundo 60 segundos. Salida: JSON con métricas de CPU, memoria, disco, red, procesos, contenedores y GPU.

Lo que recopila:

  • Nivel 1: procfs, sysfs, ss, ethtool, nvidia-smi (sin necesidad de root).
  • Nivel 2: 67 herramientas BCC/eBPF (runqlat, biolatency, tcpretrans, etc., requiere root + bcc-tools).
  • Nivel 3: eBPF nativo vía cilium/ebpf (root + kernel ≥5.8 con BTF).

Respaldo: Si el nivel 2/3 no está disponible, ejecuta el nivel 1.

Google AdInline article slot

Recopilación en Dos Fases y Métricas de Tasa

Para evitar el efecto observador, la recopilación se divide:

  • Línea base: Métricas de nivel 1 (CPU, memoria, E/S, red).
  • eBPF: BCC-tools se ejecutan después de la línea base.

Cálculos basados en tasas: deltas entre mediciones. No contadores acumulativos (uptime de 200 días = softnet_dropped=5000 es normal), sino tasas (softnet_drop_rate=50/seg indica una anomalía).

37 reglas de anomalías basadas en Gregg y prácticas de producción:

Google AdInline article slot

| Categoría | Umbrales de Ejemplo |

|-----------|---------------------|

| CPU | util>95%, PSI>5%, runqlat p99>50ms |

| Memoria | reclaim directo>10/s, divisiones THP>1/s, fallos NUMA>5% |

| Disco | util>90%, latencia>50ms |

| Red | retransmisiones>50/s, conntrack>90% |

| GPU | Desajuste NUMA GPU-NIC |

Estudio de Caso: Fallo en Cascada en un Host Docker

Configuración de producción: 8 núcleos, 32GB RAM, RAID HDD. Síntomas: ralentización general.

sudo melisai collect --profile deep --ai-prompt -o report.json

Resultados (60 seg):

Puntuación de Salud: 46/100
Anomalías:
[CRÍTICA] tcp_retransmits 134/seg
[ADVERTENCIA] disk_util 80.5%
[ADVERTENCIA] cpu_psi 17.6%
[ADVERTENCIA] io_psi 12.8%
[ADVERTENCIA] disk_latency 12.1ms
[ADVERTENCIA] tcp_close_wait 1 socket

Cascada:

  • HDD p99=49ms → Latencia de E/S de bloques (biolatency).
  • PruneCalled=105 → Buffers TCP recortados (presión de memoria).
  • TCP retransmits=31/s → Pérdida de paquetes dentro del servidor.
  • WireGuard tx_dropped=226k → El túnel VPN sufre.

Causa raíz: Cuello de botella HDD. Recomendación: sysctl -w net.ipv4.tcp_mem='1048576 2097152 4194304'.

Integración con IA vía MCP

Servidor MCP integrado para Claude Desktop/Cursor:

{
  "mcpServers": {
    "melisai": {
      "command": "ssh",
      "args": ["root@server", "/usr/local/bin/melisai", "mcp"]
    }
  }
}

Llamadas de IA:

  • get_health — puntuación + anomalías.
  • explain_anomaly — causa raíz + comandos de corrección.
  • collect_metrics — informe completo con histogramas.

El JSON incluye ai_context.prompt con 27 antipatrones.

Recomendaciones y Limitaciones

Las recomendaciones son comandos listos para ejecutar:

{
  "type": "fix",
  "title": "Presión de memoria TCP (PruneCalled)",
  "commands": ["sysctl -w net.ipv4.tcp_mem='1048576 2097152 4194304'"],
  "evidence": "PruneCalled=105"
}

Limitaciones:

  • No es monitoreo (instantáneas, no Prometheus).
  • No es alertado (solo bajo demanda/cron).
  • No es perfilado de apps (pprof para eso).
  • Solo GPU NVIDIA (ROCm en roadmap).

Instalación y Compilación

curl -sSL https://melisai.dev/install | sh

Compilación:

GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o melisai ./cmd/melisai/

Apache 2.0.

Lecciones Clave

  • Recopila 67 herramientas eBPF + nivel 1 en 10–60 seg en JSON estructurado.
  • Métricas de tasa eliminan falsos positivos en servidores con uptime largo.
  • 37 reglas de anomalías + comandos sysctl listos.
  • Integración MCP: IA analiza directamente, sin copiar y pegar.
  • Recopilación en dos fases minimiza el efecto observador.

— Editorial Team

Advertisement 728x90

Leer después