automation-suite
2024.10
false
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. 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 9 mars 2026

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 :

    ./bin/uipathctl health check
    ./bin/uipathctl health check
    
  • Si vous utilisez uipathtools, exécutez :

    ./bin/uipathtools health check
    ./bin/uipathtools health check
    

Exemple de sortie du rapport généré :

INFO[0038] Found 3 pods for etcd
INFO[0038] Running the health command - [etcdctl endpoint health --endpoints https://localhost:2379 --cacert /var/lib/rancher/rke2/server/tls/etcd/server-ca.crt --cert /var/lib/rancher/rke2/server/tls/etcd/server-client.crt --key /var/lib/rancher/rke2/server/tls/etcd/server-client.key]
INFO[0039] No credentials provided for registry: registry.uipath.com
INFO[0039] Checking if pods for component argocd-server exist
INFO[0039] Checking if pods for component argocd-repo-server exist
INFO[0039] Found 2 pods for Istio
INFO[0039] Checking if pods for component argocd-application-controller exist
INFO[0039] Checking if pods for component redis-ha exist
INFO[0040] application actioncenter-actions has sync enabled
INFO[0040] application actioncenter-bupproxyservice has sync enabled
INFO[0040] application actioncenter-processes has sync enabled
INFO[0040] application ai-app-deployment has sync enabled
INFO[0040] application ai-appmanager-deployment has sync enabled
INFO[0040] application ai-deployer-deployment has sync enabled
INFO[0040] application ai-helper-deployment has sync enabled
INFO[0040] application ai-pkgmanager-deployment has sync enabled
INFO[0040] application ai-trainer-deployment has sync enabled
INFO[0040] application aievents-deploy has sync enabled
INFO[0040] application ailoadbalancer-cleanup has sync enabled
INFO[0040] application ailoadbalancer-service has sync enabled
INFO[0040] application aimetering has sync enabled
INFO[0040] application airflow-scheduler has sync enabled
INFO[0040] application airflow-statsd has sync enabled
INFO[0040] application airflow-webserver has sync enabled
INFO[0040] application aistorage has sync enabled
INFO[0040] application aistorage-cleanup has sync enabled
INFO[0040] application apps-designer has sync enabled
INFO[0040] application apps-runtime has sync enabled
INFO[0040] application apps-server has sync enabled
INFO[0040] application apps-signalr has sync enabled
INFO[0040] application asrobots has sync enabled
INFO[0040] application auth-dex has sync enabled
INFO[0040] application auth-oauth2-proxy has sync enabled
INFO[0040] application automationhub-ah-frontdoor-service has sync enabled
INFO[0040] application automationhub-ah-open-api-service has sync enabled
INFO[0040] application automationhub-ah-tenant-service has sync enabled
INFO[0040] application automationhub-ah-web-client has sync enabled
INFO[0040] application automationsolutions has sync enabled
INFO[0040] application datapipeline-api has sync enabled
INFO[0040] application dataservice-designer has sync enabled
INFO[0040] application dataservice-runtime has sync enabled
INFO[0040] application dataservice-taskrunner has sync enabled
INFO[0040] application du-aimodelhost-2404 has sync enabled
INFO[0040] application du-aimodelhost-classifier-2404 has sync enabled
INFO[0040] application du-annotations has sync enabled
INFO[0040] application du-annotations-background-tasks has sync enabled
INFO[0040] application du-app-service has sync enabled
INFO[0040] application du-audit-cleanup has sync enabled
INFO[0040] application du-audit-service has sync enabled
INFO[0040] application du-classifier has sync enabled
INFO[0040] application du-deployments has sync enabled
INFO[0040] application du-digitizer has sync enabled
INFO[0040] application du-digitizer-cleanup has sync enabled
INFO[0040] application du-digitizer-worker-deployment has sync enabled
INFO[0040] application du-document-processor-cleanup has sync enabled
INFO[0040] application du-document-processor-service has sync enabled
INFO[0040] application du-document-types-service has sync enabled
INFO[0040] application du-document-types-service-cleanup has sync enabled
INFO[0040] application du-documentmanager-dm has sync enabled
INFO[0040] application du-documents-service has sync enabled
INFO[0040] application du-documents-service-cleanup has sync enabled
INFO[0040] application du-extended-ocr has sync enabled
INFO[0040] application du-extended-ocr-proxy has sync enabled
INFO[0040] application du-framework has sync enabled
INFO[0040] application du-framework-cleanup has sync enabled
INFO[0040] application du-framework-worker has sync enabled
INFO[0040] application du-frontend has sync enabled
INFO[0040] application du-measure-service has sync enabled
INFO[0040] application du-ocr has sync enabled
INFO[0040] application du-provisioning has sync enabled
INFO[0040] application du-services-fe has sync enabled
INFO[0040] application du-services-ikc has sync enabled
INFO[0040] application du-ssde has sync enabled
INFO[0040] application du-training-classifier-2404 has sync enabled
INFO[0040] application du-training-service has sync enabled
INFO[0040] application du-training-service-cleanup has sync enabled
INFO[0040] application du-training-ssde-2404 has sync enabled
INFO[0040] application identity-service-api has sync enabled
INFO[0040] application identity-service-web has sync enabled
INFO[0040] application insights-insightsportal has sync enabled
INFO[0040] application insights-insightsprovisioning has sync enabled
INFO[0040] application notificationcoreworker has sync enabled
INFO[0040] application notificationserviceapi has sync enabled
INFO[0040] application orchestrator has sync enabled
INFO[0040] application platform-authorization-service has sync enabled
INFO[0040] application platform-license-accountant has sync enabled
INFO[0040] application platform-license-accountant-worker has sync enabled
INFO[0040] application platform-license-resource-manager has sync enabled
INFO[0040] application platform-license-resource-manager-worker has sync enabled
INFO[0040] application platform-location-service has sync enabled
INFO[0040] application platform-messagebus-service has sync enabled
INFO[0040] application platform-organization-management-service has sync enabled
INFO[0040] application platform-portal has sync enabled
INFO[0040] application platform-resource-catalog-service has sync enabled
INFO[0040] application process-mining has sync enabled
INFO[0040] application process-mining-dbt-exec has sync enabled
INFO[0040] application process-mining-frontend has sync enabled
INFO[0040] application process-mining-technology-webapi has sync enabled
INFO[0040] application process-mining-technology-workerservice has sync enabled
INFO[0040] application publishermetaservice has sync enabled
INFO[0040] application pushgateway-prometheus-pushgateway has sync enabled
INFO[0040] application reloader-reloader has sync enabled
INFO[0040] application robotube has sync enabled
INFO[0040] application studio-governance-api has sync enabled
INFO[0040] application studio-governance-web has sync enabled
INFO[0040] application testmanager has sync enabled
INFO[0040] application usergroupresolverworker has sync enabled
INFO[0040] application usersubscriptionservice has sync enabled
INFO[0040] application webhook-service has sync enabled
INFO[0040] Pod etcd-server0 is healthy
INFO[0040] Running the health command - [etcdctl endpoint health --endpoints https://localhost:2379 --cacert /var/lib/rancher/rke2/server/tls/etcd/server-ca.crt --cert /var/lib/rancher/rke2/server/tls/etcd/server-client.crt --key /var/lib/rancher/rke2/server/tls/etcd/server-client.key]
INFO[0041] Pod etcd-server1 is healthy
INFO[0041] Running the health command - [etcdctl endpoint health --endpoints https://localhost:2379 --cacert /var/lib/rancher/rke2/server/tls/etcd/server-ca.crt --cert /var/lib/rancher/rke2/server/tls/etcd/server-client.crt --key /var/lib/rancher/rke2/server/tls/etcd/server-client.key]
INFO[0042] Pod etcd-server2 is healthy
INFO[0044] Waited for job uipath-check/grafana-vj8m5-curl-podfzvvb to reach status COMPLETED, desiredStatus [COMPLETED] with message CompletionsReached
INFO[0044] status COMPLETED is contained in desiredStatus [COMPLETED]
INFO[0044] Querying for running pod in namespace uipath-check, and job.Name grafana-vj8m5-curl-podfzvvb
INFO[0060] Fetching from helm-credential URL in argocd namespace
INFO[0061] Fetching from helm-credential URL in argocd namespace
INFO[0064] There were errors when reading cluster config: cannot parse proxy enabled: strconv.ParseBool: parsing "": invalid syntax
Ran cluster/ checks...
    Ran ACTIONCENTER checks...
        ✔ successful
    Ran AICENTER checks...
        ✔ successful
    Ran AIEVENTS checks...
        ✔ successful
    Ran AIMETERING checks...
        ✔ successful
    Ran AIRFLOW checks...
        ✔ successful
    Ran ARGOCD checks...
        ✔ successful
    Ran ASROBOTS checks...
        ✔ successful
    Ran AUTOMATIONHUB checks...
        ✔ successful
    Ran AUTOMATIONOPS checks...
        ✔ successful
    Ran AUTOMATIONSOLUTIONS checks...
        ✔ successful
    Ran BA checks...
        ✔ successful
    Ran CERT-MANAGER checks...
        ✔ successful
    Ran CILIUM checks...
        ✔ successful
    Ran DATAPIPELINE-API checks...
        ✔ successful
    Ran DATASERVICE checks...
        ✔ successful
    Ran DOCUMENTUNDERSTANDING checks...
        ✔ successful
    Ran ETCD checks...
        ✔ successful
    Ran GATEKEEPER checks...
        ✔ successful
    Ran GRAFANA checks...
        ✔ successful
    Ran INSIGHTS checks...
        ✔ successful
    Ran ISTIO checks...
        ✔ successful
    Ran LOGGING checks...
        ✔ successful
    Ran MAINTENANCE checks...
        ✔ successful
    Ran NODE checks...
        ✔ successful
    Ran NOTIFICATIONSERVICE checks...
        ✔ successful
    Ran ORCHESTRATOR checks...
        ✔ successful
    Ran PLATFORM checks...
        ✔ successful
    Ran POD checks...
        ✔ successful
    Ran PROCESSMINING checks...
        ✔ successful
    Ran RELOADER checks...
        ✔ successful
    Ran REPLICAS checks...
        ✔ successful
    Ran ROBOTUBE checks...
        ✔ successful
    Ran SFCORE checks...
        ✔ successful
    Ran TESTMANAGER checks...
        ✔ successful
    Ran WEBHOOK checks...
        ✔ successful
Checks complete!
INFO[0038] Found 3 pods for etcd
INFO[0038] Running the health command - [etcdctl endpoint health --endpoints https://localhost:2379 --cacert /var/lib/rancher/rke2/server/tls/etcd/server-ca.crt --cert /var/lib/rancher/rke2/server/tls/etcd/server-client.crt --key /var/lib/rancher/rke2/server/tls/etcd/server-client.key]
INFO[0039] No credentials provided for registry: registry.uipath.com
INFO[0039] Checking if pods for component argocd-server exist
INFO[0039] Checking if pods for component argocd-repo-server exist
INFO[0039] Found 2 pods for Istio
INFO[0039] Checking if pods for component argocd-application-controller exist
INFO[0039] Checking if pods for component redis-ha exist
INFO[0040] application actioncenter-actions has sync enabled
INFO[0040] application actioncenter-bupproxyservice has sync enabled
INFO[0040] application actioncenter-processes has sync enabled
INFO[0040] application ai-app-deployment has sync enabled
INFO[0040] application ai-appmanager-deployment has sync enabled
INFO[0040] application ai-deployer-deployment has sync enabled
INFO[0040] application ai-helper-deployment has sync enabled
INFO[0040] application ai-pkgmanager-deployment has sync enabled
INFO[0040] application ai-trainer-deployment has sync enabled
INFO[0040] application aievents-deploy has sync enabled
INFO[0040] application ailoadbalancer-cleanup has sync enabled
INFO[0040] application ailoadbalancer-service has sync enabled
INFO[0040] application aimetering has sync enabled
INFO[0040] application airflow-scheduler has sync enabled
INFO[0040] application airflow-statsd has sync enabled
INFO[0040] application airflow-webserver has sync enabled
INFO[0040] application aistorage has sync enabled
INFO[0040] application aistorage-cleanup has sync enabled
INFO[0040] application apps-designer has sync enabled
INFO[0040] application apps-runtime has sync enabled
INFO[0040] application apps-server has sync enabled
INFO[0040] application apps-signalr has sync enabled
INFO[0040] application asrobots has sync enabled
INFO[0040] application auth-dex has sync enabled
INFO[0040] application auth-oauth2-proxy has sync enabled
INFO[0040] application automationhub-ah-frontdoor-service has sync enabled
INFO[0040] application automationhub-ah-open-api-service has sync enabled
INFO[0040] application automationhub-ah-tenant-service has sync enabled
INFO[0040] application automationhub-ah-web-client has sync enabled
INFO[0040] application automationsolutions has sync enabled
INFO[0040] application datapipeline-api has sync enabled
INFO[0040] application dataservice-designer has sync enabled
INFO[0040] application dataservice-runtime has sync enabled
INFO[0040] application dataservice-taskrunner has sync enabled
INFO[0040] application du-aimodelhost-2404 has sync enabled
INFO[0040] application du-aimodelhost-classifier-2404 has sync enabled
INFO[0040] application du-annotations has sync enabled
INFO[0040] application du-annotations-background-tasks has sync enabled
INFO[0040] application du-app-service has sync enabled
INFO[0040] application du-audit-cleanup has sync enabled
INFO[0040] application du-audit-service has sync enabled
INFO[0040] application du-classifier has sync enabled
INFO[0040] application du-deployments has sync enabled
INFO[0040] application du-digitizer has sync enabled
INFO[0040] application du-digitizer-cleanup has sync enabled
INFO[0040] application du-digitizer-worker-deployment has sync enabled
INFO[0040] application du-document-processor-cleanup has sync enabled
INFO[0040] application du-document-processor-service has sync enabled
INFO[0040] application du-document-types-service has sync enabled
INFO[0040] application du-document-types-service-cleanup has sync enabled
INFO[0040] application du-documentmanager-dm has sync enabled
INFO[0040] application du-documents-service has sync enabled
INFO[0040] application du-documents-service-cleanup has sync enabled
INFO[0040] application du-extended-ocr has sync enabled
INFO[0040] application du-extended-ocr-proxy has sync enabled
INFO[0040] application du-framework has sync enabled
INFO[0040] application du-framework-cleanup has sync enabled
INFO[0040] application du-framework-worker has sync enabled
INFO[0040] application du-frontend has sync enabled
INFO[0040] application du-measure-service has sync enabled
INFO[0040] application du-ocr has sync enabled
INFO[0040] application du-provisioning has sync enabled
INFO[0040] application du-services-fe has sync enabled
INFO[0040] application du-services-ikc has sync enabled
INFO[0040] application du-ssde has sync enabled
INFO[0040] application du-training-classifier-2404 has sync enabled
INFO[0040] application du-training-service has sync enabled
INFO[0040] application du-training-service-cleanup has sync enabled
INFO[0040] application du-training-ssde-2404 has sync enabled
INFO[0040] application identity-service-api has sync enabled
INFO[0040] application identity-service-web has sync enabled
INFO[0040] application insights-insightsportal has sync enabled
INFO[0040] application insights-insightsprovisioning has sync enabled
INFO[0040] application notificationcoreworker has sync enabled
INFO[0040] application notificationserviceapi has sync enabled
INFO[0040] application orchestrator has sync enabled
INFO[0040] application platform-authorization-service has sync enabled
INFO[0040] application platform-license-accountant has sync enabled
INFO[0040] application platform-license-accountant-worker has sync enabled
INFO[0040] application platform-license-resource-manager has sync enabled
INFO[0040] application platform-license-resource-manager-worker has sync enabled
INFO[0040] application platform-location-service has sync enabled
INFO[0040] application platform-messagebus-service has sync enabled
INFO[0040] application platform-organization-management-service has sync enabled
INFO[0040] application platform-portal has sync enabled
INFO[0040] application platform-resource-catalog-service has sync enabled
INFO[0040] application process-mining has sync enabled
INFO[0040] application process-mining-dbt-exec has sync enabled
INFO[0040] application process-mining-frontend has sync enabled
INFO[0040] application process-mining-technology-webapi has sync enabled
INFO[0040] application process-mining-technology-workerservice has sync enabled
INFO[0040] application publishermetaservice has sync enabled
INFO[0040] application pushgateway-prometheus-pushgateway has sync enabled
INFO[0040] application reloader-reloader has sync enabled
INFO[0040] application robotube has sync enabled
INFO[0040] application studio-governance-api has sync enabled
INFO[0040] application studio-governance-web has sync enabled
INFO[0040] application testmanager has sync enabled
INFO[0040] application usergroupresolverworker has sync enabled
INFO[0040] application usersubscriptionservice has sync enabled
INFO[0040] application webhook-service has sync enabled
INFO[0040] Pod etcd-server0 is healthy
INFO[0040] Running the health command - [etcdctl endpoint health --endpoints https://localhost:2379 --cacert /var/lib/rancher/rke2/server/tls/etcd/server-ca.crt --cert /var/lib/rancher/rke2/server/tls/etcd/server-client.crt --key /var/lib/rancher/rke2/server/tls/etcd/server-client.key]
INFO[0041] Pod etcd-server1 is healthy
INFO[0041] Running the health command - [etcdctl endpoint health --endpoints https://localhost:2379 --cacert /var/lib/rancher/rke2/server/tls/etcd/server-ca.crt --cert /var/lib/rancher/rke2/server/tls/etcd/server-client.crt --key /var/lib/rancher/rke2/server/tls/etcd/server-client.key]
INFO[0042] Pod etcd-server2 is healthy
INFO[0044] Waited for job uipath-check/grafana-vj8m5-curl-podfzvvb to reach status COMPLETED, desiredStatus [COMPLETED] with message CompletionsReached
INFO[0044] status COMPLETED is contained in desiredStatus [COMPLETED]
INFO[0044] Querying for running pod in namespace uipath-check, and job.Name grafana-vj8m5-curl-podfzvvb
INFO[0060] Fetching from helm-credential URL in argocd namespace
INFO[0061] Fetching from helm-credential URL in argocd namespace
INFO[0064] There were errors when reading cluster config: cannot parse proxy enabled: strconv.ParseBool: parsing "": invalid syntax
Ran cluster/ checks...
    Ran ACTIONCENTER checks...
        ✔ successful
    Ran AICENTER checks...
        ✔ successful
    Ran AIEVENTS checks...
        ✔ successful
    Ran AIMETERING checks...
        ✔ successful
    Ran AIRFLOW checks...
        ✔ successful
    Ran ARGOCD checks...
        ✔ successful
    Ran ASROBOTS checks...
        ✔ successful
    Ran AUTOMATIONHUB checks...
        ✔ successful
    Ran AUTOMATIONOPS checks...
        ✔ successful
    Ran AUTOMATIONSOLUTIONS checks...
        ✔ successful
    Ran BA checks...
        ✔ successful
    Ran CERT-MANAGER checks...
        ✔ successful
    Ran CILIUM checks...
        ✔ successful
    Ran DATAPIPELINE-API checks...
        ✔ successful
    Ran DATASERVICE checks...
        ✔ successful
    Ran DOCUMENTUNDERSTANDING checks...
        ✔ successful
    Ran ETCD checks...
        ✔ successful
    Ran GATEKEEPER checks...
        ✔ successful
    Ran GRAFANA checks...
        ✔ successful
    Ran INSIGHTS checks...
        ✔ successful
    Ran ISTIO checks...
        ✔ successful
    Ran LOGGING checks...
        ✔ successful
    Ran MAINTENANCE checks...
        ✔ successful
    Ran NODE checks...
        ✔ successful
    Ran NOTIFICATIONSERVICE checks...
        ✔ successful
    Ran ORCHESTRATOR checks...
        ✔ successful
    Ran PLATFORM checks...
        ✔ successful
    Ran POD checks...
        ✔ successful
    Ran PROCESSMINING checks...
        ✔ successful
    Ran RELOADER checks...
        ✔ successful
    Ran REPLICAS checks...
        ✔ successful
    Ran ROBOTUBE checks...
        ✔ successful
    Ran SFCORE checks...
        ✔ successful
    Ran TESTMANAGER checks...
        ✔ successful
    Ran WEBHOOK checks...
        ✔ successful
Checks complete!

Par défaut, la commande 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 la commande suivante :

    ./bin/uipathctl health check --excluded SQL
    ./bin/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 la commande suivante :

    ./bin/uipathctl health check --included DNS,OBJECTSTORAGE
    ./bin/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 :

    ./bin/uipathctl health test
    ./bin/uipathctl health test
    
  • Si vous utilisez uipathtools, exécutez :

    ./bin/uipathtools health test
    ./bin/uipathtools health test
    

Par défaut, la commande 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 la commande suivante :

    ./bin/uipathctl health test --excluded SQL
    ./bin/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 la commande suivante :

    ./bin/uipathctl test --included DNS,OBJECTSTORAGE
    ./bin/uipathctl 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 exceeded
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 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 :

    ./bin/uipathctl health diagnose cluster_config.json --versions versions/helm-charts.json
    ./bin/uipathctl health diagnose cluster_config.json --versions versions/helm-charts.json
    
  • Si vous utilisez uipathtools, exécutez :

    ./bin/uipathtools health diagnose cluster_config.json --versions versions/helm-charts.json
    ./bin/uipathtools health diagnose cluster_config.json --versions versions/helm-charts.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

FiltresDescriptionUtilisations
--includedListe des services à inclure dans la validation, séparés par des virgules./bin/uipathctl health diagnose cluster_config.json --versions versions/helm-charts.json --included ISTIO,INSIGHTS
Cette commande exécute le diagnostic uniquement sur Istio et Insights.
--excludedListe des services à exclure de la validation, séparés par des virgules./bin/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

UtilisationExemple de sortie
./bin/uipathctl health check --included DATASERVICE --output json
./bin/uipathtools health check --included DATASERVICE --output json
./bin/uipathctl health check --included DATASERVICE --output json
./bin/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"
      }
    ]
  }
}
./bin/uipathctl health check --included DATASERVICE --output yaml
./bin/uipathtools health check --included DATASERVICE --output yaml
./bin/uipathctl health check --included DATASERVICE --output yaml
./bin/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
./bin/uipathctl health check --included DATASERVICE --output text
./bin/uipathtools health check --included DATASERVICE --output text
./bin/uipathctl health check --included DATASERVICE --output text
./bin/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 Synced
Checks run on cluster/
❌ [DATASERVICE]
❌ [DATASERVICE_HEALTH] Application health check failed: health status is Progressing and sync status is Synced
./bin/uipathctl health check --included DATASERVICE --output junit
./bin/uipathtools health check --included DATASERVICE --output junit
./bin/uipathctl health check --included DATASERVICE --output junit
./bin/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.

Registre Docker

DockerRegistry est un composant important utilisé par certains services. S'il est en panne, vous devez enquêter sur le problème et effectuer un redémarrage.

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 ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour