Sonde de presence video : la camera muette devient un evenement capteur
Le domaine connaissait deja CAMERA_OFFLINE, classe CRITICAL, mais rien ne l'emettait. CameraLivenessProbe interroge l'API du serveur media et comble ce trou. Elle passe par le meme port IngestSensorEventUseCase que l'endpoint REST et le simulateur : trois producteurs de natures tres differentes, un seul contrat d'entree, et le meme trajet Kafka -> agregat ensuite. Si l'alarme est desarmee, une coupure video ne reveille personne - c'est l'agregat qui tranche, pas la sonde. Le seuil est la partie qui compte. Sur un lien 4G le flux tombe regulierement sans que personne n'ait touche au telephone : tunnel, bascule d'antenne, congestion. Alerter des la premiere sonde ratee produirait plusieurs CRITICAL par jour, et on apprend vite a ignorer des alertes qui crient pour rien - y compris le jour ou elles ont raison. Trois sondes consecutives, soit une minute d'absence reelle. Six tests couvrent ce comportement, dont la remise a zero du compteur au retour du flux. Utilisateur d'API dedie cote MediaMTX, restreint au reseau Docker interne. 41 tests au vert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
5e4dfee665
commit
d017ba4958
12 changed files with 446 additions and 4 deletions
|
|
@ -89,6 +89,10 @@ services:
|
|||
condition: service_healthy
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
# Demarrage seulement : la sonde tolere un serveur media absent, elle
|
||||
# ne doit pas empecher l'alarme de fonctionner.
|
||||
mediamtx:
|
||||
condition: service_started
|
||||
environment:
|
||||
SPRING_PROFILES_ACTIVE: prod
|
||||
KAFKA_BOOTSTRAP_SERVERS: kafka:9092
|
||||
|
|
@ -99,6 +103,9 @@ services:
|
|||
SIMULATOR_INTERVAL: ${SIMULATOR_INTERVAL:-8s}
|
||||
ALARM_EXIT_DELAY: ${ALARM_EXIT_DELAY:-30s}
|
||||
ALARM_MIN_CONFIDENCE: ${ALARM_MIN_CONFIDENCE:-60}
|
||||
MEDIA_API_URL: http://mediamtx:9997
|
||||
MEDIA_API_PASSWORD: ${MEDIA_API_PASSWORD}
|
||||
CAMERA_PROBE_ENABLED: ${CAMERA_PROBE_ENABLED:-true}
|
||||
LOG_LEVEL: ${LOG_LEVEL:-INFO}
|
||||
mem_limit: 512m
|
||||
# Joint les deux reseaux : "default" pour parler a Kafka et PostgreSQL,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue