j5ifdZdZedk(r'ddlZeiZeej edyy)z Fleet Monitor Job - Docker & Tunnel Checks Runs every 5 minutes to check: - Docker containers status - WireGuard tunnel connectivity Saves results to database for GUI consumption. c zddlm}ddlm}ddlm}ddl}ddlm}|}|}|}|j} |jd| jdd |j| jd g| jd d  |j} |jd| jdd |j| jdd| jdd| jddd| jd d  | jd| jdg} d| vrd} n d| vrd} nd} |jd| |jd|jjid|  d| jd| jd| dS)z Execute fleet monitoring checks.) DockerMonitor) TunnelMonitor)DatabaseManagerN)datetimedockerstatusunknowndetailsmessagezNo data) check_typer datar tunnel connectedF latency_ms packet_loss)rrrcriticalwarninghealthyoverall timestampzOverall fleet status: success)r rrr)modules.fleet.docker_monitorrmodules.fleet.tunnel_monitorr core.databaserjsonrchecksave_fleet_statusgetdumpsnow isoformat) contextrrrrrdbdocker_monitortunnel_monitorrrstatusesrs &>&@A B( 2 **X&**X&  __main__rN)indent)__doc__r)__name__rresultprintr r*r(r3s@7t z WF *$**VA &' r*