Face Match Logs
Pantau log hasil pencocokan wajah otomatis dari real-time matching engine — lengkap dengan filter status, source, dan referensi API log-investigate.
Pengenalan
Halaman Face Match Logs (/face-match-logs) menampilkan log hasil pencocokan wajah yang dihasilkan secara otomatis oleh real-time matching engine Visionaire. Setiap kali kamera mendeteksi wajah dan sistem mencocokkannya dengan database enrollment, satu entri log akan dicatat — terlepas dari apakah cocok ditemukan atau tidak.
Perbedaan dengan Face Search Logs
Kedua fitur ini sering disalahpahami sebagai hal yang sama. Berikut perbedaan mendasarnya:
| Aspek | Face Match Logs | Face Search Logs |
|---|---|---|
| Pemicu | Otomatis — kamera mendeteksi wajah | Manual — operator melakukan pencarian |
| Sumber | Matching engine (source: automatic) | UI pencarian atau API (source: manual) |
| Endpoint | /fremisn/v2/face/match, /fremisn/v1/face/recognition | /gateway/v1/util/face-search/demography |
| Volume | Tinggi — mengikuti frekuensi deteksi kamera | Rendah — hanya ketika ada aksi pencarian |
| Audience utama | Operator monitoring, admin akurasi | Investigator, petugas audit |
Filter source | automatic | manual |
Secara teknis, Face Match Logs dan Face Search Logs keduanya menggunakan endpoint API yang sama (/api/log-investigate). Perbedaannya ada pada nilai filter source: gunakan source=automatic untuk melihat log pencocokan otomatis (Face Match), dan source=manual untuk log pencarian manual (Face Search).
Halaman Face Match Logs saat ini dalam tahap coming soon pada antarmuka Lenz Dashboard. Fungsionalitas penuh tersedia melalui API /api/log-investigate dengan filter yang sesuai. Halaman ini akan diperbarui saat UI telah tersedia.
Cara Menggunakan
Mengakses Face Match Logs melalui API
Karena halaman UI masih dalam pengembangan, data dapat diakses langsung melalui API log-investigate.
Siapkan autentikasi
Gunakan Token atau API Key Anda. Lihat Otentikasi untuk mendapatkan Token.
export TOKEN="your-jwt-token"
export API_URL="https://your-lenz-instance"Kirim request dengan filter source=automatic
Filter source=automatic memastikan Anda hanya melihat log dari matching engine, bukan dari pencarian manual.
curl "${API_URL}/api/log-investigate?filter[source]=automatic&filter[type]=face&page=1&limit=20" \
-H "Authorization: Bearer ${TOKEN}"Tambahkan filter tambahan sesuai kebutuhan
Kombinasikan filter untuk mempersempit hasil. Misalnya, untuk melihat hanya log yang berhasil (status 2xx) dari metode face-match:
curl "${API_URL}/api/log-investigate?filter[source]=automatic&filter[type]=face&filter[status_code]=200&filter[search_method]=face-match&page=1&limit=20" \
-H "Authorization: Bearer ${TOKEN}"Analisis respons
Setiap entri log menyertakan detail lengkap: IP address pemanggi, path endpoint yang digunakan, status code, metadata pengguna atau API key, serta payload request dan response dalam format JSON.
Memfilter Log Berdasarkan Status
Sistem mendukung filter status code dalam beberapa format untuk fleksibilitas analisis akurasi matching:
Filter berdasarkan keluarga status (family)
Gunakan nilai representatif untuk memfilter seluruh keluarga status code:
filter[status_code]=200→ semua respons sukses (200–299)filter[status_code]=400→ semua error sisi klien (400–499)filter[status_code]=500→ semua error sisi server (500–599)
# Hanya log dengan respons sukses
curl "${API_URL}/api/log-investigate?filter[source]=automatic&filter[status_code]=200" \
-H "Authorization: Bearer ${TOKEN}"Filter berdasarkan status code spesifik
Untuk analisis yang lebih presisi, gunakan kode eksak atau beberapa kode dipisah koma:
# Hanya 401 dan 403 (unauthorized dan forbidden)
curl "${API_URL}/api/log-investigate?filter[source]=automatic&filter[status_code]=401,403" \
-H "Authorization: Bearer ${TOKEN}"Kombinasikan dengan filter lain
# Log face-match gagal dari IP tertentu
curl "${API_URL}/api/log-investigate?filter[source]=automatic&filter[type]=face&filter[status_code]=400&filter[ip_address]=192.168.1.50" \
-H "Authorization: Bearer ${TOKEN}"Fitur Utama
Deteksi Tipe Otomatis
Sistem secara otomatis mengklasifikasikan log sebagai tipe 'face' atau 'plate' berdasarkan URL path yang dipanggil — tanpa konfigurasi manual per endpoint.
Filter Source: Automatic vs Manual
Pisahkan log matching otomatis dari kamera dan log pencarian manual operator menggunakan filter source=automatic atau source=manual.
Filter Status Code Cerdas
Filter berdasarkan keluarga status (2xx, 4xx, 5xx), kode eksak, atau beberapa kode sekaligus — dioptimalkan dengan range query SQL untuk performa tinggi.
Metadata Pengguna Lengkap
Setiap log mencatat siapa yang memanggil endpoint: nama pengguna, user_id, tipe autentikasi (token atau api_key), dan nama API key yang digunakan.
Payload Request dan Response
Log menyimpan payload lengkap request dan response dalam format JSON, termasuk gambar request yang dienkode — berguna untuk investigasi false positive atau debugging.
Statistik Sukses dan Gagal
Endpoint statistik terpisah menyediakan agregasi total_success dan total_failed berdasarkan filter yang diterapkan, untuk analisis akurasi matching secara cepat.
API Reference
Semua endpoint memerlukan autentikasi. Sertakan header Authorization: Bearer <token> atau X-Api-Key: <key> pada setiap request. Lihat Otentikasi untuk detail.
GET /api/log-investigate — Daftar Log
Mengambil daftar log investigate dengan pagination, filter, dan pengurutan. Untuk Face Match Logs, selalu sertakan filter[source]=automatic dan filter[type]=face.
GET /api/log-investigate?filter[source]=automatic&filter[type]=face&page=1&limit=20
Authorization: Bearer <token>Query Parameters:
Prop
Type
Contoh request:
curl "${API_URL}/api/log-investigate?filter[source]=automatic&filter[type]=face&filter[status_code]=200&page=1&limit=10" \
-H "Authorization: Bearer ${TOKEN}"Contoh response:
{
"ok": true,
"message": "success",
"result": {
"limit": 10,
"current_page": 1,
"total_data": 842,
"total_page": 85,
"log_investigates": [
{
"id": 10241,
"type": "face",
"method": "POST",
"search_method": "face-match",
"ip_address": "10.0.1.15",
"location": "Gate Utara - Kamera 01",
"path": "/fremisn/v2/face/match",
"request": {},
"request_image": "<base64_gambar_wajah>",
"response": {
"candidates": [
{ "face_id": "abc123", "similarity": 0.94, "variation": "var-01" }
]
},
"status_code": 200,
"user_metadata": {
"name": "Integration Service A",
"user_id": 5,
"auth_type": "api_key",
"api_key_name": "gate-north-service"
},
"created_at": "2024-06-15T09:23:11+07:00"
}
]
}
}GET /api/log-investigate/statistics — Statistik Sukses/Gagal
Mengambil agregasi jumlah request sukses dan gagal berdasarkan filter yang ditetapkan. Berguna untuk dashboard monitoring akurasi matching.
GET /api/log-investigate/statistics?filter[source]=automatic&filter[type]=face
Authorization: Bearer <token>Query Parameters:
Prop
Type
Contoh request:
curl "${API_URL}/api/log-investigate/statistics?filter[source]=automatic&filter[type]=face&filter[timestamp_from]=2024-06-15T00:00:00+07:00&filter[timestamp_to]=2024-06-15T23:59:59+07:00" \
-H "Authorization: Bearer ${TOKEN}"Contoh response:
{
"ok": true,
"message": "success",
"result": {
"total_success": 7341,
"total_failed": 128
}
}GET /api/log-investigate/user-access-statistics — Statistik per Pengguna
Mengambil ranking akses berdasarkan pengguna atau layanan yang paling banyak melakukan face matching.
GET /api/log-investigate/user-access-statistics?filter[source]=automatic&filter[type]=face
Authorization: Bearer <token>Contoh response:
{
"ok": true,
"message": "success",
"result": [
{ "name": "gate-north-service", "total_access": 4210 },
{ "name": "lobby-integration", "total_access": 3131 },
{ "name": "parking-system", "total_access": 128 }
]
}Header Kontrol Source
Untuk sistem yang memanggil API matching engine secara langsung, source log dapat dikontrol via header request:
Prop
Type
curl -X POST "${API_URL}/fremisn/v2/face/match" \
-H "X-Api-Key: ${API_KEY}" \
-H "X-Search-Source: automatic" \
-H "X-Search-Method: face-match" \
-H "Content-Type: application/json" \
-d '{"image": "<base64>"}'Header X-Search-Source dikontrol oleh middleware LogInvestigateActionAuto() di API Gateway. Sistem yang terintegrasi langsung ke matching engine harus menyertakan header ini agar log tercatat dengan source yang tepat.
Tips dan Troubleshooting
Selanjutnya
API Reference — Face Match Logs
Dokumentasi interaktif seluruh endpoint /api/log-investigate, statistik, dan akses per pengguna.
Face Search
Lakukan pencarian wajah secara manual berdasarkan gambar atau Face ID di seluruh riwayat event deteksi.
Face Enrollment
Daftarkan dan kelola data wajah sebagai referensi matching — nama, foto, alias, dan custom field.
Face Search Logs
Audit seluruh riwayat pencarian wajah manual yang dilakukan oleh operator melalui UI atau API.
API Reference — Plate Search Logs
Endpoint untuk mengambil audit trail pencarian plat kendaraan (LPR), statistik keberhasilan, dan statistik akses per pengguna.
API Reference — Face Match Logs
Endpoint untuk mengambil log pencocokan wajah otomatis, statistik sukses/gagal, dan statistik akses per pengguna melalui /api/log-investigate.