Passer au contenu principal

Dépannage hors ligne

Diagnose why a Level device shows offline — AV/EDR interference, network requirements, and the --check diagnostic command.

Introduction

Si un appareil apparaît hors ligne dans Level alors qu'il est en réalité allumé et connecté, la cause est presque toujours une interférence AV/EDR ou un pare-feu bloquant les connexions sortantes de l'agent. Commencez par la commande --check — elle identifie le point d'échec exact sans conjectures.

ℹ️ REMARQUE : Dans la plupart des cas, Level fonctionne sans aucune modification du pare-feu. Les exigences réseau ci-dessous s'appliquent uniquement si vous êtes sur un réseau restrictif et rencontrez activement des problèmes de connectivité.


Dépannage hors ligne

Étape 1 : Exécuter la vérification de diagnostic

Exécuter --check sur l'appareil concerné pendant qu'il dispose d'un accès réseau. Elle teste chaque aspect de la connectivité de l'agent avec Level et indique précisément où se situe l'échec.

🖥️ NOTE SUR LA PLATEFORME :

  • Windows : & 'C:\Program Files\Level\level.exe' --check

  • macOS : sudo /usr/local/bin/level --check

  • Linux : sudo /usr/local/bin/level --check

Windows --check Example

Les deux sections sur lesquelles se concentrer :

Vérifications Level — indique si le service de l'agent et la tâche watchdog sont dans l'état attendu (Running / Ready). Si l'une ou l'autre présente un problème, l'AV/EDR a très probablement mis en quarantaine le binaire de l'agent. Le watchdog maintient le service en cours d'exécution dans des conditions normales — s'il ne fonctionne pas, quelque chose d'externe l'a arrêté.

Vérifications de connexion — affiche l'état de online.level.io, agents.level.io, uptime monitor, et realtime client. Les trois premières sont des vérifications ping (ICMP), tandis que realtime client indique la connexion en temps réel distincte de l'agent. Error: no ping stats signifie que la vérification ping n'a reçu aucune réponse ICMP. Si le client en temps réel est Connected, l'agent conserve toujours sa connexion en temps réel même lorsqu'une ou plusieurs vérifications ping échouent.


Étape 2 : Interférence AV/EDR

Si --check indique que le service ou le watchdog n'est pas dans l'état attendu, ou si --check ne s'exécute pas du tout, vérifiez si le binaire Level est toujours présent sur le disque :

🖥️ NOTE SUR LA PLATEFORME :

  • Windows : recherchez level.exe dans C:\Program Files\Level\

  • macOS : recherchez level à /Applications/Level.app/Contents/MacOS/level

  • Linux : recherchez level à /usr/local/bin/level

Si le binaire est manquant, l'AV/EDR l'a supprimé. Level ne dispose d'aucun mécanisme pour supprimer son propre binaire — un exécutable manquant signifie que votre logiciel de sécurité l'a mis en quarantaine ou supprimé.

Pour investiguer : Consultez le journal de quarantaine et l'historique d'activité de votre logiciel de sécurité autour de la période à laquelle l'appareil s'est mis hors ligne. Recherchez toute action entreprise contre level.exe ou les processus associés. Certains produits — SentinelOne, ESET et certaines configurations de Defender — le font silencieusement, sans alerte visible.

Pour corriger : Restaurez le binaire depuis la quarantaine si possible, puis ajoutez les exclusions appropriées avant de réinstaller. Voir Fausses détections AV/EDR pour les chemins d'exclusion, les détails du certificat et une automatisation Windows Defender que vous pouvez déployer sur plusieurs appareils. Si le binaire est toujours présent mais que le service est arrêté, les mêmes étapes d'exclusion s'appliquent — l'antivirus bloque probablement l'exécution plutôt que de supprimer le fichier.

⚠️ AVERTISSEMENT : Si vous réinstallez l'agent sans avoir ajouté d'exclusions au préalable, l'AV/EDR supprimera à nouveau le binaire. Ajoutez les exclusions avant de réinstaller. À noter également : Les détections AV/EDR contre Level sont basées sur le comportement, et non sur les signatures. Cela signifie que le même logiciel de sécurité peut fonctionner sur 50 appareils et ne signaler Level que sur quelques-uns — cela dépend de ce que faisait l'agent au moment où la détection a été déclenchée, et non d'une mise à jour de définitions. Ne supposez pas qu'un appareil propre signifie que vos exclusions fonctionnent correctement.


Étape 3 : Vérifier l'accès réseau

Si la section Vérifications Level semble correcte mais Vérifications de connexion affichent des échecs, comparez les trois vérifications ping avec realtime client:

  • Si realtime client indique également une erreur, l'agent est peut-être incapable d'atteindre les serveurs de Level. Vérifiez si un pare-feu ou un proxy bloque les connexions sortantes ci-dessous.

  • Si les vérifications ping affichent Error: no ping stats tandis que realtime client est Connected, vérifiez si l'appareil ou le pare-feu réseau bloque l'ICMP. Ce résultat seul ne signifie pas que la connexion en temps réel de l'agent est bloquée.

L'agent a besoin d'un accès sortant vers ces URL :

URL

Objet

agents.level.io

Communication de l'agent avec Level

online.level.io

Vérifications de l'état de connectivité

builds.level.io

Mises à jour de l'agent

downloads.level.io

Installation initiale de l'agent

realtime.ably.io
​main.realtime.ably.net

WebSocket en temps réel pour l'API Level (point de terminaison et cible CNAME)

prd-level-storage.s3.wasabisys.com

Stockage de fichiers pour les automatisations

global.turn.twilio.com

Relais TURN (utilisé en cas d'échec P2P)

global.stun.twilio.com

STUN (utilisé en cas d'échec P2P)

logs.logdna.com

Collecte de journaux pour le dépannage

💡 CONSEIL : Pour les pare-feux prenant en charge les règles avec caractères génériques, *.level.io et *.twilio.com couvrent les entrées Level et Twilio ci-dessus.

Dépanner les connexions WebSocket filtrées

Autoriser un nom d'hôte n'autorise pas toujours la connexion en temps réel. Un filtre de contenu, un pare-feu ou un proxy peut toujours bloquer, inspecter, réécrire ou fermer le trafic WebSocket.

CNAME des points de terminaison Ably : Les noms d'hôte des points de terminaison Ably sont des alias DNS. Incluez à la fois les noms d'hôte des points de terminaison et leurs cibles CNAME lors de la configuration des listes d'autorisation réseau et des exclusions de déchiffrement SSL/TLS spécifiques à Ably.

Point de terminaison Ably

Cible DNS CNAME

rest.ably.io
​realtime.ably.io

main.realtime.ably.net

a.ably-realtime.com

main.a.fallback.ably-realtime.com

b.ably-realtime.com

main.b.fallback.ably-realtime.com

c.ably-realtime.com

main.c.fallback.ably-realtime.com

d.ably-realtime.com

main.d.fallback.ably-realtime.com

e.ably-realtime.com

main.e.fallback.ably-realtime.com

ℹ️ REMARQUE : Une règle pour *.ably.io n'inclut pas main.realtime.ably.net. Si l'inspection SSL/TLS interfère avec la connexion en temps réel, assurez-vous que vos exclusions de déchiffrement Ably ciblées incluent cette cible CNAME ainsi que le nom d'hôte du point de terminaison. Limitez les exclusions aux hôtes Ably plutôt que de désactiver l'inspection sur l'ensemble du réseau. Vérifiez la liste actuelle des points de terminaison et des CNAME dans Exigences réseau d'Ably.

Si realtime client signale une erreur sur un réseau filtré, demandez à l'administrateur réseau ou au fournisseur de filtrage de :

  • Autoriser les connexions WebSocket TCP sortantes sur le port 443 vers *.ably.io, main.realtime.ably.net, et *.ably-realtime.com. Assurez-vous que les règles avec caractères génériques couvrent également les cibles CNAME de secours listées ci-dessus.

  • Autoriser la mise à niveau WebSocket pour ces hôtes.

  • Contourner l'inspection SSL/TLS, l'inspection approfondie des paquets (DPI), l'inspection des menaces et la réécriture de contenu pour les noms d'hôte des points de terminaison et les cibles CNAME listés ci-dessus.

  • S'assurer que les politiques de délai d'expiration des proxies et des sessions ne terminent pas les connexions WebSocket de longue durée.

Ces paramètres sont des exigences de dépannage pour les réseaux filtrés. Une erreur de client en temps réel ne prouve pas, à elle seule, que le filtrage en est la cause. Après avoir modifié la politique réseau, exécutez --check à nouveau et confirmez que realtime client indique Connected.

Ports requis (sortants uniquement) :

Port

Protocole

Objet

Remarques

80

TCP

HTTP

Connectivité de base

443

TCP

HTTPS

Trafic principal de l'agent

3478

TCP & UDP

TURN

Utilisé en cas d'échec P2P

5349

TCP

TURN TLS

Solution de repli de dernier recours uniquement

10 000–60 000

UDP

Ports de relais TURN

Alloués par Twilio lorsque TURN est utilisé

ℹ️ REMARQUE : Les ports 3478, 5349 et la plage UDP ne sont nécessaires que lorsque les connexions P2P ne peuvent pas être établies. Commencez par les ports 80 et 443 — cela couvre la grande majorité des scénarios. Voir Dépannage relais/P2P si les connexions à distance échouent spécifiquement.


Étape 4 : Contacter le support

Si --check n'indique pas de cause claire, contactez le support Level avec :

  • La sortie complète de --check

  • Logiciel AV/EDR utilisé (nom et version)

  • Tout pare-feu ou proxy entre l'appareil et Internet


FAQ

  • Pourquoi l'agent envoie-t-il des pings à 8.8.8.8, et pourquoi --check affiche-t-il Erreur : aucune statistique de ping alors que le temps réel est Connecté ? L'agent exécute une sonde de latence intégrée (ICMP vers 8.8.8.8, environ toutes les 50 secondes). Cette sonde est distincte de Moniteur de ping réseau et est codé en dur aujourd'hui — il n'existe aucun paramètre pour changer la cible ou désactiver uniquement cette sonde. L'ICMP n'est pas requis pour l'API principale de l'agent ni pour la connexion en temps réel. Si l'appareil ou le réseau bloque l'ICMP, --check peut signaler Error: no ping stats pour online.level.io, agents.level.io, ainsi que le moniteur de disponibilité et la valeur de ping moyen peuvent rester vides — même lorsque realtime client affiche Connected. Voir Moniteur de ping réseau.

  • L'appareil était en ligne hier et vient de se mettre hors ligne. Par où commencer ? Exécuter --check en premier. S'il ne s'exécute pas du tout, vérifiez si level.exe (Windows) ou le binaire level (macOS/Linux) est toujours présent sur le disque — s'il est absent, l'AV/EDR l'a supprimé. Si le binaire est présent mais que --check indique que le service est arrêté ou que les vérifications de connexion échouent, voir Fausses détections AV/EDR pour l'investigation du journal de quarantaine et les étapes d'exclusion.

  • Je n'ai aucun moyen d'accéder à l'appareil à distance pour l'instant. Que puis-je faire ? Si Level est votre seul outil d'accès à distance sur l'appareil, vous aurez besoin d'un accès physique ou hors bande (iDRAC, iLO, KVM, etc.) pour investiguer. Une fois l'accès obtenu, exécutez --check pour identifier la cause avant de faire quoi que ce soit d'autre.

  • Dois-je ouvrir tous ces ports dans mon pare-feu ? Pas nécessairement, sauf si vous rencontrez des problèmes. La plupart des réseaux fonctionnent avec uniquement les ports 80 et 443 sortants. Les ports TURN (3478, 5349) et la plage UDP ne sont pertinents que si les connexions P2P échouent — voir Dépannage relais/P2P avant d'ouvrir des ports supplémentaires.

  • La sortie de --check semble correcte mais l'appareil s'affiche toujours hors ligne dans Level. La console peut mettre une ou deux minutes à se mettre à jour après la restauration de la connectivité. Si elle ne se met pas à jour, le problème peut être intermittent — essayez d'exécuter --check à nouveau lorsque l'état hors ligne se reproduit pour capturer l'échec sur le vif.

Avez-vous trouvé la réponse à votre question ?