Docs/ Operações/ Monitoramento e Métricas

Monitoramento e Métricas

Acompanhe sua infraestrutura com métricas integradas, alertas configuráveis, verificações de uptime e páginas de status compartilháveis -- tudo sem ferramentas externas.

Painel de Métricas

O sh0 coleta métricas de uso de recursos de cada contêiner e do sistema host. O painel de métricas fornece visualizações em tempo real e históricas de CPU, memória, disco e uso de rede.

Acesse métricas de dois lugares:

  • Métricas do servidor -- Uso geral de recursos do host em todos os contêineres. Navegue até Configurações → Métricas.
  • Métricas do serviço -- Uso por contêiner. Abra qualquer serviço e clique na aba Métricas.
Server-level metrics dashboard -- showing CPU, memory, disk, and network charts with time range selector

Métricas de CPU

Métricas de CPU mostram o percentual de núcleos de CPU disponíveis em uso. Para contêineres com limites de CPU, o gráfico também exibe o limite como linha de referência para que você possa ver quão perto o contêiner está do throttling.

CPU usage chart -- showing a time series line graph with the container CPU limit displayed as a dashed line

Métricas de Memória

Métricas de memória exibem consumo atual de RAM, uso de cache e o limite configurado. Um contêiner que consistentemente usa próximo do seu limite de memória pode precisar de uma alocação maior ou pode ter um vazamento de memória.

  • Usado -- Memória ativa consumida pelo processo.
  • Cache -- Cache do sistema de arquivos (pode ser recuperado pelo SO).
  • Limite -- O teto de memória configurado.

Disco e Rede

Métricas de disco mostram espaço total e usado no sistema de arquivos do host. Métricas de rede rastreiam tráfego de entrada e saída por contêiner em bytes por segundo.

Disk usage bar and network I/O chart -- showing inbound and outbound traffic over time

Retenção de Métricas

Métricas são armazenadas no banco de dados SQLite interno do sh0 com downsampling automático para manter os requisitos de armazenamento baixos:

Intervalo de TempoResoluçãoRetenção
Última 1 hora10 segundos1 hora
Últimas 24 horas1 minuto24 horas
Últimos 7 dias5 minutos7 dias
Últimos 30 dias1 hora30 dias
Note
Dados de métricas são armazenados localmente no servidor. Se precisar de retenção de métricas a longo prazo ou monitoramento externo, você pode integrar com ferramentas como Prometheus ou Grafana expondo o endpoint de métricas.

Configurando Alertas

Alertas notificam você quando uma métrica ultrapassa um limite. Você pode definir alertas sobre uso de CPU, uso de memória, espaço em disco e status de saúde do contêiner.

  1. Navegue até Configurações → Alertas.
  2. Clique em Adicionar Alerta.
  3. Selecione o tipo de métrica (CPU, memória, disco ou status do contêiner).
  4. Defina o valor limite (ex.: CPU > 80%).
  5. Escolha a duração -- por quanto tempo a condição deve persistir antes de disparar (ex.: 5 minutos).
  6. Selecione um ou mais canais de notificação.
  7. Clique em Salvar.
Alert configuration form -- metric type selector, threshold slider, duration input, and notification channel checkboxes

Canais de Notificação

O sh0 suporta múltiplos canais de notificação para alertas:

  • E-mail -- Enviar e-mails de alerta para um ou mais endereços.
  • Webhook -- POST um payload JSON para qualquer URL (funciona com Slack, Discord, PagerDuty, etc.).
  • Painel -- Mostrar um banner de notificação no painel do sh0 (sempre habilitado).
Webhook payload example
{
  "alert": "CPU Usage High",
  "service": "my-api",
  "stack": "production",
  "metric": "cpu_percent",
  "value": 92.5,
  "threshold": 80,
  "status": "firing",
  "timestamp": "2026-03-21T14:30:00Z"
}
Tip
Para enviar alertas para o Slack, crie uma URL de Incoming Webhook do Slack e adicione como canal de notificação webhook. O payload de alerta do sh0 funciona com o formato esperado pelo Slack.

Monitoramento de Uptime

O monitoramento de uptime verifica se seus serviços estão respondendo a requisições HTTP. O sh0 faz ping nos seus endpoints configurados em intervalos regulares e registra status de resposta e latência.

  1. Abra seu serviço e navegue até a aba Uptime.
  2. Clique em Adicionar Verificação.
  3. Insira a URL a monitorar (ex.: https://myapp.sh0.app/health).
  4. Defina o intervalo de verificação (30 segundos, 1 minuto, 5 minutos, etc.).
  5. Opcionalmente defina o código de status esperado (padrão: 200).
  6. Clique em Salvar.
Uptime monitoring dashboard -- showing uptime percentage, response time graph, and recent check results

Quando uma verificação falha consecutivamente pelo número configurado de retentativas, o sh0 aciona o alerta associado. Quando o serviço se recupera, uma notificação de recuperação é enviada automaticamente.

Páginas de Status Públicas

Crie uma página de status pública para compartilhar o uptime dos seus serviços com os usuários. Páginas de status mostram o estado atual e o uptime histórico dos serviços selecionados.

  1. Navegue até Configurações → Páginas de Status.
  2. Clique em Criar Página de Status.
  3. Escolha um slug de URL (ex.: status.seudominio.com).
  4. Selecione os serviços e verificações de uptime a exibir.
  5. Personalize o título da página e a marca.
  6. Clique em Publicar.
Warning
O formulário de subscrição por e-mail só aparece numa página de estado pública quando a instância consegue realmente enviar correio (SMTP configurado nas Definições). Sem SMTP, a página é servida sem o formulário, em vez de prometer um e-mail de confirmação que nunca chegaria.
Public status page -- showing service statuses (operational, degraded, outage) and a 90-day uptime history bar
Note
Páginas de status são servidas pelo próprio sh0 através do Caddy. Você pode apontar um domínio personalizado para sua página de status adicionando um registro CNAME. Certificados SSL são provisionados automaticamente.