Streaming de journaux de télémétrie en temps réel
Diffusez les journaux d'accès proxy de votre serveur XProxy vers Graylog ou SigNoz en temps réel — surveillez plusieurs appareils depuis un seul endroit, construisez des tableaux de bord et soyez alerté en cas d'erreur.
Pourquoi utiliser la diffusion centralisée des journaux ?
- Surveillance unifiée — suivez les accès et l'état de tous les nœuds XProxy en temps réel.
- Requêtes simplifiées — filtrez par appareil, région, action ou code d'erreur.
- Dépannage plus rapide — isolez rapidement les erreurs, les pics de trafic ou les comportements anormaux.
Étiquetage recommandé
- Identifiant d'hôte — nom propre à chaque serveur, par ex.
sg-core-01,us-east-02. - Nom du service — regroupez par région ou unité opérationnelle, par ex.
xproxy-region-a.
Chaque journal porte ces étiquettes, ce qui facilite la création de tableaux de bord et de filtres entre appareils.
Cas d'usage courants
- Comptage des IP clientes uniques — estimez le trafic réel et repérez les sources inhabituelles.
- Suivi du taux d'erreur — filtrez
error_code != 00000pour mesurer la fiabilité. - Destinations principales et bande passante — regroupez par
destination_host, additionnezreceived_bytesetsent_bytes. - Surveillance par appareil/port — utilisez
modem_position,proxy_port,proxy_servicepour isoler un dongle spécifique. - Détection d'anomalies — alertez sur les pics soudains de trafic ou les codes d'erreur élevés.
Conseils d'exploitation pour de nombreux appareils
- Nommage cohérent — standardisez l'Identifiant d'hôte et le Nom du service par région ou groupe.
- Séparation des environnements — utilisez des préfixes comme
prod-/stg-dans le Nom du service. - Planification de la rétention — configurez la rotation des index dans Graylog ; surveillez l'usage et la rétention dans SigNoz Cloud.
- Alertes de santé — alertez lorsqu'un nœud cesse d'envoyer des journaux pendant N minutes ; relancez Test Connection après l'ajout de nouveaux nœuds.
Option A — Graylog
Installer Graylog
Prérequis : Ubuntu Server 20.04 ou 22.04, minimum 2 Go de RAM (4 Go recommandés).
curl x-proxy.io/graylog | bash
Créer une entrée GELF UDP
- Ouvrez Graylog → Système → Entrées.
- Choisissez GELF UDP et cliquez sur Lancer une nouvelle entrée.
- Définissez l'adresse de liaison (Bind address) sur
0.0.0.0et le port sur12201. - Cliquez sur Enregistrer.

Configurer XProxy pour Graylog
- Ouvrez Paramètres généraux → Journaux de télémétrie.
- Activez l'option Activer la télémétrie.
- Définissez le fournisseur sur Graylog.
- Saisissez le serveur Graylog sous la forme
YOUR_GRAYLOG_IP:12201. - Définissez Identifiant d'hôte et Nom du service (facultatif mais recommandé).
- Cliquez sur Enregistrer, puis sur Tester la connexion.

Exemples de requêtes dans Graylog
# 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
Installer SigNoz (Community)
Prérequis : Ubuntu Server 20.04, 22.04 ou 24.04. Ignorez cette étape si vous utilisez SigNoz Cloud.
curl x-proxy.io/signoz | bash
Configurer XProxy pour SigNoz
- Ouvrez Paramètres généraux → Journaux de télémétrie.
- Activez Activer la télémétrie et sélectionnez SigNoz comme fournisseur.
- Saisissez le point de terminaison OTLP/HTTP, par ex.
https://ingest.us.signoz.cloud:4318. - Collez votre clé d'ingestion (SigNoz Cloud) ou laissez vide pour les installations locales.
- Définissez Nom du service (par ex.
xproxy-region-a). - Cliquez sur Enregistrer, puis sur Tester la connexion.

Exemples de requêtes dans 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
Référence des champs de journal
| Champ | Description |
|---|---|
log_date | Date du journal (DD/MM) |
log_time | Heure du journal (HH:MM:SS) |
proxy_service | Nom du groupe de service (par ex. MAIN) |
modem_position | Index de l'appareil/de l'emplacement qui traite la requête |
proxy_protocol | HTTP ou SOCKS5 |
proxy_port | Port d'écoute du proxy sur XProxy |
proxy_user | Nom d'utilisateur utilisé pour l'authentification (vide en cas de liste blanche d'IP) |
client_ip | IP du client qui utilise le proxy |
destination_host | Hôte cible demandé via le proxy |
destination_port | Port cible |
action | CONNECT (tunnel) ou ACCESS (requête HTTP) |
error_code | 00000 = succès ; différent de zéro = erreur |
received_bytes | Octets de la destination vers le client |
sent_bytes | Octets du client vers la destination |
Référence des codes d'erreur
XProxy émet un error_code à cinq chiffres dans les journaux (par ex. 00000, 00004). Les zéros en tête sont intentionnels pour un tri et un filtrage cohérents.
00000— Succès (connexion fermée normalement)00001–00009— Erreurs d'authentification (ACL/nom d'utilisateur/mot de passe)00010— Limite de trafic dépassée00011–00019— Erreurs de connexion (socket/bind/connect)00020–00029— Erreurs internes (par ex. allocation mémoire)00030–00039— Erreurs de redirection du proxy HTTP CONNECT00050–00069— Erreurs de redirection du proxy SOCKS500090–00099— Délais d'attente de connexion / problèmes réseau00100— Hôte introuvable00200–00299— Erreurs du portmapper UDP00300–00399— Erreurs du portmapper TCP00400–00499— Erreurs du proxy SOCKS00500–00599— Erreurs du proxy HTTP
Dépannage
- Aucune donnée — vérifiez que la télémétrie est activée et que vous avez cliqué sur Enregistrer. Générez du trafic via n'importe quel port de proxy.
- Graylog — vérifiez que l'entrée GELF UDP est en cours d'exécution sur le port 12201 et que le pare-feu autorise l'UDP 12201.
- SigNoz — le point de terminaison doit inclure le port 4318 et être joignable via HTTPS. Vérifiez la clé d'ingestion et la région de l'espace de travail.
Vérifier que tout fonctionne
- Graylog — recherchez
service_name:xproxy-logset vérifiez les champs du message dans le panneau de droite. - SigNoz — dans l'explorateur de journaux, filtrez par le nom exact du service configuré, par ex.
service.name = "xproxy-region-a". Ou effacez les filtres pour voir tous les journaux et confirmer l'ingestion ; ouvrez n'importe quelle ligne pour voir les attributs.
FAQ
Comment vérifier que les journaux sont diffusés ?
Utilisez la section Vérifier que tout fonctionne ci-dessus : dans Graylog, recherchez service_name:xproxy-logs ; dans SigNoz, ouvrez l'explorateur de journaux et filtrez par service.name.
Comment distinguer les appareils ou les régions ?
Définissez l'Identifiant d'hôte par serveur et le Nom du service par région ou cluster. Ces étiquettes apparaissent dans chaque journal.
Pourquoi proxy_user est-il vide ?
Vous utilisez probablement la liste blanche d'IP ; le nom d'utilisateur d'authentification n'est pas présent.
Quelle est la différence entre CONNECT et ACCESS ?
CONNECT correspond à l'établissement d'un tunnel ; ACCESS est une requête HTTP transmise par le proxy vers une destination.
Comment être alerté en cas d'erreurs ?
Créez une règle sur error_code != "00000" sur une fenêtre de temps ; regroupez par service_name ou modem_position pour identifier la source.