Automatizovaná diagnostika Linux serverů: od manuálního sběru k eBPF analýze za minutu
Vývojáři a sysadmini se zkušenostmi v Linuxu vědí: stížnost "server se zpomaluje" vyžaduje standardní sadu příkazů — top, vmstat, iostat, ss. Tato Tier 1 diagnostika trvá 20–40 minut. Dále — ponoření do eBPF nástrojů jako runqlat, biolatency, tcpretrans od Brendan Gregg. Problém: vzácné incidenty rozmazávají znalosti, pokaždé je třeba hledat soubory v /proc, sysctl parametry a syntaxi BCC nástrojů.
AI (ChatGPT, Claude) zjednodušuje analýzu logů, ale neřeší sběr dat. Neuronové sítě nespouští nástroje samostatně, nestavějí souvislosti mezi metrikami jako PruneCalled a TCP pamětí. Je třeba strukturovaný sběrač dat pro předání do AI.
Melisai: sběr dat do jednoho JSON
Nástroj melisai — statický Go binární soubor bez závislostí. Spuštění:
sudo melisai collect --profile quick -o report.json
Quick režim — 10 sekund, deep — 60 sekund. Výstup: JSON s metrikami CPU, paměti, disku, sítě, procesů, kontejnerů, GPU.
Co sbírá:
- Tier 1: procfs, sysfs,
ss,ethtool,nvidia-smi(bez root). - Tier 2: 67 BCC/eBPF nástrojů (
runqlat,biolatency,tcpretransa další, root + bcc-tools). - Tier 3: nativní eBPF přes cilium/ebpf (root + kernel ≥5.8 s BTF).
Fallback: pokud Tier 2/3 nejsou dostupné, funguje Tier 1.
Dvoufázový sběr a rate metriky
Aby se předešlo observer efektu, sběr je rozdělen:
- Baseline: Tier 1 metriky (CPU, paměť, I/O, síť).
- eBPF: spuštění BCC nástrojů po baseline.
Rate-based výpočet: delta mezi měřeními. Ne cumulative čítače (uptime 200 dní = softnet_dropped=5000 — norma), ale rates (softnet_drop_rate=50/sec — anomálie).
37 pravidel anomálií na základě Gregg a provozních praktik:
| Kategorie | Příklady prahů |
|-----------|-----------------|
| CPU | util>95%, PSI>5%, runqlat p99>50ms |
| Paměť | direct reclaim>10/s, THP splits>1/s, NUMA miss>5% |
| Disk | util>90%, latency>50ms |
| Síť | retransmits>50/s, conntrack>90% |
| GPU | NUMA-nesoulad GPU-NIC |
Případová studie: kaskádová degradace na Docker hostu
Provoz: 8 jader, 32GB RAM, HDD RAID. Příznaky — obecné zpomalení.
sudo melisai collect --profile deep --ai-prompt -o report.json
Výsledek (60 sekund):
Health Score: 46/100
Anomalies:
[CRITICAL] tcp_retransmits 134/sec
[WARNING] disk_util 80.5%
[WARNING] cpu_psi 17.6%
[WARNING] io_psi 12.8%
[WARNING] disk_latency 12.1ms
[WARNING] tcp_close_wait 1 socket
Kaskáda:
- HDD p99=49ms → Block I/O latence (
biolatency). - PruneCalled=105 → TCP buffery se ořezávají (tlak na paměť).
- TCP retransmits=31/s → ztráty paketů uvnitř serveru.
- WireGuard tx_dropped=226k → VPN tunel trpí.
Kořen: HDD úzké hrdlo. Doporučení: sysctl -w net.ipv4.tcp_mem='1048576 2097152 4194304'.
Integrace s AI přes MCP
Vestavěný MCP server pro Claude Desktop/Cursor:
{
"mcpServers": {
"melisai": {
"command": "ssh",
"args": ["root@server", "/usr/local/bin/melisai", "mcp"]
}
}
}
AI volá:
get_health— skóre + anomálie.explain_anomaly— kořenová příčina + fix příkazy.collect_metrics— kompletní zpráva s histogramy.
JSON obsahuje ai_context.prompt s 27 antipatterny.
Doporučení a omezení
Doporučení — příkazy:
{
"type": "fix",
"title": "TCP memory pressure (PruneCalled)",
"commands": ["sysctl -w net.ipv4.tcp_mem='1048576 2097152 4194304'"],
"evidence": "PruneCalled=105"
}
Omezení:
- Ne monitoring (snapshot, ne Prometheus).
- Ne alerting (na vyžádání/cron).
- Ne app profiling (
pprofpro toto). - Pouze NVIDIA GPU (ROCm v roadmap).
Instalace a sestavení
curl -sSL https://melisai.dev/install | sh
Sestavení:
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o melisai ./cmd/melisai/
Apache 2.0.
Co je důležité
- Sběr 67 eBPF nástrojů + Tier 1 za 10–60 sekund do strukturovaného JSON.
- Rate metriky eliminují falešné poplachy na serverech s dlouhým uptimem.
- 37 pravidel anomálií + připravené sysctl příkazy.
- MCP integrace: AI přímo analyzuje bez copy-paste.
- Dvoufázový sběr minimalizuje observer efekt.
— Editorial Team
Zatím žádné komentáře.