Heartbeat Servisi SSS
Heartbeat hangi kayitlari pingler?
Varsayilan hedefler sim.sims tablosunda status='active' ve static_ip IS NOT NULL kosulunu saglayan SIM kayitlaridir.
Neden SIM merkezli tasarim kullaniliyor?
Cihazin baglanti davranisi sahada dogrudan SIM hatti ile izlendigi icin liveness ownership'i SIM tarafinda tutulur. Bu model, hat degisimi gibi operasyonlarda daha net iz birakir.
sim.assignments zorunlu mu?
Hayir. Ping seciminde birincil kaynak sim.sims tablosudur. sim.assignments sadece aktif baglanti baglamini dogrulamak icin opsiyonel filtre olarak kullanilir.
Her ping sonucu DB'ye yaziliyor mu?
Evet. Her deneme sim.heartbeats tablosuna yazilir. Son durum ozeti ise sim.connectivity_state tablosunda tek satir olarak upsert edilir.
degraded ile offline farki nedir?
degraded: ping basarili ama RTT esik uzerioffline: timeout, unreachable veya ardisik fail esigi asimi
Durum degismediyse de event uretiliyor mu?
Evet. Durum ayni kalsa bile heartbeat.metrics.updated.v1 eventi metrik guncellemesi icin uretilir.
Hangi durumda alarm uretilir?
Genellikle offline duruma gecis veya consecutive_fail_count esik asimi alarm tetikler. Alarm orkestrasyonu Observer katmaninda calisir.
MQTT kullanan cihazlarda heartbeat nasil ele alinacak?
MQTT cihazlarinda ping tabanli model yerine broker tabanli liveness (keepalive, LWT, app heartbeat topic) tercih edilir. Gerekirse ayni state tablosuna ortak event adapter ile yazilabilir.
Event kontratlari nerede?
Detaylar icin: /projects/qapu/services/heartbeat/event-contracts