docs(easypanel): healing log INC-032 — restart storm por stall de compactacao de memoria, nao bug de app
- easypanel-monitor: entrada healing log com deteccao (containerd shim disconnected + journalctl -k rcu/soft lockup) e fix (sysctl compaction_proactiveness/swappiness + cgroup limits) - easypanel-troubleshoot: novo padrao 'Crash Loop multi-servico' distinto do crash loop single-app; corrigida referencia obsoleta a ssh-unified (permanentemente proibido) para ssh/bash nativo; healing log entry
This commit is contained in:
@@ -343,6 +343,7 @@ Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de exe
|
|||||||
|
|
||||||
```jsonl
|
```jsonl
|
||||||
{"date":"","issue":"","fix":"","source":"user|auto"}
|
{"date":"","issue":"","fix":"","source":"user|auto"}
|
||||||
|
{"date":"2026-08-22","issue":"Varios servicos nao relacionados a quebrar e reiniciar em simultaneo, ciclicamente — NAO e bug de app; e stall de compactacao de memoria do kernel (kcompactd0, vm.compaction_proactiveness) sob pressao do host Proxmox sem folga, que faz o containerd perder shims em massa e o Swarm reagendar tudo. Detectar com: journalctl -u containerd | grep 'shim disconnected' | cut -c1-16 | sort | uniq -c (rajadas na mesma janela de 1min) + journalctl -k | grep -iE 'rcu|soft lockup'. Confirmar se e evento de HOST (nao so do easy) comparando pvesh rrddata das outras VMs no mesmo minuto antes de investigar servico a servico. Ver INC-032. Nota: ssh-unified MCP esta permanentemente proibido — usar ssh nativo/bash.","fix":"sysctl vm.compaction_proactiveness=0 + vm.swappiness=10 (persistir em /etc/sysctl.d/); aplicar cgroup memory limit a todo o container sem tecto (docker update --memory ao vivo nao exige restart).","source":"auto"}
|
||||||
```
|
```
|
||||||
|
|
||||||
*Adicionar nova linha após cada erro corrigido.*
|
*Adicionar nova linha após cada erro corrigido.*
|
||||||
|
|||||||
@@ -131,6 +131,12 @@ Fix: Add variable to EasyPanel environment
|
|||||||
```
|
```
|
||||||
Pattern: Restart count > 3 in 10min
|
Pattern: Restart count > 3 in 10min
|
||||||
Fix: Check logs for root cause
|
Fix: Check logs for root cause
|
||||||
|
|
||||||
|
Se VÁRIOS serviços não relacionados reiniciarem na MESMA janela (~1min):
|
||||||
|
NÃO é bug de app individual. Ver INC-032 — provável stall de compactação
|
||||||
|
de memória do kernel (host sem folga) a derrubar containerd em massa.
|
||||||
|
Confirmar: journalctl -u containerd | grep "shim disconnected" |
|
||||||
|
cut -c1-16 | sort | uniq -c (rajadas na mesma janela = confirma).
|
||||||
```
|
```
|
||||||
|
|
||||||
### Database Connection
|
### Database Connection
|
||||||
@@ -215,7 +221,7 @@ Ver skill `/easypanel-api` para documentação completa.
|
|||||||
|
|
||||||
## MCPs Necessários
|
## MCPs Necessários
|
||||||
|
|
||||||
- ✅ `ssh-unified` - Acesso ao servidor para API e fallback
|
- ⚠️ `ssh-unified` está PERMANENTEMENTE PROIBIDO (regra global) — usar `ssh`/`bash` nativo para acesso ao servidor
|
||||||
|
|
||||||
## Tools Necessários
|
## Tools Necessários
|
||||||
|
|
||||||
@@ -290,6 +296,7 @@ Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de exe
|
|||||||
|
|
||||||
```jsonl
|
```jsonl
|
||||||
{"date":"","issue":"","fix":"","source":"user|auto"}
|
{"date":"","issue":"","fix":"","source":"user|auto"}
|
||||||
|
{"date":"2026-08-22","issue":"Padrao de 'varios servicos a quebrar e reiniciar sucessivamente' foi confundido inicialmente com bugs de app individuais. Causa real era host-level: stall de compactacao de memoria do kernel (kcompactd0) sob pressao do host Proxmox sem folga, derrubando o containerd em massa e disparando reagendamento simultaneo de dezenas de servicos Swarm nao relacionados. 76/90 containers no easy corriam sem qualquer cgroup memory limit, o que agravou o impacto (um processo sem tecto, surrealdb, chegou a 24-30GB e disparou OOM). Ver INC-032 para diagnostico completo e comandos.","fix":"Antes de investigar servico a servico: correlacionar timestamps de 'Failed'/'Shutdown' entre servicos via docker service ps; se simultaneos, investigar journalctl -k (rcu/soft lockup) e journalctl -u containerd (shim disconnected) no host antes de assumir bug de app. Aplicar cgroup memory limit a qualquer container sem tecto.","source":"auto"}
|
||||||
```
|
```
|
||||||
|
|
||||||
*Adicionar nova linha após cada erro corrigido.*
|
*Adicionar nova linha após cada erro corrigido.*
|
||||||
|
|||||||
Reference in New Issue
Block a user