Solusi kamera ETLE event terkirim tapi tidak terbaca server, lengkap dengan debug API, parsing data, dan troubleshooting EAS.
Event Kamera Terkirim Tapi Tidak Terbaca Server? Ini Solusi Lengkapnya
Dalam sistem ETLE, sering terjadi kondisi dimana kamera seperti Hikvision iDS-2CD9396-BIS sudah mengirim event (trigger, snapshot, metadata), namun server analytic (EAS/EMST) tidak menampilkan data tersebut.
Masalah ini biasanya terjadi di layer API, parsing, atau database, bukan di kamera.
1. Alur Masalah (Harus Dipahami 🔥)
Kamera → API Server → Parser → Database → Dashboard
👉 Kasus ini biasanya berhenti di:
API ✔ masuk
Tapi:
❌ Parsing gagal
❌ Tidak masuk database
2. Ciri-Ciri Masalah Ini
Kamera trigger normal ✅
Snapshot ada di kamera ✅
API kena hit (log ada) ✅
Dashboard kosong ❌
3. Penyebab Paling Sering 🔥
1. Format JSON Tidak Sesuai
👉 Server tidak bisa baca field
2. Field Tidak Lengkap
Contoh:
plate kosong
timestamp tidak valid
3. Parsing Error di Server
Bug script
Mapping salah
4. Database Reject Data
Constraint error
Tipe data tidak cocok
5. Time Tidak Sinkron (NTP ⚠️)
Data dianggap invalid
6. Queue / Service Macet
Data masuk tapi tidak diproses
4. Cara Debug Step by Step 🔧
🔍 STEP 1 – Cek Log API
tail -f /var/log/eas.log
👉 Cari:
ERROR
JSON parse failed
invalid field
🔍 STEP 2 – Cek Payload dari Kamera
Gunakan tcpdump:
tcpdump -i eth0 host IP-KAMERA
👉 Ambil sample JSON
🔍 STEP 3 – Test Manual (WAJIB 🔥)
curl -X POST http://IP-SERVER/api/event \
-H "Content-Type: application/json" \
-d '{
"plate": "B1234XYZ",
"time": "2026-03-26T12:00:00",
"vehicle": "car"
}'
👉 Jika ini masuk:
➡️ berarti kamera yang salah
🔍 STEP 4 – Cek Database
SELECT * FROM event ORDER BY time DESC;
👉 Kalau kosong:
➡️ data tidak masuk DB
🔍 STEP 5 – Cek Service Parser
systemctl status eas-parser
👉 Kalau mati:
❌ event tidak diproses
5. Contoh Error Nyata 🔥
❌ JSON dari kamera:
{
"plate_number": "B1234XYZ"
}
✔ Yang benar:
{
"plate": "B1234XYZ"
}
👉 Bedanya kecil, tapi fatal ⚠️
6. Fix Cepat (Best Practice)
1. Samakan format JSON kamera & server
2. Aktifkan log detail (debug mode)
3. Sinkronisasi waktu (NTP)
4. Restart service parser
5. Test inject manual
7. Cek Time Sync (WAJIB)
timedatectl
👉 Jika beda:
ntpdate pool.ntp.org
8. Insight Lapangan (REAL CASE 🔥)
👉 90% kasus:
Kamera sudah benar
Network normal
API OK
❌ Masalah ada di:
Parsing
Mapping field
👉 Contoh:
Field “vehicle_type” tidak dikenali
Server hanya baca “vehicle”
9. Advanced Debug (Level Engineer)
Aktifkan debug mode:
export LOG_LEVEL=DEBUG
Cek queue:
redis-cli monitor
👉 Kalau pakai message queue
10. Checklist Final 🔥
✔ API menerima request
✔ JSON valid
✔ Field sesuai
✔ Parser aktif
✔ Database OK
✔ Time sync
Kesimpulan
Kasus event kamera terkirim namun tidak terbaca server biasanya disebabkan oleh kesalahan pada format data, parsing, atau sistem backend. Dengan melakukan debugging secara sistematis mulai dari API hingga database, masalah dapat diidentifikasi dan diperbaiki dengan cepat.
