Realtime Telemetry Log Streaming
Stream proxy access logs from your XProxy server to Graylog or SigNoz in real time — monitor multiple devices from one place, build dashboards, and alert on errors.
Why use centralized log streaming?
- Unified monitoring — watch access and health across all XProxy nodes in real time.
- Easy querying — filter by device, region, action, or error code.
- Faster troubleshooting — quickly isolate errors, traffic spikes, or abnormal behavior.
Configure at: XProxy → General Settings → Telemetry Logs. Supported providers: Graylog (GELF UDP) and SigNoz (OTLP/HTTP).
Recommended labeling
- Host Identifier — per-server name, e.g.
sg-core-01,us-east-02. - Service Name — group by region or business unit, e.g.
xproxy-region-a.
Every log carries these labels, making it easy to build dashboards and cross-device filters.
Option A — Graylog
Install Graylog
Requirements: Ubuntu Server 20.04 or 22.04, minimum 2 GB RAM (4 GB recommended).
bash
curl x-proxy.io/graylog | bash
Create a GELF UDP input
- Open Graylog → System → Inputs.
- Choose GELF UDP and click Launch new input.
- Set Bind address to
0.0.0.0and Port to12201. - Click Save.

Configure XProxy for Graylog
- Open General Settings → Telemetry Logs.
- Toggle Enable Telemetry ON.
- Set Provider to Graylog.
- Enter Graylog Server as
YOUR_GRAYLOG_IP:12201. - Set Host Identifier and Service Name (optional but recommended).
- Click Save, then Test Connection.

Query examples in Graylog
graylog query
# By service/cluster
service_name:xproxy-region-a
# Only errors
error_code:!00000
# By action
action:CONNECT
# By device/slot
modem_position:3
Option B — SigNoz
Install SigNoz (Community)
Requirements: Ubuntu Server 20.04, 22.04, or 24.04. Skip if using SigNoz Cloud.
bash
curl x-proxy.io/signoz | bash
Configure XProxy for SigNoz
- Open General Settings → Telemetry Logs.
- Toggle Enable Telemetry ON and select SigNoz as Provider.
- Enter OTLP/HTTP Endpoint, e.g.
https://ingest.us.signoz.cloud:4318. - Paste your Ingestion Key (SigNoz Cloud) or leave blank for local installs.
- Set Service Name (e.g.
xproxy-region-a). - Click Save, then Test Connection.

Query examples in SigNoz
signoz query
# 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
Log field reference
| Field | Description |
|---|---|
log_date | Date of the log (DD/MM) |
log_time | Time of the log (HH:MM:SS) |
proxy_service | Service group name (e.g. MAIN) |
modem_position | Device/slot index serving the request |
proxy_protocol | HTTP or SOCKS5 |
proxy_port | Proxy listening port on XProxy |
proxy_user | Username used to authenticate (empty for IP whitelist) |
client_ip | IP of the client using the proxy |
destination_host | Target host requested via proxy |
destination_port | Target port |
action | CONNECT (tunnel) or ACCESS (HTTP request) |
error_code | 00000 = success; non-zero = error |
received_bytes | Bytes from destination to client |
sent_bytes | Bytes from client to destination |
Error code reference
00000— Success (connection closed normally)00001–00009— Authentication errors (ACL/username/password)00010— Traffic limit exceeded00011–00019— Connection errors (socket/bind/connect)00020–00029— Internal errors (e.g. memory allocation)00030–00039— HTTP CONNECT proxy redirection errors00050–00069— SOCKS5 proxy redirection errors00090–00099— Connection timeouts / network issues00100— Host not found00200–00299— UDP portmapper errors00300–00399— TCP portmapper errors00400–00499— SOCKS proxy errors00500–00599— HTTP proxy errors
Troubleshooting
- No data — ensure telemetry is enabled and you clicked Save. Generate traffic via any proxy port.
- Graylog — confirm the GELF UDP input is running on port 12201 and firewall allows UDP 12201.
- SigNoz — endpoint must include port 4318 and be reachable via HTTPS. Verify ingestion key and workspace region.
Was this page helpful?
