Dépanner l'agent Navin
Cette page liste les messages de l'agent Navin et du Manager au sujet des agents, avec leur cause et leur correction.
Commencez par sudo nm-agent status et sudo navinctl logs agent 200. Les messages de l'agent existent en français
avec --lang fr (ou LANG=fr_FR.UTF-8) ; ils sont cités ici en anglais, tels qu'ils apparaissent par défaut.
Enregistrement
| Symptôme | Cause | Correction |
|---|---|---|
The CA returned by the manager has the fingerprint <a>, expected <b> (ca_mismatch) | mauvais --ca-sha256, ou un autre serveur répond (interception) | copiez l'empreinte affichée à côté du jeton ; si elle correspond, vérifiez l'adresse du Manager |
The manager address <url> does not use https: ... (insecure_server) | la commande utilise http vers un autre hôte | utilisez l'adresse https du Manager (https://<fqdn>:8460) affichée à côté du jeton |
Registration refused by the manager (401): ... (register_failed) | jeton expiré, épuisé ou révoqué | créez un nouveau jeton (Hôtes > Ajouter des hôtes ou navin-manager enroll-token) |
The manager cannot be reached: ... (network_error) | DNS, pare-feu, port 8460 fermé ou TLS non reconnu | curl -v https://<fqdn-manager>:8460/api/v1/version ; avec le certificat autosigné, ajoutez --ca-file |
The openssl command is missing (openssl_missing) | agent Python sans openssl | installez openssl |
enroll.env reste sur l'hôte | enregistrement depuis enroll.env refusé | sudo navinctl logs enroll donne la raison ; le minuteur réessaie chaque minute |
Exécution
| Symptôme | Cause | Correction |
|---|---|---|
This host is not registered: run nm-agent register first. (not_registered) | aucun identifiant dans le répertoire d'état | enregistrez l'hôte |
Invalid configuration file ... (config_invalid) | JSON invalide, mauvais type, service_driver autre que systemd ou process, log_level inconnu | corrigez agent.json (référence) |
L'unité ne démarre pas et systemctl status signale une condition non remplie | /etc/navin-manager-agent/agent.json est absent (ConditionPathExists) | enregistrez l'hôte, ce qui écrit le fichier |
Le Manager répond 401 agent_signature_invalid | écart d'horloge de plus de 300 secondes, hôte retiré ou révoqué | synchronisez l'horloge (chronyd, systemd-timesyncd) ; enregistrez de nouveau un hôte retiré |
L'hôte est lost dans Hôtes | aucun signal de vie reçu | vérifiez l'unité, le réseau vers le port 8461 et les journaux |
Tâches
| Symptôme | Cause | Correction |
|---|---|---|
path_not_allowed | la tâche écrit hors d'allowed_roots, ou via un lien symbolique ou .. | corrigez le chemin du catalogue, ou ajoutez la racine à allowed_roots |
command_not_allowed | le programme n'est ni dans allowed_commands ni sous une racine autorisée, ou un shell est utilisé | ajoutez le programme absolu à allowed_commands |
checksum_mismatch | le fichier téléchargé diffère du sha256 du manifeste | rechargez le miroir depuis une archive vérifiée (Miroir) |
archive_unsafe | l'archive contient des noms absolus, .., des périphériques ou des liens sortants | reconstruisez l'archive depuis la publication officielle |
archive_too_large | l'archive déclare plus de 200 000 entrées ou plus de 64 Gio | reconstruisez l'archive depuis la publication officielle |
download_too_large | le miroir envoie plus de 64 Gio pour un seul fichier | vérifiez l'adresse du miroir et le manifeste de l'archive |
disk_space_low | il resterait moins de 1 Gio libre dans le cache (/var/lib/navin) ou la destination | libérez de l'espace disque sur l'hôte, puis relancez l'opération |
| Une tâche qui exige root échoue dans le bac à sable | l'agent sans root refuse les paquets système, paramètres du noyau, limites, pare-feu et unités | exécutez l'agent en root, ou utilisez un cluster bac à sable où le planificateur ne les envoie pas |