Strumieniowanie logów telemetrii w czasie rzeczywistym

Przesyłaj logi dostępu proxy z serwera XProxy do Graylog lub SigNoz w czasie rzeczywistym — monitoruj wiele urządzeń z jednego miejsca, buduj pulpity nawigacyjne i otrzymuj alerty o błędach.

Dlaczego warto korzystać ze scentralizowanego strumieniowania logów?

  • Ujednolicone monitorowanie — obserwuj dostęp i stan wszystkich węzłów XProxy w czasie rzeczywistym.
  • Łatwe wyszukiwanie — filtruj według urządzenia, regionu, akcji lub kodu błędu.
  • Szybsze rozwiązywanie problemów — szybko izoluj błędy, skoki ruchu lub nietypowe zachowania.
Konfiguracja: XProxy → Ustawienia ogólne → Logi telemetryczne. Obsługiwani dostawcy: Graylog (GELF UDP) i SigNoz (OTLP/HTTP).

Zalecane etykietowanie

  • Identyfikator hosta — nazwa przypadająca na serwer, np. sg-core-01, us-east-02.
  • Nazwa usługi — grupowanie według regionu lub jednostki biznesowej, np. xproxy-region-a.

Każdy log zawiera te etykiety, co ułatwia budowanie pulpitów nawigacyjnych i filtrów obejmujących wiele urządzeń.

Opcja A — Graylog

Instalacja Graylog

Wymagania: Ubuntu Server 20.04 lub 22.04, minimum 2 GB RAM (zalecane 4 GB).

bash
curl x-proxy.io/graylog | bash
Instalacja Graylog

Utwórz wejście GELF UDP

  1. Otwórz Graylog → System → Wejścia.
  2. Wybierz GELF UDP i kliknij Uruchom nowe wejście.
  3. Ustaw adres powiązania na 0.0.0.0 i port na 12201.
  4. Kliknij Zapisz.
Wejście GELF UDP w Graylog

Konfiguracja XProxy dla Graylog

  1. Otwórz Ustawienia ogólne → Logi telemetryczne.
  2. Włącz przełącznik Włącz telemetrię.
  3. Ustaw dostawcę na Graylog.
  4. Wpisz serwer Graylog jako YOUR_GRAYLOG_IP:12201.
  5. Ustaw Identyfikator hosta i Nazwę usługi (opcjonalne, ale zalecane).
  6. Kliknij Zapisz, a następnie Test połączenia.
Formularz konfiguracji Graylog w XProxy

Przykłady zapytań w 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
Wyniki wyszukiwania w Graylog

Opcja B — SigNoz

Instalacja SigNoz (Community)

Wymagania: Ubuntu Server 20.04, 22.04 lub 24.04. Pomiń w przypadku korzystania z SigNoz Cloud.

bash
curl x-proxy.io/signoz | bash
Instalacja SigNoz

Konfiguracja XProxy dla SigNoz

  1. Otwórz Ustawienia ogólne → Logi telemetryczne.
  2. Włącz Włącz telemetrię i wybierz SigNoz jako dostawcę.
  3. Wpisz punkt końcowy OTLP/HTTP, np. https://ingest.us.signoz.cloud:4318.
  4. Wklej swój klucz pozyskiwania (SigNoz Cloud) lub pozostaw pole puste w przypadku instalacji lokalnej.
  5. Ustaw Nazwę usługi (np. xproxy-region-a).
  6. Kliknij Zapisz, a następnie Test połączenia.
Formularz konfiguracji SigNoz w XProxy

Przykłady zapytań w 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
Eksplorator logów SigNoz

Referencja pól logu

PoleOpis
log_dateData logu (DD/MM)
log_timeCzas logu (HH:MM:SS)
proxy_serviceNazwa grupy usług (np. MAIN)
modem_positionIndeks urządzenia/gniazda obsługującego żądanie
proxy_protocolHTTP lub SOCKS5
proxy_portPort nasłuchu proxy w XProxy
proxy_userNazwa użytkownika użyta do uwierzytelnienia (pusta dla białej listy IP)
client_ipAdres IP klienta korzystającego z proxy
destination_hostHost docelowy żądany przez proxy
destination_portPort docelowy
actionCONNECT (tunel) lub ACCESS (żądanie HTTP)
error_code00000 = powodzenie; wartość niezerowa = błąd
received_bytesBajty z miejsca docelowego do klienta
sent_bytesBajty z klienta do miejsca docelowego

Referencja kodów błędów

  • 00000 — Powodzenie (połączenie zamknięte normalnie)
  • 00001–00009 — Błędy uwierzytelniania (ACL/nazwa użytkownika/hasło)
  • 00010 — Przekroczono limit ruchu
  • 00011–00019 — Błędy połączenia (socket/bind/connect)
  • 00020–00029 — Błędy wewnętrzne (np. alokacja pamięci)
  • 00030–00039 — Błędy przekierowania proxy HTTP CONNECT
  • 00050–00069 — Błędy przekierowania proxy SOCKS5
  • 00090–00099 — Przekroczenia limitu czasu połączenia / problemy sieciowe
  • 00100 — Nie znaleziono hosta
  • 00200–00299 — Błędy portmappera UDP
  • 00300–00399 — Błędy portmappera TCP
  • 00400–00499 — Błędy proxy SOCKS
  • 00500–00599 — Błędy proxy HTTP

Rozwiązywanie problemów

  • Brak danych — upewnij się, że telemetria jest włączona i że kliknięto Zapisz. Wygeneruj ruch przez dowolny port proxy.
  • Graylog — potwierdź, że wejście GELF UDP działa na porcie 12201 i że zapora sieciowa zezwala na ruch UDP 12201.
  • SigNoz — punkt końcowy musi zawierać port 4318 i być osiągalny przez HTTPS. Zweryfikuj klucz pozyskiwania i region obszaru roboczego.