Streaming de logs de telemetria em tempo real
Transmita em tempo real os registos de acesso do proxy do seu servidor XProxy para o Graylog ou o SigNoz — monitorize vários dispositivos a partir de um único local, crie dashboards e receba alertas de erros.
Porquê utilizar a transmissão centralizada de registos?
- Monitorização unificada — acompanhe o acesso e o estado de todos os nós XProxy em tempo real.
- Consultas fáceis — filtre por dispositivo, região, ação ou código de erro.
- Resolução de problemas mais rápida — isole rapidamente erros, picos de tráfego ou comportamentos anómalos.
Etiquetagem recomendada
- Identificador do host — nome por servidor, por exemplo
sg-core-01,us-east-02. - Nome do serviço — agrupe por região ou unidade de negócio, por exemplo
xproxy-region-a.
Todos os registos transportam estas etiquetas, facilitando a criação de dashboards e de filtros entre dispositivos.
Casos de utilização comuns
- Contagem de IPs de clientes únicos — estime o tráfego real e detete fontes desconhecidas.
- Acompanhamento da taxa de erros — filtre
error_code != 00000para medir a fiabilidade. - Principais destinos e largura de banda — agrupe por
destination_hoste somereceived_bytesesent_bytes. - Monitorização por dispositivo/porta — utilize
modem_position,proxy_porteproxy_servicepara isolar um dongle específico. - Deteção de anomalias — alerte sobre picos súbitos de tráfego ou códigos de erro elevados.
Dicas operacionais para muitos dispositivos
- Nomenclatura consistente — padronize o Identificador do host e o Nome do serviço por região ou grupo.
- Separação de ambientes — utilize prefixos como
prod-/stg-no Nome do serviço. - Planeamento de retenção — defina a rotação de índices no Graylog; monitorize a utilização/retenção no SigNoz Cloud.
- Alertas de estado — alerte quando um nó deixar de enviar registos durante N minutos; volte a executar Testar Ligação depois de adicionar novos nós.
Opção A — Graylog
Instalar o Graylog
Requisitos: Ubuntu Server 20.04 ou 22.04, mínimo de 2 GB de RAM (4 GB recomendados).
curl x-proxy.io/graylog | bash
Criar uma entrada GELF UDP
- Abra o Graylog → Sistema → Entradas.
- Escolha GELF UDP e clique em Lançar nova entrada.
- Defina o endereço de ligação como
0.0.0.0e a porta como12201. - Clique em Guardar.

Configurar o XProxy para o Graylog
- Abra Definições gerais → Registos de telemetria.
- Coloque o interruptor Ativar Telemetria na posição ON.
- Defina o Fornecedor como Graylog.
- Introduza o Servidor Graylog como
YOUR_GRAYLOG_IP:12201. - Defina o Identificador do host e o Nome do serviço (opcional, mas recomendado).
- Clique em Guardar e, em seguida, em Testar Ligação.

Exemplos de consultas no Graylog
# By service/cluster
service_name:xproxy-region-a
# Only errors
error_code:!00000
# By action
action:CONNECT
# By device/slot
modem_position:3
Opção B — SigNoz
Instalar o SigNoz (Community)
Requisitos: Ubuntu Server 20.04, 22.04 ou 24.04. Ignore se estiver a utilizar o SigNoz Cloud.
curl x-proxy.io/signoz | bash
Configurar o XProxy para o SigNoz
- Abra Definições gerais → Registos de telemetria.
- Coloque o interruptor Ativar Telemetria na posição ON e selecione SigNoz como Fornecedor.
- Introduza o endpoint OTLP/HTTP, por exemplo
https://ingest.us.signoz.cloud:4318. - Cole a sua Chave de Ingestão (SigNoz Cloud) ou deixe em branco em instalações locais.
- Defina o Nome do serviço (por exemplo
xproxy-region-a). - Clique em Guardar e, em seguida, em Testar Ligação.

Exemplos de consultas no SigNoz
# By service name
service.name = "xproxy-region-a"
# Only errors
attributes.error_code != "00000"
# By action
attributes.action = "CONNECT"
# By device/slot
attributes.modem_position = 3
Referência de campos do registo
| Campo | Descrição |
|---|---|
log_date | Data do registo (DD/MM) |
log_time | Hora do registo (HH:MM:SS) |
proxy_service | Nome do grupo de serviço (por exemplo, MAIN) |
modem_position | Índice do dispositivo/ranhura que serve o pedido |
proxy_protocol | HTTP ou SOCKS5 |
proxy_port | Porta de escuta do proxy no XProxy |
proxy_user | Nome de utilizador usado para autenticar (vazio na lista branca de IP) |
client_ip | IP do cliente que utiliza o proxy |
destination_host | Host de destino pedido através do proxy |
destination_port | Porta de destino |
action | CONNECT (túnel) ou ACCESS (pedido HTTP) |
error_code | 00000 = sucesso; diferente de zero = erro |
received_bytes | Bytes do destino para o cliente |
sent_bytes | Bytes do cliente para o destino |
Referência de códigos de erro
O XProxy emite um error_code de cinco dígitos nos registos (por exemplo, 00000, 00004). Os zeros à esquerda são intencionais para uma ordenação e filtragem consistentes.
00000— Sucesso (ligação encerrada normalmente)00001–00009— Erros de autenticação (ACL/nome de utilizador/palavra-passe)00010— Limite de tráfego excedido00011–00019— Erros de ligação (socket/bind/connect)00020–00029— Erros internos (por exemplo, alocação de memória)00030–00039— Erros de redirecionamento do proxy HTTP CONNECT00050–00069— Erros de redirecionamento do proxy SOCKS500090–00099— Tempos limite de ligação / problemas de rede00100— Host não encontrado00200–00299— Erros do portmapper UDP00300–00399— Erros do portmapper TCP00400–00499— Erros do proxy SOCKS00500–00599— Erros do proxy HTTP
Resolução de problemas
- Sem dados — garanta que a telemetria está ativada e que clicou em Guardar. Gere tráfego através de qualquer porta de proxy.
- Graylog — confirme que a entrada GELF UDP está em execução na porta 12201 e que a firewall permite UDP 12201.
- SigNoz — o endpoint tem de incluir a porta 4318 e estar acessível via HTTPS. Verifique a chave de ingestão e a região do workspace.
Verificar se tudo funciona
- Graylog — pesquise
service_name:xproxy-logse verifique os campos da mensagem no painel direito. - SigNoz — no Explorador de registos, filtre pelo nome exato do serviço configurado, por exemplo
service.name = "xproxy-region-a". Em alternativa, limpe os filtros para ver todos os registos e confirmar a ingestão; abra qualquer linha para ver os atributos.
FAQ
Como verifico se os registos estão a ser transmitidos?
Utilize a secção Verificar se tudo funciona acima: no Graylog pesquise service_name:xproxy-logs; no SigNoz abra o Explorador de registos e filtre por service.name.
Como distinguir dispositivos ou regiões?
Defina o Identificador do host por servidor e o Nome do serviço por região ou cluster. Estas etiquetas aparecem em todos os registos.
Porque é que o proxy_user está vazio?
Provavelmente está a utilizar a lista branca de IP; o nome de utilizador de autenticação não está presente.
Qual é a diferença entre CONNECT e ACCESS?
CONNECT é o estabelecimento de um túnel; ACCESS é um pedido HTTP encaminhado pelo proxy para um destino.
Como posso alertar sobre erros?
Crie uma regra sobre error_code != "00000" numa janela de tempo; agrupe por service_name ou modem_position para identificar a origem.