-| → | IP : 192.168.2.69 — lun. 10/08/2026 02:20:01 |
| ▸ 1. Conteneurs Docker |
| → | 1 dongle(s) détecté(s) : 00000011 — slots rx1..rx1 attendus |
| ✓ | adsb-readsb [healthy] — démarré 08/08 18:20 | OK |
| ✓ | adsb-tar1090 [healthy] — démarré 09/08 03:00 | OK |
| ✗ | adsb-adsb2pg — STATUS=restarting | ERREUR |
| ✓ | adsb-webapp — démarré 08/08 09:55 | OK |
| ✓ | wordpress-postgres — démarré 08/08 09:55 | OK |
| ▸ 2. Dongle(s) RTL-SDR |
| ✓ | adsb-readsb — SN:00000011 présent sur le bus USB — gain 49.6 dB | OK |
| ⚠ | Symlink /dev/adsb_dongle absent | ATTENTION |
| → | Symlink → /dev/adsb_dongle () |
| ✓ | Tous les numéros de série RTL-SDR détectés sont distincts (1 récepteur(s)) | OK |
| ▸ 3. Données ADS-B |
| ✓ | adsb-readsb (:8090) actif — 5,996,448 messages décodés | OK |
| ✓ | adsb-readsb — 2 avion(s) en vue dont 2 avec position GPS | OK |
| ✓ | adsb-readsb — compteur messages en progression (5994262 → 5996448 depuis 299s) | OK |
| ⚠ | Volume readsb-run : aircraft.pb introuvable (mode host normal) | ATTENTION |
| ▸ 4. Ports réseau |
| ✓ | Port 8080 en écoute sur *:8080 — webapp PHP (adsb-webapp) | OK |
| ✓ | Port 5432 en écoute sur 127.0.0.1:5432 — PostgreSQL (wordpress-postgres) | OK |
| ✓ | Port 8090 en écoute sur 0.0.0.0:8090 — tar1090 nginx (adsb-tar1090) | OK |
| ✓ | Port 30005 en écoute sur 0.0.0.0:30005 — Beast TCP (adsb-readsb) | OK |
| ✓ | Port 30002 en écoute sur 127.0.0.1:30002 — RAW TCP (adsb-readsb) | OK |
| ✓ | Port 30003 en écoute sur 127.0.0.1:30003 — SBS TCP (adsb-readsb) | OK |
| ✓ | adsb-readsb : adsb-net:172.20.0.3 | OK |
| → | adsb-tar1090 : adsb-net:172.20.0.2 |
| → | adsb-adsb2pg : mode=host |
| → | adsb-webapp : mode=host |
| ✓ | Connexion Beast tar1090→readsb OK | OK |
| ▸ 4b. Connectivité réseau inter-conteneurs |
| ✓ | HTTP tar1090 (127.0.0.1:8090) : HTTP 200 | OK |
| ✓ | aircraft.json tar1090 (127.0.0.1:8090) : HTTP 200 | OK |
| → | API readsb port 30053 : non exposé (normal en mode /data/adsb) |
| ✓ | Beast TCP hôte→readsb (127.0.0.1:30005) : connexion OK | OK |
| ✓ | RAW TCP hôte→readsb (127.0.0.1:30002) : connexion OK | OK |
| ✓ | SBS TCP hôte→readsb (127.0.0.1:30003) : connexion OK | OK |
| ✓ | PostgreSQL hôte→wordpress-postgres (127.0.0.1:5432) : connexion OK | OK |
| ✓ | adsb2pg DUMP1090_URL (http://127.0.0.1:8090/data/aircraft.json) : HTTP 200 | OK |
| ✓ | Webapp LAN (http://192.168.2.69:8080) : HTTP 200 | OK |
| ✓ | tar1090 LAN (http://192.168.2.69:8090) : HTTP 200 | OK |
| ✓ | bridge-nf-call-iptables=0 (trafic inter-conteneurs non filtré) | OK |
| → | adsb-net membres : adsb-tar1090=172.20.0.2/16 | adsb-readsb=172.20.0.3/16 |
| ▸ 5. PostgreSQL — schéma adsb |
| ✓ | PostgreSQL accessible — PostgreSQL 16.9 (Debian 16.9-1.pgdg110+1) on x86_64-pc- | OK |
| ⚠ | 132 partitions adsb.positions — nombre élevé, vérifier qu'il n'y a pas de sous-partitions HASH résiduelles | ATTENTION |
| ✓ | Aucune sous-partition HASH résiduelle sur adsb.positions | OK |
| ✓ | Partition semaine courante présente : positions_2026_w33 (RANGE simple) | OK |
| ✓ | Partition semaine suivante déjà créée : positions_2026_w34 | OK |
| ✓ | Continuité des partitions positions vérifiée (aucun trou entre semaines) | OK |
| ✓ | 32 sous-partitions adsb.aircraft_history | OK |
| ✓ | Récepteur 00000011 enregistré et actif — "AirNav FlightStick #1" | OK |
| ⚠ | Aucune position dans les 5 dernières minutes | ATTENTION |
| ⚠ | aircraft_desc rempli à 0% (< 80%) | ATTENTION |
| → | Aujourd'hui : 0 avions distincts, 0 sessions |
| → | Taille totale schéma adsb : 2583 MB |
| → | Connexions PostgreSQL actives : 1 |
| ▸ 5b. Volumes PostgreSQL (conf & logs) |
| ✓ | Volume Docker 'pg-conf-std' existe — Mountpoint : /var/snap/docker/common/var-lib-docker/volumes/pg-conf-std/_data | OK |
| ✓ | Volume Docker 'pg-logs-std' existe — Mountpoint : /var/snap/docker/common/var-lib-docker/volumes/pg-logs-std/_data | OK |
| ✓ | Lien symbolique /data/adsb/postgres/conf → /var/snap/docker/common/var-lib-docker/volumes/pg-conf-std/_data | OK |
| ✓ | Lien symbolique /data/adsb/postgres/logs → /var/snap/docker/common/var-lib-docker/volumes/pg-logs-std/_data | OK |
| ✓ | postgresql.conf présent (31117 octets, modifié il y a 3488061s, droits 644 dnsmasq:systemd-journal) | OK |
| ✓ | postgresql.conf lisible depuis l'hôte | OK |
| → | max_locks_per_transaction = 2048 (fichier conf) |
| → | log_directory = /var/log/postgresql |
| ✓ | logging_collector = on | OK |
| → | Répertoire conf : /var/snap/docker/common/var-lib-docker/volumes/pg-conf-std/_data — droits dnsmasq:systemd-journal (755) |
| ✓ | Répertoire logs : propriétaire uid=999 (postgres Debian) — dnsmasq:systemd-journal (750) | OK |
| ✓ | Répertoire logs lisible depuis l'hôte (root) | OK |
| ✓ | 27 fichier(s) de log PostgreSQL présent(s) dans le volume | OK |
| ✓ | Log du jour actif : postgresql-2026-08-10.log (202568 octets, mis à jour il y a 0s) | OK |
| → | Dernière ligne log : 2026-08-10 00:20:08 UTC [111342] pgz_admin@wpz_postgres LOG: disconnection: session time: 0:00:00.007 user=pgz_admin da |
| → | 27 fichier(s) CSV de log présent(s) |
| → | Accès direct aux logs : tail -f /var/snap/docker/common/var-lib-docker/volumes/pg-logs-std/_data/postgresql-$(date +%Y-%m-%d).log |
| → | Volumes montés dans wordpress-postgres : pg-conf-std | postgres_data | pg-logs-std |
| ✓ | Volume 'pg-conf-std' monté dans wordpress-postgres | OK |
| ✓ | Volume 'pg-logs-std' monté dans wordpress-postgres | OK |
| ✓ | PostgreSQL config_file actif : /etc/postgresql/postgresql.conf | OK |
| → | PostgreSQL log_directory : /var/log/postgresql |
| ✓ | max_locks_per_transaction (runtime) : 2048 | OK |
| ✓ | logging_collector = on (runtime) | OK |
| ▸ 5c. PostgreSQL — extensions et paramètres critiques |
| ✓ | Extension postgis installée — version 3.5.2 | OK |
| ✓ | Colonne geom présente sur adsb.positions (GENERATED ALWAYS, héritage partitions) | OK |
| ✓ | Index GiST sur geom présent sur la partition active (positions_2026_w33) — requêtes bbox optimisées | OK |
| → | Partition active : positions_2026_w33 |
| ✓ | Volume pg-conf-std : propriétaire dnsmasq:systemd-journal (755) — OK pour image Debian (uid=999) | OK |
| ✓ | Volume pg-logs-std : propriétaire dnsmasq:systemd-journal (750) — OK pour image Debian (uid=999) | OK |
| ✓ | Volume postgres_data : propriétaire dnsmasq:systemd-journal (700) — OK pour image Debian (uid=999) | OK |
| ✓ | postgresql.auto.conf accessible (/var/snap/docker/common/var-lib-docker/volumes/postgres_data/_data/postgresql.auto.conf) | OK |
| → | Contenu (paramètres ALTER SYSTEM, prioritaires sur postgresql.conf) : |
| → | auto.conf → max_connections = '200' |
| → | auto.conf → logging_collector = 'on' |
| → | auto.conf → max_locks_per_transaction = '2048' |
| → | auto.conf → shared_buffers = '3200MB' |
| ✓ | work_mem dans les limites acceptables (?) | OK |
| → | random_page_cost (runtime) : 1.1 (attendu 1.1 pour SSD) |
| → | effective_io_concurrency (runtime) : 150 (attendu 150 pour SSD) |
| ▸ 6. adsb2pg — collecteur(s) |
| ⚠ | adsb-adsb2pg — aucun log d'insertion trouvé | ATTENTION |
| → | adsb-adsb2pg — dernier warning/erreur : SyntaxError: source code cannot contain null bytes |
| ▸ 6b. Watchdog readsb — résilience |
| ✓ | Script watchdog présent et exécutable (/data/adsb/scripts/watchdog_readsb.sh) | OK |
| ✓ | Watchdog actif dans la crontab — */5 * * * * /data/adsb/scripts/watchdog_readsb.sh | OK |
| ✓ | Watchdog actif pour adsb-readsb — dernière exécution il y a 10s (< 10 min) | OK |
| ✓ | adsb-readsb — aucun redémarrage watchdog déclenché sur les dernières 24h | OK |
| → | Dernière ligne log watchdog : 355) - compteur de blocage remis à zéro |
| ✓ | adsb-readsb : RestartCount=0 (aucun crash Docker) | OK |
| ✓ | adsb-tar1090 : RestartCount=0 (aucun crash Docker) | OK |
| ⚠ | adsb-adsb2pg : RestartCount=1396 — le conteneur a redémarré (crash ou OOM), vérifier docker logs adsb-adsb2pg | ATTENTION |
| ✓ | adsb-readsb protégé par le watchdog (v4 — récepteurs dérivés de detect_dongles.sh) | OK |
| ✓ | Horloge système synchronisée NTP | OK |
| ▸ 7. Webapp — interface utilisateur |
| ✓ | api.php?action=live : JSON valide | OK |
| ✓ | api.php?action=kpi : JSON valide | OK |
| ✓ | api.php?action=trajectories : JSON valide | OK |
| ✓ | 9 onglets dans index.php | OK |
| → | app.js : 197906 octets |
| ✓ | Accès LAN http://192.168.2.69:8080 : HTTP 200 | OK |
| ▸ 8. Autogain |
| ✓ | adsb-readsb — Gain : 49.6 dB — état autogain : inconnu | OK |
| → | adsb-readsb — 0 cycle(s) avec messages insuffisants (autogain en cours) |
| ▸ 9. Infrastructure hôte |
| → | Docker 29.6.1 (snap rev.3579) |
| ✓ | bridge-nf-call-iptables=0 — ICC Docker OK | OK |
| ✓ | ip_forward=1 — routage inter-réseaux actif | OK |
| → | Disque /data : 15% utilisé (14G/98G) |
| → | Disque /opt : 1% utilisé (15M/1,8G) |
| → | Disque /var/snap/docker : 81% utilisé (8,4G/11G) |
| → | Système : up 1 day, 16 hours, 25 minutes |
| ⚠ | 4 événement(s) reset/déconnexion sur le port du dongle RTL-SDR (1-3) — corrélation possible avec les blocages watchdog | ATTENTION |
| → | Dongle RTL-SDR localisé : port 1-3 (bus 001 device 010) |
| ✓ | Règle udev 99-adsb-docker.rules présente (relance auto si USB reconnecté) | OK |
| ✓ | adsb-stack.service : active (WorkingDirectory=/data/adsb) | OK |
| ▸ 9b. Pare-feu |
| ✓ | ufw inactif — pas de restriction sur les ports du stack | OK |
| ✓ | Webapp accessible en local (127.0.0.1:8080) : HTTP 200 | OK |
| ✓ | Webapp accessible depuis l'IP LAN (192.168.2.69:8080) : HTTP 200 | OK |
-
-