---
name: server-health
description: Diagnostico completo de servidor -- monitorizacao de recursos, estado de servicos e identificacao de problemas de performance.
---

# /server-health - Diagnostico Completo de Servidor

Checklist sistematico para diagnosticar problemas de performance ou auditar estado do servidor CWP.

---

## Contexto NotebookLM

Consultar ANTES de executar para contexto especializado:

| Notebook | ID | Consultar quando |
|----------|-----|-----------------|
| Cloud e Infraestrutura TI | f9a79b5a-649f-4443-afaf-7ff562b6c2e7 | Sempre |

```
mcp__notebooklm__notebook_query({
  notebook_id: "f9a79b5a-649f-4443-afaf-7ff562b6c2e7",
  query: "<adaptar ao contexto do pedido>"
})
```

### Procedimentos relacionados

- [PROC-Backup-Sistema.md](file:///media/ealmeida/Dados/Hub/06-Operacoes/Procedimentos/D7-Tecnologia/Seguranca/PROC-Backup-Sistema.md)

---

## Servidor alvo

| Servidor | IP | MCP | User |
|----------|-----|-----|------|
| **CWP Principal** | 176.9.3.158 | ssh-unified | root |

```javascript
mcp__ssh-unified__ssh_execute({
  server: "server",
  command: "<comando>"
})
```

---

## Modos de execucao

| Comando | Descricao |
|---------|-----------|
| `/server-health` | Diagnostico completo (todos os checks) |
| `/server-health quick` | Apenas metricas criticas (load, RAM, disco) |
| `/server-health mysql` | Focus em MySQL e bases de dados |
| `/server-health ssl` | Verificacao de todos os certificados SSL |
| `/server-health sites` | Status de todos os sites WordPress |

---

## Workflow completo

Executar os 7 passos em sequencia. Comandos detalhados para cada passo em:

**-> [references/commands.md](references/commands.md)**

### Passo 1: Sistema (paralelo)

Recolher: load average, RAM, swap, disco, top processos CPU.

### Passo 2: MySQL

Recolher: status geral, processos activos, threads, slow queries, tamanho BDs, tabelas corrompidas.

### Passo 3: Web Servers

Verificar: Apache, Nginx, conexoes activas, GZIP, virtual hosts.

### Passo 4: PHP

Verificar: versao, memory limit, OPcache, PHP-FPM workers.

### Passo 5: SSL/Certificados

Listar certificados, verificar renovacoes, testar dominios especificos.

### Passo 6: Seguranca

Verificar: Fail2ban, portas abertas, logins SSH, firewall.

### Passo 7: Sites WordPress

Verificar todos os sites: versao WP, tamanho wp-content, acesso HTTP.

---

## Thresholds de alertas

| Metrica | OK | Warning | Critical |
|---------|-----|---------|----------|
| **Load (1m)** | <2 | 2-5 | >5 |
| **RAM** | <70% | 70-85% | >85% |
| **Swap** | <10% | 10-30% | >30% |
| **Disco** | <70% | 70-85% | >85% |
| **MySQL Threads** | <50 | 50-100 | >100 |
| **Slow Queries** | 0 | 1-10 | >10 |
| **Sites WP OK** | 100% | 90-99% | <90% |
| **SSL Expiring** | >30d | 15-30d | <15d |

---

## Template de output

Ver template completo em `references/commands.md` (seccao Template de Output).

Inclui:
- Resumo executivo com tabela de metricas e health score
- Alertas criticos e warnings
- Detalhes por seccao (sistema, MySQL, web, PHP, SSL, seguranca, sites WP)
- Recomendacoes priorizadas (urgente, importante, melhorias)

---

## Instrucoes de implementacao

1. Executar comandos em paralelo quando possivel (mcp__ssh-unified__ssh_execute)
2. Calcular health score: (checks OK / total checks) x 100
3. Gerar alertas baseados em thresholds
4. Agrupar recomendacoes por urgencia
5. Incluir troubleshooting especifico para cada problema detectado

---

## Anti-patterns

| Anti-pattern | Problema | Solucao |
|--------------|----------|---------|
| Assumir SSH como root | Pode falhar | Verificar permissoes primeiro |
| Executar comandos sequenciais | Lento | Paralelo quando possivel |
| Ignorar exit codes | Falhas silenciosas | Validar cada comando |
| Nao limpar recursos temp | Consume espaco | Limpeza em cada audit |
| Nao documentar problemas | Sem historico | Gravar em Desk/Obsidian |

---

## Checklist de execucao

- [ ] SSH conecta (testar `whoami`)
- [ ] Todas as metricas recolhidas (sistema, mysql, web, ssl)
- [ ] Thresholds aplicados (calcular status)
- [ ] Health score calculado
- [ ] Alertas gerados (critico/warning)
- [ ] Recomendacoes priorizadas
- [ ] Troubleshooting incluido
- [ ] Report formatado (Markdown)
- [ ] Opcional: gravar em Desk ou Obsidian

---

## Ficheiros de referencia

| Ficheiro | Conteudo |
|----------|----------|
| [references/commands.md](references/commands.md) | Comandos SSH por passo, queries MySQL, quick mode, deep dive, limpeza cache, template output, troubleshooting |

---

## Healing Log

Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.

```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```

*Adicionar nova linha após cada erro corrigido.*
