Strim log telemetri masa nyata

Strim log akses proksi daripada pelayan XProxy anda ke Graylog atau SigNoz dalam masa nyata — pantau berbilang peranti dari satu tempat, bina papan pemuka, dan dapatkan amaran terhadap ralat.

Mengapa gunakan penstriman log terpusat?

  • Pemantauan bersepadu — pantau akses dan kesihatan merentas semua nod XProxy dalam masa nyata.
  • Pertanyaan mudah — tapis mengikut peranti, rantau, tindakan atau kod ralat.
  • Penyelesaian masalah lebih pantas — asingkan ralat, lonjakan trafik atau kelakuan tidak normal dengan cepat.
Konfigurasi di: XProxy → Tetapan Umum → Log Telemetri. Penyedia yang disokong: Graylog (GELF UDP) dan SigNoz (OTLP/HTTP).

Pelabelan yang disyorkan

  • Pengecam Hos — nama bagi setiap pelayan, cth. sg-core-01, us-east-02.
  • Nama Perkhidmatan — kumpulkan mengikut rantau atau unit perniagaan, cth. xproxy-region-a.

Setiap log membawa label ini, memudahkan pembinaan papan pemuka dan penapis merentas peranti.

Kes penggunaan biasa

  • Pengiraan IP pelanggan unik — anggarkan trafik sebenar dan kenal pasti sumber yang tidak dikenali.
  • Penjejakan kadar ralat — tapis error_code != 00000 untuk mengukur kebolehpercayaan.
  • Destinasi utama & lebar jalur — kumpulkan mengikut destination_host, jumlahkan received_bytes dan sent_bytes.
  • Pemantauan setiap peranti/port — gunakan modem_position, proxy_port, proxy_service untuk mengasingkan dongle tertentu.
  • Pengesanan anomali — dapatkan amaran apabila berlaku lonjakan trafik secara tiba-tiba atau kod ralat yang tinggi.

Petua operasi untuk banyak peranti

  • Penamaan konsisten — seragamkan Pengecam Hos dan Nama Perkhidmatan mengikut rantau atau kumpulan.
  • Pengasingan persekitaran — gunakan awalan seperti prod- / stg- dalam Nama Perkhidmatan.
  • Perancangan pengekalan — tetapkan putaran indeks dalam Graylog; pantau penggunaan/pengekalan dalam SigNoz Cloud.
  • Amaran kesihatan — dapatkan amaran apabila nod berhenti menghantar log selama N minit; jalankan semula Uji Sambungan selepas menambah nod baharu.

Pilihan A — Graylog

Pasang Graylog

Keperluan: Ubuntu Server 20.04 atau 22.04, minimum 2 GB RAM (4 GB disyorkan).

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

Cipta input GELF UDP

  1. Buka Graylog → Sistem → Input.
  2. Pilih GELF UDP dan klik Lancarkan input baharu.
  3. Tetapkan Alamat Bind kepada 0.0.0.0 dan Port kepada 12201.
  4. Klik Simpan.
Input GELF UDP Graylog

Konfigurasi XProxy untuk Graylog

  1. Buka Tetapan Umum → Log Telemetri.
  2. Hidupkan togol Dayakan Telemetri.
  3. Tetapkan Penyedia kepada Graylog.
  4. Masukkan Pelayan Graylog sebagai YOUR_GRAYLOG_IP:12201.
  5. Tetapkan Pengecam Hos dan Nama Perkhidmatan (pilihan tetapi disyorkan).
  6. Klik Simpan, kemudian Uji Sambungan.
Borang konfigurasi XProxy Graylog

Contoh pertanyaan dalam 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
Hasil carian Graylog

Pilihan B — SigNoz

Pasang SigNoz (Komuniti)

Keperluan: Ubuntu Server 20.04, 22.04, atau 24.04. Langkau jika menggunakan SigNoz Cloud.

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

Konfigurasi XProxy untuk SigNoz

  1. Buka Tetapan Umum → Log Telemetri.
  2. Hidupkan togol Dayakan Telemetri dan pilih SigNoz sebagai Penyedia.
  3. Masukkan Titik Akhir OTLP/HTTP, cth. https://ingest.us.signoz.cloud:4318.
  4. Tampal Kunci Pengingesan anda (SigNoz Cloud) atau biarkan kosong untuk pemasangan setempat.
  5. Tetapkan Nama Perkhidmatan (cth. xproxy-region-a).
  6. Klik Simpan, kemudian Uji Sambungan.
Borang konfigurasi XProxy SigNoz

Contoh pertanyaan dalam 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
Peneroka Log SigNoz

Rujukan medan log

MedanPenerangan
log_dateTarikh log (DD/MM)
log_timeMasa log (HH:MM:SS)
proxy_serviceNama kumpulan perkhidmatan (cth. MAIN)
modem_positionIndeks peranti/slot yang melayan permintaan
proxy_protocolHTTP atau SOCKS5
proxy_portPort pendengaran proksi pada XProxy
proxy_userNama pengguna yang digunakan untuk pengesahan (kosong untuk senarai putih IP)
client_ipIP klien yang menggunakan proksi
destination_hostHos sasaran yang diminta melalui proksi
destination_portPort sasaran
actionCONNECT (terowong) atau ACCESS (permintaan HTTP)
error_code00000 = berjaya; bukan sifar = ralat
received_bytesBait dari destinasi ke klien
sent_bytesBait dari klien ke destinasi

Rujukan kod ralat

XProxy mengeluarkan error_code lima digit dalam log (cth. 00000, 00004). Sifar di hadapan adalah disengajakan untuk pengisihan dan penapisan yang konsisten.

  • 00000 — Berjaya (sambungan ditutup secara normal)
  • 00001–00009 — Ralat pengesahan (ACL/nama pengguna/kata laluan)
  • 00010 — Had trafik melebihi
  • 00011–00019 — Ralat sambungan (soket/bind/connect)
  • 00020–00029 — Ralat dalaman (cth. peruntukan memori)
  • 00030–00039 — Ralat pengalihan proksi HTTP CONNECT
  • 00050–00069 — Ralat pengalihan proksi SOCKS5
  • 00090–00099 — Tamat masa sambungan / isu rangkaian
  • 00100 — Hos tidak dijumpai
  • 00200–00299 — Ralat portmapper UDP
  • 00300–00399 — Ralat portmapper TCP
  • 00400–00499 — Ralat proksi SOCKS
  • 00500–00599 — Ralat proksi HTTP

Penyelesaian masalah

  • Tiada data — pastikan telemetri didayakan dan anda telah mengklik Simpan. Jana trafik melalui mana-mana port proksi.
  • Graylog — sahkan input GELF UDP sedang berjalan pada port 12201 dan tembok api membenarkan UDP 12201.
  • SigNoz — titik akhir mesti menyertakan port 4318 dan boleh dicapai melalui HTTPS. Sahkan kunci pengingesan dan rantau ruang kerja.

Sahkan semuanya berfungsi

  • Graylog — cari service_name:xproxy-logs dan semak medan mesej pada panel kanan.
  • SigNoz — dalam Logs Explorer, tapis mengikut nama perkhidmatan yang dikonfigurasikan dengan tepat, cth. service.name = "xproxy-region-a". Atau kosongkan penapis untuk melihat semua log dan sahkan pengingesan; buka mana-mana baris untuk melihat atribut.

Soalan Lazim

Bagaimana saya mengesahkan log sedang distrimkan?

Gunakan bahagian Sahkan semuanya berfungsi di atas: dalam Graylog cari service_name:xproxy-logs; dalam SigNoz buka Logs Explorer dan tapis mengikut service.name.

Bagaimana untuk membezakan peranti atau rantau?

Tetapkan Pengecam Hos setiap pelayan dan Nama Perkhidmatan setiap rantau atau kluster. Label ini muncul dalam setiap log.

Mengapa proxy_user kosong?

Anda mungkin menggunakan senarai putih IP; nama pengguna pengesahan tidak hadir.

Apakah perbezaan antara CONNECT dan ACCESS?

CONNECT ialah mewujudkan terowong; ACCESS ialah permintaan HTTP diproksikan ke destinasi.

Bagaimana saya boleh mendapatkan amaran terhadap ralat?

Cipta peraturan pada error_code != "00000" dalam tetingkap masa; kumpulkan mengikut service_name atau modem_position untuk mengenal pasti sumber.