adsb-1090/check_adsb_old.sh

83 lines
3.3 KiB
Bash
Executable File

#!/bin/bash
# Couleurs pour l'affichage
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m'
print_status() {
echo -e "${1}${2}${NC}"
}
# 1. Vérifier que le conteneur readsb est en cours d'exécution
print_status "$YELLOW" "=== Vérification du conteneur readsb ==="
if docker ps | grep -q "adsb-readsb"; then
print_status "$GREEN" "✓ Le conteneur adsb-readsb est en cours d'exécution."
else
print_status "$RED" "✗ Le conteneur adsb-readsb n'est pas en cours d'exécution."
docker ps
exit 1
fi
# 2. Vérifier les logs de readsb pour la détection du dongle
print_status "$YELLOW" "\n=== Vérification de la détection du dongle RTL-SDR ==="
if docker logs adsb-readsb 2>&1 | grep -q "RTL2832U\|AIRNAV\|ADSB_1090"; then
print_status "$GREEN" "✓ Le dongle RTL2832U (AirNav FlightStick) est détecté par readsb."
else
print_status "$RED" "✗ Le dongle RTL2832U n'est pas détecté dans les logs."
print_status "$YELLOW" "Dernières lignes des logs :"
docker logs adsb-readsb 2>&1 | tail -20
fi
# 3. Vérifier que readsb décode des messages ADS-B
print_status "$YELLOW" "\n=== Vérification du décodage ADS-B ==="
if docker logs adsb-readsb 2>&1 | grep -q "Decoded\|Accepted"; then
print_status "$GREEN" "✓ readsb décode des messages ADS-B."
else
print_status "$RED" "✗ Aucun message ADS-B décodé trouvé dans les logs."
print_status "$YELLOW" "Dernières lignes des logs :"
docker logs adsb-readsb 2>&1 | tail -20
fi
# 4. Vérifier que le port 30005 (Beast) émet des données
print_status "$YELLOW" "\n=== Vérification du port 30005 (Beast) ==="
if timeout 5 bash -c "echo > /dev/tcp/127.0.0.1/30005" 2>/dev/null; then
print_status "$GREEN" "✓ Le port 30005 est accessible localement."
else
print_status "$RED" "✗ Le port 30005 n'est pas accessible localement."
fi
# 5. Vérifier que tar1090 est accessible
print_status "$YELLOW" "\n=== Vérification de tar1090 ==="
if curl -s http://127.0.0.1:8090 >/dev/null; then
print_status "$GREEN" "✓ tar1090 est accessible sur http://127.0.0.1:8090."
else
print_status "$RED" "✗ tar1090 n'est pas accessible sur http://127.0.0.1:8090."
fi
# 6. Vérifier les statistiques de readsb
print_status "$YELLOW" "\n=== Vérification des statistiques readsb ==="
STATS=$(curl -s http://localhost:30003/readsb/stats.json 2>/dev/null)
if [ -n "$STATS" ]; then
TOTAL_MSG=$(echo "$STATS" | jq -r '.totalMessages // "N/A"')
MSG_PER_SEC=$(echo "$STATS" | jq -r '.messagesPerSecond // "N/A"')
print_status "$GREEN" "✓ Statistiques readsb accessibles :"
print_status "$GREEN" " - Messages totaux : $TOTAL_MSG"
print_status "$GREEN" " - Messages/seconde : $MSG_PER_SEC"
else
print_status "$RED" "✗ Impossible de récupérer les statistiques de readsb."
print_status "$YELLOW" "Vérifiez que le port 30003 est accessible depuis cette machine."
fi
# 7. Vérifier la présence d'avions sur tar1090
print_status "$YELLOW" "\n=== Vérification des avions sur tar1090 ==="
AIRCRAFT_COUNT=$(curl -s http://127.0.0.1:8090/data/aircraft.json | jq '. | length // 0')
if [ "$AIRCRAFT_COUNT" -gt 0 ]; then
print_status "$GREEN" "$AIRCRAFT_COUNT avion(s) détecté(s) sur tar1090."
else
print_status "$RED" "✗ Aucun avion détecté sur tar1090 (vérifiez la portée ou l'antenne)."
fi
print_status "$YELLOW" "\n=== Fin des vérifications ==="