#pAlerts
Painel de operações, alertas e telemetria ao vivo
O painel de operação (#pOps) mostra ao vivo e como histórico de 24 horas: e-mails por minuto de entrada e saída, e-mails adiados e devolvidos, taxa de spam, logins com falha, tamanho da fila e idade da mensagem mais antiga, conexões ativas por protocolo, CPU, memória, espaço livre em disco, tamanho do banco de dados, expiração de certificados e nós do cluster. Os alertas (#pAlerts) informam violações de limites por e-mail, webhook, SMS, Telegram, Signal ou WhatsApp. Ferramentas externas leem os mesmos dados via /metrics (Prometheus), OpenTelemetry ou o fluxo de eventos ao vivo (Server-Sent Events).
Na primeira inicialização, o nextxch cria cinco regras sem destinos (fila travada, disco quase cheio, certificado expirando, muitos logins com falha, muitos bounces). Elas aparecem no histórico; para ser notificado, adicione um endereço de e-mail ou um webhook em Destinos e marque-o na regra. O histórico sobrevive a reinicializações (Ops:PersistHistory = false desativa isso).
Fluxo de eventos ao vivo para ferramentas de monitoramento
Autenticação como na API de administração (chave de API de um administrador via X-Api-Key, Bearer ou Basic). Administradores de locatário veem apenas o seu locatário. Filtros: types, direction, status, q; maxRate limita os eventos por segundo (padrão 20, máx. 200); o excesso é informado em um evento dropped.
curl -N -H "X-Api-Key: $NEXTXCH_KEY" \
"https://mail.company.com/api/admin/telemetry/stream?types=delivery,rejection,auth-failure&maxRate=50"
event: delivery
data: {"at":"2026-11-02T08:15:01Z","direction":"Outbound","status":"Delivered","from":"billing@company.com","to":"customer@example.com","code":250,...}
event: auth-failure
data: {"account":"info@company.com","protocol":"IMAP","remoteIp":"203.0.113.7","reason":"invalid password"}
# Types: delivery, rejection, auth-failure, filter, alert, queue
Configurações, valores padrão e boas práticas
| Configuração / local | Descrição | Valor padrão | Boa prática para produção |
|---|---|---|---|
Alarmregel |
Métrica, condição (>, >=, <, <=), limite e duração em minutos. O alerta só dispara quando a condição se mantém por esse tempo sem interrupção. | 5 min |
Ignore picos curtos: pelo menos 5 minutos para taxas (por minuto), 0 minutos para a expiração de certificados. |
Abklingzeit, Wiederholung, Entwarnung |
O cooldown é o tempo mínimo entre duas mensagens da mesma regra; a repetição lembra enquanto o alerta permanecer ativo; a recuperação informa o fim. | 60 min / aus / an |
Mantenha o tempo de espera em 30 minutos ou mais, para que um valor oscilante não fique gerando alertas repetidos. |
Ziele |
E-mail (o remetente é o administrador que salvou as configurações), webhook (JSON com type nextxch.alert, assinado com X-Nextxch-Signature: sha256=...), SMS, Telegram, Signal, WhatsApp pelos canais em Notificações. | - |
Adicione pelo menos um destino fora do seu próprio servidor de e-mail (SMS, mensageiro ou webhook): se a entrega estiver fora do ar, um e-mail de alerta não chegará. |
Messwerte in Prometheus und OpenTelemetry |
Todos os valores do painel estão em /metrics: nextxch_mail_inbound_total, nextxch_mail_outbound_total, nextxch_mail_deferred_total, nextxch_mail_bounced_total, nextxch_mail_rejected_total, nextxch_mail_spam_total, nextxch_auth_failures_total, nextxch_mail_spam_rate_percent, nextxch_queue_messages, nextxch_queue_deferred_messages, nextxch_queue_oldest_age_minutes, nextxch_connections_active{protocol}, nextxch_process_cpu_percent, nextxch_process_working_set_bytes, nextxch_disk_free_percent, nextxch_disk_free_bytes, nextxch_database_size_bytes, nextxch_tls_certificate_min_expiry_days, nextxch_tls_certificate_expiry_days{domain}, nextxch_cluster_nodes_active, nextxch_alerts_firing, nextxch_smtp_filter_verdicts_total{type,verdict}, nextxch_smtp_filter_failures_total. | aktiv |
Via OTLP, os instrumentos têm os mesmos nomes com pontos em vez de sublinhados (nextxch.mail.inbound); a conversão para Prometheus gera novamente os mesmos nomes. |