Streaming log telemetri waktu nyata
Streaming log akses proxy dari server XProxy Anda ke Graylog atau SigNoz secara real-time — pantau banyak perangkat dari satu tempat, bangun dasbor, dan beri peringatan atas error.
Mengapa menggunakan streaming log terpusat?
- Pemantauan terpadu — pantau akses dan kesehatan di semua node XProxy secara real-time.
- Pencarian mudah — filter berdasarkan perangkat, wilayah, aksi, atau kode error.
- Pemecahan masalah lebih cepat — isolasi error, lonjakan trafik, atau perilaku tidak normal dengan cepat.
Pelabelan yang disarankan
- Identifier Host — nama per server, mis.
sg-core-01,us-east-02. - Nama Layanan — kelompokkan berdasarkan wilayah atau unit bisnis, mis.
xproxy-region-a.
Setiap log membawa label ini, sehingga memudahkan pembuatan dasbor dan filter lintas perangkat.
Kasus penggunaan umum
- Penghitungan IP klien unik — perkirakan trafik nyata dan temukan sumber yang tidak dikenal.
- Pelacakan tingkat error — filter
error_code != 00000untuk mengukur keandalan. - Destinasi teratas & bandwidth — kelompokkan berdasarkan
destination_host, jumlahkanreceived_bytesdansent_bytes. - Pemantauan per perangkat/port — gunakan
modem_position,proxy_port,proxy_serviceuntuk mengisolasi dongle tertentu. - Deteksi anomali — beri peringatan saat terjadi lonjakan trafik mendadak atau kode error meningkat.
Tips operasional untuk banyak perangkat
- Penamaan konsisten — standarkan Host Identifier dan Service Name berdasarkan wilayah atau grup.
- Pemisahan lingkungan — gunakan prefiks seperti
prod-/stg-pada Service Name. - Perencanaan retensi — atur rotasi indeks di Graylog; pantau penggunaan/retensi di SigNoz Cloud.
- Peringatan kesehatan — beri peringatan saat sebuah node berhenti mengirim log selama N menit; jalankan ulang Test Connection setelah menambahkan node baru.
Opsi A — Graylog
Instal Graylog
Persyaratan: Ubuntu Server 20.04 atau 22.04, minimal RAM 2 GB (disarankan 4 GB).
curl x-proxy.io/graylog | bash
Buat input GELF UDP
- Buka Graylog → Sistem → Input.
- Pilih GELF UDP lalu klik Luncurkan input baru.
- Atur alamat Bind ke
0.0.0.0dan Port ke12201. - Klik Simpan.

Konfigurasi XProxy untuk Graylog
- Buka Pengaturan Umum → Log Telemetri.
- Alihkan Aktifkan Telemetri ke ON.
- Atur Penyedia ke Graylog.
- Masukkan Server Graylog sebagai
YOUR_GRAYLOG_IP:12201. - Atur Identifier Host dan Nama Layanan (opsional tetapi disarankan).
- Klik Simpan, lalu Uji Koneksi.

Contoh kueri di Graylog
# By service/cluster
service_name:xproxy-region-a
# Only errors
error_code:!00000
# By action
action:CONNECT
# By device/slot
modem_position:3
Opsi B — SigNoz
Instal SigNoz (Community)
Persyaratan: Ubuntu Server 20.04, 22.04, atau 24.04. Lewati jika menggunakan SigNoz Cloud.
curl x-proxy.io/signoz | bash
Konfigurasi XProxy untuk SigNoz
- Buka Pengaturan Umum → Log Telemetri.
- Alihkan Aktifkan Telemetri ke ON lalu pilih SigNoz sebagai Penyedia.
- Masukkan Endpoint OTLP/HTTP, mis.
https://ingest.us.signoz.cloud:4318. - Tempelkan Kunci Ingesti Anda (SigNoz Cloud) atau biarkan kosong untuk instalasi lokal.
- Atur Nama Layanan (mis.
xproxy-region-a). - Klik Simpan, lalu Uji Koneksi.

Contoh kueri di 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
Referensi field log
| Field | Deskripsi |
|---|---|
log_date | Tanggal log (DD/MM) |
log_time | Waktu log (HH:MM:SS) |
proxy_service | Nama grup layanan (mis. MAIN) |
modem_position | Indeks perangkat/slot yang melayani permintaan |
proxy_protocol | HTTP atau SOCKS5 |
proxy_port | Port proxy yang mendengarkan di XProxy |
proxy_user | Nama pengguna yang digunakan untuk autentikasi (kosong untuk whitelist IP) |
client_ip | IP klien yang menggunakan proxy |
destination_host | Host tujuan yang diminta melalui proxy |
destination_port | Port tujuan |
action | CONNECT (tunnel) atau ACCESS (permintaan HTTP) |
error_code | 00000 = berhasil; bukan nol = error |
received_bytes | Byte dari tujuan ke klien |
sent_bytes | Byte dari klien ke tujuan |
Referensi kode error
XProxy memancarkan error_code lima digit dalam log (mis. 00000, 00004). Angka nol di depan disengaja agar pengurutan dan pemfilteran konsisten.
00000— Berhasil (koneksi ditutup secara normal)00001–00009— Error autentikasi (ACL/nama pengguna/kata sandi)00010— Batas trafik terlampaui00011–00019— Error koneksi (socket/bind/connect)00020–00029— Error internal (mis. alokasi memori)00030–00039— Error pengalihan proxy HTTP CONNECT00050–00069— Error pengalihan proxy SOCKS500090–00099— Timeout koneksi / masalah jaringan00100— Host tidak ditemukan00200–00299— Error portmapper UDP00300–00399— Error portmapper TCP00400–00499— Error proxy SOCKS00500–00599— Error proxy HTTP
Pemecahan masalah
- Tidak ada data — pastikan telemetri diaktifkan dan Anda mengklik Simpan. Hasilkan trafik melalui port proxy mana pun.
- Graylog — pastikan input GELF UDP berjalan di port 12201 dan firewall mengizinkan UDP 12201.
- SigNoz — endpoint harus menyertakan port 4318 dan dapat dijangkau melalui HTTPS. Verifikasi kunci ingest dan wilayah workspace.
Verifikasi semuanya berfungsi
- Graylog — cari
service_name:xproxy-logsdan periksa field pesan di panel kanan. - SigNoz — di Logs Explorer, filter berdasarkan nama layanan persis yang Anda konfigurasi, mis.
service.name = "xproxy-region-a". Atau hapus filter untuk melihat semua log dan memastikan ingest; buka baris mana pun untuk melihat atribut.
FAQ
Bagaimana cara memverifikasi log sedang streaming?
Gunakan bagian Verifikasi semuanya berfungsi di atas: di Graylog cari service_name:xproxy-logs; di SigNoz buka Logs Explorer dan filter berdasarkan service.name.
Bagaimana membedakan perangkat atau wilayah?
Atur Host Identifier per server dan Service Name per wilayah atau klaster. Label ini muncul di setiap log.
Mengapa proxy_user kosong?
Kemungkinan Anda menggunakan whitelist IP; nama pengguna autentikasi tidak tersedia.
Apa perbedaan antara CONNECT dan ACCESS?
CONNECT adalah pembuatan tunnel; ACCESS adalah permintaan HTTP yang diproksikan ke tujuan.
Bagaimana cara memberi peringatan atas error?
Buat aturan pada error_code != "00000" dalam jendela waktu; kelompokkan berdasarkan service_name atau modem_position untuk menemukan sumbernya.