Monitores
TCP / Porta

Monitor TCP / Porta

O monitor TCP verifica se um host está aceitando conexões em uma porta específica. É ideal para monitorar serviços que não expõem uma interface HTTP, como bancos de dados, filas de mensagens e servidores de email.

Como funciona

O worker realiza uma conexão TCP pura ao host e porta configurados:

  1. Tenta abrir uma conexão TCP (TCP handshake)
  2. Se a conexão for estabelecida com sucesso → UP
  3. Se a conexão for recusada (connection refused) → DOWN
  4. Se o timeout for atingido sem resposta → DOWN

O monitor TCP não envia nenhum dado após estabelecer a conexão. Ele apenas verifica se a porta está aberta e aceitando conexões. Não é possível verificar o conteúdo do protocolo (ex: autenticar no banco de dados).

Configuração

Host

O endereço do servidor a ser monitorado. Pode ser:

  • Hostname: db.suaempresa.com.br
  • IP público: 203.0.113.10
⚠️

IPs privados (192.168.x.x, 10.x.x.x, 172.16.x.x) não são acessíveis pelo worker do TheAlert, que opera a partir de servidores externos. Para serviços internos, use o monitor Heartbeat.

Porta

O número da porta TCP a ser verificada (1–65535).

Timeout

Tempo máximo aguardando a conexão ser estabelecida. Padrão: 10 segundos.

Estados e mensagens de erro

EstadoMensagemCausa
UPConexão estabelecida com sucesso
DOWNConnection refusedPorta fechada ou serviço não escutando
DOWNConnection timeoutHost não respondeu no tempo configurado
DOWNHost not foundDNS não resolve o hostname
DOWNNetwork unreachableErro de rota de rede

Portas comuns para monitorar

ServiçoPorta padrão
PostgreSQL5432
MySQL / MariaDB3306
MongoDB27017
Redis6379
Memcached11211
SMTP25 / 587 / 465
IMAP143 / 993
POP3110 / 995
SSH22
FTP21
RDP3389
Elasticsearch9200
RabbitMQ5672
Kafka9092

Exemplos de uso

Monitorar PostgreSQL

CampoValor
NomeBanco de Dados — Produção
Hostdb.suaempresa.com.br
Porta5432
Intervalo60 segundos

Monitorar Redis

CampoValor
NomeRedis Cache
Hostcache.suaempresa.com.br
Porta6379
Intervalo30 segundos

Monitorar servidor de email SMTP

CampoValor
NomeSMTP — Porta 587
Hostmail.suaempresa.com.br
Porta587
Intervalo5 minutos

Diferença entre TCP e HTTP

AspectoTCPHTTP
O que verificaPorta abertaResposta HTTP válida
ProtocoloTCP puroHTTP sobre TCP
Verifica aplicaçãoNãoSim
Funciona com qualquer serviçoSimSomente HTTP

Use TCP quando:

  • O serviço não tem interface HTTP (banco de dados, cache, etc.)
  • Você quer verificar conectividade de rede independente da aplicação
  • O serviço HTTP está atrás de um load balancer e você quer monitorar os nós individuais

Use HTTP quando:

  • Você quer verificar que a aplicação em si está respondendo
  • Precisa validar o conteúdo da resposta
  • Quer verificar o status code específico

Boas práticas

Monitore a porta do serviço, não apenas SSH É comum monitorar apenas a porta 22 (SSH) para saber se o servidor está "vivo". Mas um servidor pode estar acessível via SSH e com o PostgreSQL parado. Monitore a porta do serviço real.

Combine TCP com HTTP Para aplicações críticas, use monitores em paralelo:

  • TCP na porta do banco de dados
  • HTTP no endpoint de health check da aplicação

Isso permite distinguir se o problema é na infraestrutura (banco caiu) ou na aplicação (banco ok, app com bug).

Atenção a firewalls Se o check TCP falhar inesperadamente, verifique se o firewall do servidor permite conexões da internet na porta monitorada. Muitos DBs são intencionalmente bloqueados externamente — nesse caso, use Heartbeat.

Próximos passos