automation-suite
2023.10
false
Important :
La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.
UiPath logo, featuring letters U and I in white

Guide d'installation d'Automation Suite sur Linux

Dernière mise à jour 23 déc. 2025

Exécution de l'outil de diagnostic

L'outil de diagnostic Automation Suite exécute un ensemble de vérifications pour générer un rapport sur la santé du cluster, que vous pouvez analyser pour identifier les problèmes et leurs potentielles causes profondes. L’outil vous aide à trouver les problèmes courants, tels que la perte de connectivité de la base de données ou les informations d’identification non valides ou expirées.

L'outil de diagnostic Automation Suite est disponible à la fois dans uipathctl et uipathtools, que vous pouvez télécharger sur votre machine de gestion.
uipathtools est un outil CLI qui contient un sous-ensemble de capacités uipathctl spécifiques aux commandes d'intégrité. L'outil est rétrocompatible et fonctionne avec toutes les versions d'Automation Suite prises en charge. Nous vous recommandons d'utiliser uipathtools comme première étape si vous rencontrez un problème.

Validation rapide

Validation rapide

Les commandes check et test fournissent des informations rapides sur l'état du cluster sans exécuter une analyse approfondie.
  • check repose sur l'état de santé et de synchronisation d'ArgoCD et ne modifie aucun état dans le cluster
  • test examine les applications, le déploiement ou les pods et mute temporairement l'état du cluster pour vous fournir ces informations.

Vérification de l'état

Pour exécuter un test d'intégrité, utilisez l'une des commandes suivantes, selon l'outil CLI que vous utilisez :

  • Si vous utilisez uipathctl, exécutez :
    ./uipathctl health check./uipathctl health check
  • Si vous utilisez uipathtools, exécutez :
    ./uipathtools health check./uipathtools health check
Par défaut, la commande uipathctl health check vérifie l'intégrité de tous les composants. Cependant, cela vous permet également de vérifier strictement les composants qui vous intéressent :
  • Si vous souhaitez exclure des composants de l'exécution, utilisez l'indicateur --excluded. Par exemple, si vous ne souhaitez pas vérifier l'intégrité de SQL, exécutez uipathctl health check --excluded SQL. La commande vérifie l'intégrité de tous les composants à l'exception de SQL.
  • Si vous souhaitez inclure uniquement certains composants dans l'exécution, utilisez l'indicateur --included. Par exemple, si vous souhaitez uniquement vérifier l'intégrité de DNS et l'objectstore, exécutez uipathctl health check --included DNS,OBJECTSTORAGE.

Analyse des journaux

  1. Après avoir exécuté une vérification de l'état, les journaux montrent que la vérification de l'état de l'application Data Service a échoué.
    [DATASERVICE][DATASERVICE_HEALTH] Application health check failed: health status is Progressing and sync status is Synced❌ [DATASERVICE]
        ❌ [DATASERVICE_HEALTH] Application health check failed: health status is Progressing and sync status is Synced
  2. Après une enquête plus approfondie, il devient clair que l'application Data Service a échoué car les pods dataservice-runtime-8f5bb7d56-v5krg et dataservice-taskrunner-787df76c74-98h5l sont en état d'échec. Si vous analysez plus avant, vous pouvez constater que le dataservice-external-storage-secret manquant est manquant.
    [POD][LIST_NAMESPACES] Retrieved 25 namespaces to check pod health
        ❌ [CANNOT_MOUNT_VOLUME] Pod uipath/dataservice-runtime-8f5bb7d56-v5krg cannot mount volume: MountVolume.SetUp failed for volume "external-storage-creds" : secret "dataservice-external-storage-secret" not found
        ❌ [CANNOT_MOUNT_VOLUME] Pod uipath/dataservice-runtime-8f5bb7d56-xs9t5 cannot mount volume: MountVolume.SetUp failed for volume "external-storage-creds" : secret "dataservice-external-storage-secret" not found
        ❌ [CANNOT_MOUNT_VOLUME] Pod uipath/dataservice-taskrunner-787df76c74-98h5l cannot mount volume: MountVolume.SetUp failed for volume "external-storage-creds" : secret "dataservice-external-storage-secret" not found❌ [POD]
        ✔ [LIST_NAMESPACES] Retrieved 25 namespaces to check pod health
        ❌ [CANNOT_MOUNT_VOLUME] Pod uipath/dataservice-runtime-8f5bb7d56-v5krg cannot mount volume: MountVolume.SetUp failed for volume "external-storage-creds" : secret "dataservice-external-storage-secret" not found
        ❌ [CANNOT_MOUNT_VOLUME] Pod uipath/dataservice-runtime-8f5bb7d56-xs9t5 cannot mount volume: MountVolume.SetUp failed for volume "external-storage-creds" : secret "dataservice-external-storage-secret" not found
        ❌ [CANNOT_MOUNT_VOLUME] Pod uipath/dataservice-taskrunner-787df76c74-98h5l cannot mount volume: MountVolume.SetUp failed for volume "external-storage-creds" : secret "dataservice-external-storage-secret" not found
  3. Pour résoudre ce problème, assurez-vous que vous avez fourni les informations d’identification correctes pour le magasin d’objets dans cluster_config.json .

Test d'intégrité

Pour exécuter un test d'intégrité, utilisez l'une des commandes suivantes, selon l'outil CLI que vous utilisez :

  • Si vous utilisez uipathctl, exécutez :
    ./uipathctl health test./uipathctl health test
  • Si vous utilisez uipathtools, exécutez :
    ./uipathtools health test./uipathtools health test
Par défaut, la commande uipathctl health test exécute des tests de santé sur tous les composants. Cependant, cela vous permet également de vérifier strictement les composants qui vous intéressent :
  • Si vous souhaitez exclure des composants de l'exécution, utilisez l'indicateur --excluded. Par exemple, si vous ne souhaitez pas vérifier l'intégrité de SQL, exécutez uipathctl health test --excluded SQL. La commande vérifie l'intégrité de tous les composants à l'exception de SQL.
  • Si vous souhaitez inclure uniquement certains composants dans l'exécution, utilisez l'indicateur --included. Par exemple, si vous souhaitez uniquement vérifier l'intégrité de DNS et l'objectstore, exécutez uipathctl health test --included DNS,OBJECTSTORAGE.
Remarque :
Si vous comparez la sortie des commandes check et test pour l'application Data Service, vous pouvez voir que la première valide l'intégrité de l'application, tandis que la seconde vérifie le routage.

Problème connu

Vous pouvez obtenir un message d'erreur semblable à l'exemple suivant. Vous pouvez l’ignorer car aucune Actions n’est requise de votre part.

E0621 23:32:56.426321   24470 reflector.go:138] external/io_k8s_client_go/tools/cache/reflector.go:167: Failed to watch *v1.Pod: context deadline exceeded
E0621 23:32:56.426392   24470 reflector.go:138] external/io_k8s_client_go/tools/cache/reflector.go:167: Failed to watch *v1.Pod: context deadline exceeded
E0621 23:32:56.444420   24470 reflector.go:138] external/io_k8s_client_go/tools/cache/reflector.go:167: Failed to watch *v1.Pod: context deadline exceeded
E0621 23:32:56.446150   24470 reflector.go:138] external/io_k8s_client_go/tools/cache/reflector.go:167: Failed to watch *v1.Pod: context deadline exceeded
E0621 23:32:56.513357   24470 reflector.go:138] external/io_k8s_client_go/tools/cache/reflector.go:167: Failed to watch *v1.Pod: context deadline exceededE0621 23:32:56.426321   24470 reflector.go:138] external/io_k8s_client_go/tools/cache/reflector.go:167: Failed to watch *v1.Pod: context deadline exceeded
E0621 23:32:56.426392   24470 reflector.go:138] external/io_k8s_client_go/tools/cache/reflector.go:167: Failed to watch *v1.Pod: context deadline exceeded
E0621 23:32:56.444420   24470 reflector.go:138] external/io_k8s_client_go/tools/cache/reflector.go:167: Failed to watch *v1.Pod: context deadline exceeded
E0621 23:32:56.446150   24470 reflector.go:138] external/io_k8s_client_go/tools/cache/reflector.go:167: Failed to watch *v1.Pod: context deadline exceeded
E0621 23:32:56.513357   24470 reflector.go:138] external/io_k8s_client_go/tools/cache/reflector.go:167: Failed to watch *v1.Pod: context deadline exceeded

Validation approfondie

Validation approfondie

La commande diagnose fournit des informations détaillées sur l'état du cluster. Il vous aide à identifier les problèmes à tous les niveaux, tels que SQL, objectstore, nœud, secret, Istio, mise en réseau, etc.
  • Il couvre à la fois les commandes check et test .
  • Il exécute les vérifications des prérequis effectuées avant l'installation d'Automation Suite pour valider les modifications apportées à la configuration de l'environnement après l'installation et qui peuvent être la cause potentielle du problème.
  • Il s'exécute sur tous les nœuds pour recueillir tous les problèmes spécifiques aux nœuds, tels que l'indisponibilité des ressources, toute interférence réseau, etc.

Pour exécuter une vérification de diagnostic, utilisez l'une des commandes suivantes, selon l'outil CLI que vous utilisez :

  • Si vous utilisez uipathctl, exécutez :
    ./uipathctl health diagnose cluster_config.json --versions version.json./uipathctl health diagnose cluster_config.json --versions version.json
  • Si vous utilisez uipathtools, exécutez :
    ./uipathtools health diagnose cluster_config.json --versions version.json./uipathtools health diagnose cluster_config.json --versions version.json
Remarque :
L'échantillon susmentionné est rogné vers le bas. Les journaux réels contiennent plus d’informations. Vous pouvez remarquer que la commande diagnose s'exécute à plusieurs niveaux, tels que l'infrastructure, la mise en réseau, le stockage, les pods, le DNS, etc.

Analyse des journaux

Vous pouvez remarquer deux problèmes potentiels dans les journaux précédents :

  • Istio a une mauvaise configuration, ce qui peut entraîner des problèmes d'accès à la plate-forme Document Understanding :
    [ISTIO][ISTIO_SYNC_STATUS] Istio sync is up-to-date
        ❌ [ISTIO_ENVOY_CONFIG_STATUS] Istio Envoy configs are not healthy: Error [IST0101] (VirtualService uipath/du-platform-vs) Referenced host:port not found: "aistorage:5000"❌ [ISTIO]
        ✔ [ISTIO_SYNC_STATUS] Istio sync is up-to-date
        ❌ [ISTIO_ENVOY_CONFIG_STATUS] Istio Envoy configs are not healthy: Error [IST0101] (VirtualService uipath/du-platform-vs) Referenced host:port not found: "aistorage:5000"
  • Data Service n'est pas disponible. Voir Ceph dans l’exemple de code.
    [DATASERVICE][DATASERVICE_HEALTH] Application health check failed: health status is Progressing and sync status is Synced
    ❌ [CANNOT_MOUNT_VOLUME] Pod uipath/dataservice-runtime-8f5bb7d56-v5krg cannot mount volume: (combined from similar events): Unable to attach or mount volumes: unmounted volumes=[external-storage-creds], unattached volumes=[workload-socket is-secrets openssl istio-podinfo temp-location cert-location istio-data external-storage-creds workload-certs istio-envoy java domain-cert-config edk2 credential-socket tmp additional-ca-cert-config pem istiod-ca-cert istio-token app-secrets ceph-storage-creds]: timed out waiting for the condition
        ❌ [CANNOT_MOUNT_VOLUME] Pod uipath/dataservice-runtime-8f5bb7d56-xs9t5 cannot mount volume: MountVolume.SetUp failed for volume "external-storage-creds" : secret "dataservice-external-storage-secret" not found
        ❌ [CANNOT_MOUNT_VOLUME] Pod uipath/dataservice-taskrunner-787df76c74-98h5l cannot mount volume: MountVolume.SetUp failed for volume "external-storage-creds" : secret "dataservice-external-storage-secret" not found❌ [DATASERVICE]
        ❌ [DATASERVICE_HEALTH] Application health check failed: health status is Progressing and sync status is Synced
    ❌ [CANNOT_MOUNT_VOLUME] Pod uipath/dataservice-runtime-8f5bb7d56-v5krg cannot mount volume: (combined from similar events): Unable to attach or mount volumes: unmounted volumes=[external-storage-creds], unattached volumes=[workload-socket is-secrets openssl istio-podinfo temp-location cert-location istio-data external-storage-creds workload-certs istio-envoy java domain-cert-config edk2 credential-socket tmp additional-ca-cert-config pem istiod-ca-cert istio-token app-secrets ceph-storage-creds]: timed out waiting for the condition
        ❌ [CANNOT_MOUNT_VOLUME] Pod uipath/dataservice-runtime-8f5bb7d56-xs9t5 cannot mount volume: MountVolume.SetUp failed for volume "external-storage-creds" : secret "dataservice-external-storage-secret" not found
        ❌ [CANNOT_MOUNT_VOLUME] Pod uipath/dataservice-taskrunner-787df76c74-98h5l cannot mount volume: MountVolume.SetUp failed for volume "external-storage-creds" : secret "dataservice-external-storage-secret" not found

Problèmes connus

Vous pouvez obtenir un message d'erreur semblable à l'exemple suivant. Vous pouvez l’ignorer car aucune Actions n’est requise de votre part.

Utilitaires supplémentaires

Utilitaires supplémentaires

Toutes les commandes de l'outil de diagnostic Automation Suite (check, testet diagnose) prennent en charge un filtrage et un format de sortie supplémentaires.

Filtrage

Filtres

Description

Utilisations

--included

Liste des services à inclure dans la validation, séparés par des virgules

/uipathctl health diagnose cluster_config.json --versions.json --included ISTIO,INSIGHTS

Cette commande exécute le diagnostic uniquement sur Istio et Insights.

--excluded

Liste des services à exclure de la validation, séparés par des virgules

/uipathctl health test --excluded ISTIO,INSIGHTS

Cette commande exécute le test dans l'ensemble du cluster, sauf Istio et Insights.

Format de sortie

L'outil de diagnostic Automation Suite peut générer des rapports dans plusieurs formats : json, yaml, textet junit. Vous pouvez transmettre ces valeurs à n'importe quelle commande via l'indicateur --output . Ces formats de sortie sont pratiques lorsque vous souhaitez tirer parti de ces outils pour créer votre propre infrastructure de résolution des problèmes.

Exemples d'utilisation

Utilisation

Exemple de sortie

./uipathctl health check --included DATASERVICE --output json
./uipathtools health check --included DATASERVICE --output json./uipathctl health check --included DATASERVICE --output json
./uipathtools health check --included DATASERVICE --output json
{ "cluster/": { "DATASERVICE": [ { "name": "DATASERVICE_HEALTH", "description": "Application health check failed: health status is Progressing and sync status is Synced", "status": "failed" } ] } }{ "cluster/": { "DATASERVICE": [ { "name": "DATASERVICE_HEALTH", "description": "Application health check failed: health status is Progressing and sync status is Synced", "status": "failed" } ] } }
./uipathctl health check --included DATASERVICE --output yaml
./uipathtools health check --included DATASERVICE --output yaml./uipathctl health check --included DATASERVICE --output yaml
./uipathtools health check --included DATASERVICE --output yaml
? locationType: cluster : DATASERVICE: - name: DATASERVICE_HEALTH description: 'Application health check failed: health status is Progressing and sync status is Synced' status: failed? locationType: cluster : DATASERVICE: - name: DATASERVICE_HEALTH description: 'Application health check failed: health status is Progressing and sync status is Synced' status: failed
./uipathctl health check --included DATASERVICE --output text
./uipathtools health check --included DATASERVICE --output text./uipathctl health check --included DATASERVICE --output text
./uipathtools health check --included DATASERVICE --output text
Checks run on cluster/[DATASERVICE][DATASERVICE_HEALTH] Application health check failed: health status is Progressing and sync status is SyncedChecks run on cluster/ ❌ [DATASERVICE] ❌ [DATASERVICE_HEALTH] Application health check failed: health status is Progressing and sync status is Synced
./uipathctl health check --included DATASERVICE --output junit
./uipathtools health check --included DATASERVICE --output junit./uipathctl health check --included DATASERVICE --output junit
./uipathtools health check --included DATASERVICE --output junit
<testsuite name="Health" tests="1" errors="0" failures="1" time="0" timestamp="2023-06-22T01:59:08.313362+05:30" hostname=""> <testcase name="DATASERVICE_HEALTH" classname="" time="0"> <failure message="Application health check failed: health status is Progressing and sync status is Synced" type=""> </failure> </testcase> </testsuite><testsuite name="Health" tests="1" errors="0" failures="1" time="0" timestamp="2023-06-22T01:59:08.313362+05:30" hostname=""> <testcase name="DATASERVICE_HEALTH" classname="" time="0"> <failure message="Application health check failed: health status is Progressing and sync status is Synced" type=""> </failure> </testcase> </testsuite>

Lecture des rapports de diagnostic

Journaux INFO

Les journaux INFO affichés en vert indiquent que les vérifications requises ont réussi. Cependant, vous devez toujours vérifier correctement l'utilisation du disque/de la mémoire pour éviter les erreurs cachées.

Messages d'AVERTISSEMENT

Même si ces messages ne signalent pas un risque élevé, vous devrez peut-être les rectifier, car ils peuvent affecter certains services dans certains scénarios.

Messages d'erreur

Vous devez résoudre les problèmes décrits par ces messages car ils affectent certains services du cluster.

Rke2-server ou Rke2-agent Service arrêté

Si ces services sont en panne, cela signifie que le nœud est en panne. Essayez de redémarrer le service à l'aide de systemctl restart <service-name> car cela devrait résoudre le problème.

Taille du répertoire monté sur /var/lib

Le rapport affiche la taille du répertoire monté sur /var/lib car Kubernetes l'utilise pour stocker ses données. Si le répertoire est plein, divers problèmes peuvent survenir. Pour éviter ces problèmes, assurez-vous d'augmenter sa taille.

Version Rke2

Le rapport affiche la version rke2 comme référence.

Pression du disque ou pression de la mémoire

Pour tous les nœuds, nous spécifions s'ils sont sous pression du disque ou sous pression de la mémoire. Si cela se produit, les charges de travail sur ces nœuds peuvent commencer à présenter des problèmes. Vérifiez s'il existe d'autres processus en cours d'exécution sur ces nœuds qui consomment des ressources et supprimez-les si tel est le cas.

État des services Ceph

Nous utilisons Ceph comme stockage d'objets S3 pour stocker les journaux et les fichiers de différentes applications. Vous pouvez voir l'état de ses services. S'ils sont en panne, vous devrez peut-être les redémarrer. Assurez-vous également de vérifier si l'utilisation du disque par Ceph est pleine.

Ports 443 et 31443

Les ports 443 et 31443 doivent être ouverts avec le nom d'hôte fourni. Le rapport indique s'ils ne sont pas accessibles. Assurez-vous d'ouvrir les ports appropriés si cela se produit.

Validité du certificat

L'outil vérifie si le certificat téléchargé est valide pour le nom d'hôte donné et s'il n'a pas expiré. Si le certificat ne répond pas à ces critères, des erreurs se produisent. Pour éviter cela, assurez-vous de vérifier votre certificat téléchargé et modifiez-le si nécessaire.

GPU

Étant donné que certains services nécessitent la présence d'un GPU sur certains nœuds du cluster, l'outil de diagnostic vérifie s'il existe des nœuds GPU et imprime le nombre de ces nœuds. Si vous vous attendez à ce que des nœuds GPU soient présents et qu'ils ne s'affichent pas ici, cela signifie que quelque chose s'est mal passé durant la configuration du GPU.

RabbitMQ et DockerRegistry

RabbitMQ et DockerRegistry sont deux composants importants utilisés par certains services. Si l'un d'entre eux est en panne, vous devez enquêter sur le problème et redémarrer.

Les services ArgoCD ne fonctionnent plus

ArgoCD est notre outil de gestion du cycle de vie des applications (ALM). Si l'un de ses services est en panne, d'autres applications peuvent devenir obsolètes ou rencontrer d'autres problèmes. La récupération de ces services est importante et peut nécessiter un débogage supplémentaire.

Applications ArgoCD manquantes ou dégradées

L'outil de diagnostic d'Automation Suite indique si des applications ArgoCD sont manquantes ou dégradées.

  • Si des applications sont manquantes, accédez à l'interface utilisateur ArgoCD et synchronisez-les.
  • Si les applications sont dégradées, un débogage supplémentaire est nécessaire pour enquêter sur les erreurs générées par ArgoCD

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo
Confiance et sécurité
© 2005-2026 UiPath Tous droits réservés.