Validasi dan Troubleshooting Telemetry

Cara memastikan telemetry dari instance klien masuk ke License Admin, dan urutan pengecekan bila datanya tidak masuk — dari env, lisensi, jaringan, sampai arti tiap baris log.

Halaman ini untuk dua hal: memvalidasi bahwa instance On Premise klien mengirim telemetry ke License Admin, dan mencari penyebabnya bila data tidak masuk. Pemasangan lisensi hanya membuktikan instance bisa membaca lisensinya; telemetry membuktikan arah sebaliknya — data dari instance klien sampai ke kita.

Alur data

  1. Saat lisensi aktif, tenant-management-service (service onprem-tenant di compose) mendaftar ke server lisensi dan menerima instance token. Instance lalu tampil di menu Instances dan melakukan phone home secara rutin.
  2. Telemetry memakai token yang sama untuk mengirim. Tanpa lisensi yang aktif dan terdaftar, tidak ada token — dan tidak ada telemetry yang terkirim, apa pun nilai TELEMETRY_ENABLED.
  3. Setiap TELEMETRY_INTERVAL (bawaan 5 jam) instance mengirim snapshot hari ini (tanggal UTC) dan tanggal-tanggal yang terlewat, paling jauh 30 hari ke belakang. Snapshot tanggal yang sama ditimpa, bukan ditambah.

Kiriman pertama tidak langsung

Timer telemetry baru berbunyi satu interval setelah service start — dengan bawaan 5 jam, snapshot pertama paling cepat masuk 5 jam setelah onprem-tenant dinyalakan atau di-restart. Setiap restart memulai hitungan dari awal. Jangan menyimpulkan "tidak masuk" sebelum lewat satu interval penuh.

Syarat di instance klien

SyaratKeterangan
Versi2026.09.3.1 atau lebih baru: telemetry menyala tanpa konfigurasi apa pun. Versi 2026.09.0.1 – 2026.09.2.x butuh TELEMETRY_ENABLED=true dan TELEMETRY_DB_DSN diisi. Versi sebelum 2026.09.0.1 tidak punya telemetry.
TELEMETRY_ENABLEDTidak di-set false. Sejak 2026.09.3.1 bawaannya true.
LisensiAktif dan terdaftar ke server lisensi — lihat Console → Licence.
LICENSE_SERVER_URLhttps://be-admin.alurkerja.com, tanpa / di akhir. Telemetry dikirim ke alamat yang sama dengan lisensi.
JaringanServer klien bisa membuka HTTPS keluar ke be-admin.alurkerja.com.
STATE_FILE_PATHDi volume persisten. Tanggal kiriman terakhir dicatat di berkas ini untuk menghitung tanggal yang perlu dikirim ulang.

Cara memvalidasi data masuk

  1. Instance terdaftar. Buka Lisensi → Instances, cari dengan instance_uuid atau slug klien (dicatat di task generate lisensi). Status Online dengan Phone Home Terakhir yang baru berarti pendaftaran dan token berjalan.

    Menu Instances dengan status Online dan waktu phone home terakhir
  2. Detail instance. Klik ikon mata. Pastikan UUID sama dengan yang diterbitkan, Phone Home Terakhir baru, dan tidak ada banner Aktivitas Mencurigakan (lihat Satu lisensi, dua instalasi). Catat ID di URL / breadcrumb halaman ini — itulah yang dipakai menu Telemetry.

    Detail instance: UUID, phone home terakhir, dan banner aktivitas mencurigakan
  3. Telemetry masuk. Buka Telemetry. Instance muncul setelah snapshot pertamanya diterima, dengan Terakhir Dikirim hari ini atau kemarin.

    Menu Telemetry dengan instance dan tanggal terakhir dikirim

    Instance ID bukan instance_uuid

    Kolom Instance ID di menu Telemetry adalah ID internal License Admin — sama dengan ID di URL detail instance (langkah 2), bukan instance_uuid lisensi. Cocokkan lewat slug, atau lewat detail instance.

  4. Isi masuk akal. Klik ikon mata pada baris Telemetry, lalu periksa (penjelasan tiap metrik ada di Telemetry):

    • registered_counts — jumlah workspace dan user mendekati angka di Console klien, bukan nol, dan tidak melebihi kuota lisensi.
    • distinct_active_users dan request_volume terisi — tanda instance memang dipakai.
    • Access log mode sesuai yang dideklarasikan ops (lihat Membaca angka yang janggal).

Bila data tidak masuk

Periksa berurutan — tiap langkah bergantung pada langkah sebelumnya.

  1. Sudah lewat satu interval? Lihat kapan onprem-tenant terakhir start (docker compose ps onprem-tenant). Kurang dari 5 jam → tunggu.

  2. Versi dan env. Dari folder instalasi klien:

    docker compose exec onprem-tenant env | grep -E '^(TELEMETRY_|LICENSE_SERVER_URL|LICENSE_ENABLED|STATE_FILE_PATH)'

    Bandingkan dengan tabel Syarat di instance klien. Perintah ini sengaja tidak menampilkan LICENSE_KEY.

  3. Lisensi aktif dan terdaftar? Console → Licence harus Active, dan instance harus Online di menu Instances. Bila instance tidak ada atau Belum Terhubung, masalahnya ada di pendaftaran lisensi, bukan telemetry.

  4. Jaringan. Dari server klien:

    curl -s https://be-admin.alurkerja.com/api/instances/ready

    Jawaban {"error":"invalid token"} berarti server lisensi terjangkau (401 memang diharapkan tanpa token). Timeout, Could not resolve host, atau halaman HTML berarti jaringan, DNS, atau proxy keluar yang bermasalah.

  5. Baca log. Log telemetry selalu diawali telemetry:

    docker compose logs --since 24h onprem-tenant | grep -iE 'telemetry|license register|registered with license'

    Artinya ada di tabel berikut.

Arti baris log

Log di instance klien (onprem-tenant):

Baris logArtinyaTindakan
telemetry aggregation scheduler started, interval=5h0m0sTelemetry menyala. Tidak ada baris ini sejak start → TELEMETRY_ENABLED=false, atau versi belum punya telemetry.Cek env dan versi.
telemetry: delivered snapshot_date=…, marked sentBerhasil.—
registered with license server, status=ACTIVEPendaftaran lisensi berhasil; token tersedia untuk telemetry.—
WARNING: license register failed (offline mode): …Pendaftaran gagal — telemetry tidak punya token. Alasannya ada di ujung baris.Periksa LICENSE_SERVER_URL dan jaringan.
… TELEMETRY_DB_DSN not configured, skippingVersi 2026.09.0.1 – 2026.09.2.x tanpa TELEMETRY_DB_DSN.Isi DSN, atau naikkan versi ke 2026.09.3.1+.
… read-only db unavailable, skipping: …Koneksi database telemetry gagal.Periksa TELEMETRY_DB_DSN atau kredensial DB_*.
… failed to read dedup guard state, skipping: …Berkas STATE_FILE_PATH tidak bisa dibaca.Periksa volume dan izin berkasnya.
telemetry: aggregation failed for snapshot_date=…Query sumber data gagal (tabel tidak ada, atau user DB tanpa hak SELECT). Detail di ujung baris.Periksa tabel gateway_access_logs dan skema camunda.
delivery failed … no license server configuredLICENSE_SERVER_URL kosong.Isi https://be-admin.alurkerja.com, restart.
delivery failed … no instance token available yetLisensi belum aktif atau pendaftaran belum berhasil.Aktifkan lisensi; cari baris license register failed.
delivery failed … telemetry client: send: …Request tidak sampai (DNS, timeout, TLS, proxy).Uji jaringan (langkah 4).
telemetry client: response status=… body=…Jawaban server lisensi, tercatat di setiap kiriman. Bila bukan 200, lihat tabel berikut.—
… N day(s) fall outside the 30-day backfill window …Informasi, bukan galat: jeda lebih dari 30 hari tidak bisa dikirim ulang.—

Jawaban server lisensi yang tercatat di baris response status=…:

Status dan isiPenyebabTindakan
405 dengan halaman HTMLLICENSE_SERVER_URL mengarah ke admin.alurkerja.com (halaman web).Ganti ke https://be-admin.alurkerja.com.
401 invalid tokenToken instance ditolak atau kedaluwarsa.Restart onprem-tenant untuk mendaftar ulang; bila berulang, cek status lisensi di License Admin (direvoke atau suspended).
400 … instance_uuid mismatchUUID yang dikirim tidak cocok dengan token.Lihat Satu lisensi, dua instalasi.
400 … snapshot_date is in the futureJam server klien lebih cepat dari server lisensi.Sinkronkan jam server (NTP).
400 … unknown metrics field "…"Instance mengirim metrik yang belum dikenal License Admin — versi instance lebih baru.Laporkan ke tim AlurKerja untuk memperbarui License Admin.
500 internal server errorGalat di License Admin.Laporkan ke tim AlurKerja beserta waktu kejadian.

Semua kiriman yang gagal diulang otomatis pada tick berikutnya — tidak ada data yang dibuang selama masih dalam jendela 30 hari.

Satu lisensi, dua instalasi

Bila detail instance menampilkan banner Aktivitas Mencurigakan Terdeteksi dengan anomali instance_uuid mismatch atau superseded token reuse — possible clone, server lisensi melihat lebih dari satu instalasi memakai identitas yang sama — misalnya VM hasil clone, instalasi uji yang memakai lisensi produksi, atau state.json yang disalin ke server lain. Telemetry dari salah satunya akan ditolak dengan instance_uuid mismatch.

Pastikan setiap instalasi punya lisensinya sendiri. Klik Lihat log mencurigakan untuk melihat IP asal tiap kejadian.

Membaca angka yang janggal

  • Kategori 1 dan 2 bernilai nol — periksa Access log mode lebih dulu. off berarti proxy-service instance itu tidak mencatat akses, jadi nol bukan berarti sepi. Penjelasan lengkap di Membaca angka nol.
  • Access log mode unknown — TELEMETRY_ACCESS_LOG_MODE belum di-set di onprem-tenant. Ini hanya label; isi agar sama dengan GATEWAY_ACCESS_LOG_MODE proxy-service (bawaan api).
  • Terakhir Dikirim berhenti di tanggal lama — pengiriman berhenti sejak tanggal itu. Mulai dari langkah Bila data tidak masuk.
  • Jumlah workspace atau user berbeda dari kenyataan — bandingkan dengan Overview di Console klien pada hari yang sama. Snapshot hari ini terus diperbarui tiap 5 jam, jadi angka hari berjalan bisa tertinggal beberapa jam.