Sık Sorulan Sorular ve Troubleshooting
S: Stream kaydı oluşmuyor, nereden başlamalıyım?
Kontrol sırası:
qapu.ingest.raweventi Stream servisine geliyor mu?- Redis
device_buffer:{device_id}keyi var mı? - Envanter kontrolünde DB hatası var mı?
streamsinsert hatası alınıyor mu?
Kısa teşhis tablosu:
| Belirti | Olası Neden | Kontrol |
|---|---|---|
| Hiç stream yok | Kafka consume yok | Consumer lag ve topic offset kontrol et |
stream.failed.v1 artmış | DB/Redis erişim hatası | Servis log ve connection pool kontrol et |
| Bazı cihazlarda stream yok | Envanter lookup hatası | devices/modems/sims sorgularını kontrol et |
S: message_type bilinmiyor ama paket neden reddedilmiyor?
Bu davranış tasarımsal olarak böyledir:
message_typealanı boş gelebilir- alan dolu ama sözlükte yoksa da paket işlenmeye devam eder
message_type_idnullyazılırstream.message_type.unmapped.v1inceleme eventi üretilir
Bu sayede saha verisi kaybedilmez, sınıflandırma problemi ops tarafında görünür olur.
S: Cihaz envanteri ne zaman güncellenir?
Stream servisi her pakette şu alanları karşılaştırır:
device_idimeiiccidfirmware
Yeni/değişen değer varsa create/update yapılır ve ilgili audit event üretilir. Aynıysa no-op geçilir.
S: stream_id Redis'e neden geri yazılıyor?
stream_id Redis'e yazılarak downstream servislerin aynı akışta ortak referans kullanması sağlanır.
- Kalibrasyon, synthesis, rule/action gibi adımlar aynı stream bağlamı ile devam eder.
- DB join ve trace işlemleri kolaylaşır.
S: Kafka publish başarısız olursa veri kaybolur mu?
Hayır.
streamskaydı DB'de durur.- Redis güncellemesi başarılıysa state korunur.
- Kafka publish için outbox/retry mekanizması devreye girer.
Bu durumda downstream gecikir ama accepted stream kaydı kaybolmaz.
S: Replay nasıl çalışır? Aynı paket tekrar mı gelir?
Normal ingest akışında duplicate paket Stream'e gelmez. Replay ayrı servis tarafından başlatılır:
- İşlenemeyen
raw_datakaydı tespit edilir - Replay servisi yeni bir iş isteği oluşturur
- Stream akışı yeniden tetiklenir
Yani bu aynı cihaz retry paketi değil, kontrollü backend replay işlemidir.
S: Hangi metrikleri izlemeliyim?
| Metrik | Alarm Eşiği |
|---|---|
stream_created_rate | Aniden düşerse alarm |
stream_failed_rate | > %1 ise alarm |
inventory_update_rate | Aniden yükselirse saha değişim/fault incele |
unmapped_message_type_rate | > 0 ise inceleme listesi |
redis_stream_update_failures | > 0 ise kritik |
kafka_publish_failures | > 0 ise retry/outbox takibi |