UiPath Documentation
automation-suite
2023.10
false
Guía de instalación de Automation Suite en Linux
Importante :
La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Ejecutar la herramienta de diagnóstico

Ejecuta la herramienta de diagnóstico de Automation Suite para generar un informe de estado del clúster e identificar problemas comunes.

La herramienta de diagnóstico de Automation Suite ejecuta un conjunto de comprobaciones para generar un informe sobre el estado del clúster, que puedes analizar para identificar problemas y sus posibles causas. La herramienta te ayuda a encontrar incidencias comunes, como la pérdida de la conectividad de la base de datos o credenciales no válidas o caducadas.

La herramienta de diagnóstico de Automation Suite está disponible en uipathctl y uipathtools, y puedes descargarla en tu máquina de administración.

uipathtools es una herramienta CLI que contiene un subconjunto de uipathctl capacidades específicas para los comandos de mantenimiento. La herramienta es compatible con versiones anteriores y funciona con cualquiera de las versiones de Automation Suite compatibles. Recomendamos utilizar uipathtools como primer paso si tienes algún problema.

Validación rápida​

Validación rápida​

Los comandos check y test proporcionan información rápida sobre el estado del clúster sin ejecutar un análisis profundo.

  • check se basa en el estado de salud y sincronización de ArgoCD y no modifica ningún estado del clúster
  • test examina las aplicaciones, la implementación o los pods y modifica temporalmente el estado del clúster para proporcionarte esa información.

Comprobación de estado​

Para ejecutar una verificación de estado, usa uno de los siguientes comandos, dependiendo de la herramienta CLI que uses:

  • Si utilizas uipathctl, ejecuta:
    ./uipathctl health check
    ./uipathctl health check
    
  • Si utilizas uipathtools, ejecuta:
    ./uipathtools health check
    ./uipathtools health check
    

De forma predeterminada, el comando uipathctl health check comprueba el estado de todos los componentes. Sin embargo, también te permite comprobar estrictamente los componentes en los que estás interesado:

  • Si quieres excluir componentes de la ejecución, utiliza la marca --excluded. Por ejemplo, si no quieres comprobar el estado de SQL, ejecuta uipathctl health check --excluded SQL. El comando comprueba el estado de todos los componentes, excepto para SQL.
  • Si quieres incluir solo ciertos componentes en la ejecución, utiliza la marca --included. Por ejemplo, si solo quieres comprobar el estado del DNS y el almacén de objetos, ejecuta uipathctl health check --included DNS,OBJECTSTORAGE.

Analizando los registros

  1. Después de ejecutar una comprobación de estado, los registros muestran que falló la comprobación de estado de la aplicación Data Service.
    ❌ [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. Tras investigar más a fondo, queda claro que la aplicación Data Service falló porque los pods dataservice-runtime-8f5bb7d56-v5krg y dataservice-taskrunner-787df76c74-98h5l están en estado fallido. Si sigue analizando, puede encontrar que falta el dataservice-external-storage-secret .
    ❌ [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. Para solucionar este problema, asegúrate de proporcionar las credenciales correctas para el almacén de objetos en cluster_config.json.

Test de salud​

Para ejecutar una prueba de estado, usa uno de los siguientes comandos, en función de la herramienta CLI que utilices:

  • Si utilizas uipathctl, ejecuta:
    ./uipathctl health test
    ./uipathctl health test
    
  • Si utilizas uipathtools, ejecuta:
    ./uipathtools health test
    ./uipathtools health test
    

De forma predeterminada, el comando uipathctl health test ejecuta pruebas de estado en todos los componentes. Sin embargo, también te permite comprobar estrictamente los componentes en los que estás interesado:

  • Si quieres excluir componentes de la ejecución, utiliza la marca --excluded. Por ejemplo, si no quieres comprobar el estado de SQL, ejecuta uipathctl health test --excluded SQL. El comando comprueba el estado de todos los componentes, excepto para SQL.
  • Si quieres incluir solo ciertos componentes en la ejecución, utiliza la marca --included. Por ejemplo, si solo quieres comprobar el estado del DNS y el almacén de objetos, ejecuta uipathctl health test --included DNS,OBJECTSTORAGE.
    Nota:

    Si comparas la salida de los comandos check y test para la aplicación de Data Service, puedes ver que el primero valida el estado de la aplicación, mientras que el segundo comprueba el enrutamiento.

Problema conocido

Es posible que obtengas un mensaje de error similar al del siguiente ejemplo. Puede Actions ya que no se requiere ninguna acción por su parte.

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

Validación profunda​

Validación profunda​

El comando diagnose proporciona información detallada sobre el estado del clúster. Te ayuda a identificar problemas en todos los niveles, como SQL, almacén de objetos, nodo, secreto, Istio, redes, etc.

  • Cubre los comandos check y test .
  • Ejecuta las comprobaciones de requisitos previos realizadas antes de la instalación de Automation Suite para validar los cambios en la configuración del entorno que se realizaron después de la instalación y que pueden ser la posible causa del problema.
  • Se ejecuta en todos los nodos para recopilar cualquier problema específico del nodo, como la falta de disponibilidad de recursos, cualquier interferencia en la red, etc.

Para ejecutar una comprobación de diagnóstico, utiliza uno de los siguientes comandos, dependiendo de la herramienta CLI que utilices:

  • Si utilizas uipathctl, ejecuta:
    ./uipathctl health diagnose cluster_config.json --versions version.json
    ./uipathctl health diagnose cluster_config.json --versions version.json
    
  • Si utilizas uipathtools, ejecuta:
    ./uipathtools health diagnose cluster_config.json --versions version.json
    ./uipathtools health diagnose cluster_config.json --versions version.json
    
Nota:

La muestra anterior se recorta. Los registros reales tienen más información. Observará que el comando diagnose se ejecuta en varios niveles, como la infraestructura, las redes, el almacenamiento, los pods, los DNS, etc.

Analizando los registros

Hay dos posibles problemas que puedes observar en los registros anteriores:

  • Istio tiene una configuración incorrecta, lo que puede causar problemas para acceder a la plataforma 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"
    
  • El servicio de datos no está disponible. Consulta Ceph en el ejemplo de código.
    ❌ [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
    

Problemas conocidos

Es posible que obtengas un mensaje de error similar al del siguiente ejemplo. Puede Actions ya que no se requiere ninguna acción por su parte.

Servicios públicos adicionales​

Facilidades adicionales​

Todos los comandos de la herramienta de diagnóstico de Automation Suite (check, testy diagnose) admiten filtrado y formatos de salida adicionales.

Filtrar

FiltrosDescripciónUsos
--includedLista separada por comas de los servicios para incluir en la validación/uipathctl health diagnose cluster_config.json --versions.json --included ISTIO,INSIGHTS Este comando ejecuta el diagnóstico solo frente a Istio e Insights.
--excludedLista separada por comas de los servicios para excluir de la validación/uipathctl health test --excluded ISTIO,INSIGHTS Este comando ejecuta la prueba en todo el clúster, excepto Istio e Insights.

Formato de salida

La herramienta de diagnóstico de Automation Suite puede generar informes en varios formatos: json, yaml, texty junit. Puedes pasar estos valores a cualquiera de los comandos a través de la --output . Estos formatos de salida son útiles cuando desea aprovechar estas herramientas para crear su propio marco de resolución de problemas sobre ellas.

Usos de ejemplo

UsoEjemplo de resultado
./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" } ] } }
./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
./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 Synced
./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>

Leer informes de diagnóstico​

Registros de INFO​

Los registros de información en verde muestran que las comprobaciones requeridas han sido satisfactorias. Sin embargo, debe comprobar debidamente el uso del disco o de la memoria para evitar errores ocultos.

Mensajes de ADVERTENCIA​

Aunque estos mensajes no indican un riesgo elevado, es posible que tenga que rectificarlos, ya que podrían afectar a algunos servicios en determinados escenarios.

Mensajes de ERROR​

Debe solucionar los problemas indicados en estos mensajes, ya que afectan a algún servicio del clúster.

Servicio caído del servidor Rke2 o del agente Rke2​

Si estos servicios no están operativos, significa que el nodo está inactivo. Intente reiniciar el servicio utilizando systemctl restart <service-name>, ya que esto debería solucionar el problema.

Tamaño del directorio ubicado en /var/lib​

Tamaño del directorio ubicado en /var/lib ya que Kubernetes lo utiliza para almacenar sus datos. Si el directorio está lleno, pueden surgir varios problemas. Para evitar estos problemas, asegúrese de aumentar su tamaño.

Versión Rke2​

El informe muestra la versión rke2 como referencia.

Presión del disco o presión de la memoria​

En todos los nodos, se especifica si están bajo la presión del disco o de la memoria. Si esto sucede, las cargas de trabajo en estos nodos podrían empezar a presentar problemas. Compruebe si hay otros procesos en ejecución en estos nodos que estén consumiendo recursos y elimínelos si es el caso.

Estado de los servicios Ceph​

Se utiliza Ceph como almacenamiento de objetos S3 para guardar registros y archivos de distintas aplicaciones. Es posible consultar el estado de sus servicios. Si no están operativos, es posible que deba reiniciarlos. Asegúrese de comprobar también si el disco que utiliza Ceph está lleno.

Puertos 443 y 31443​

Los puertos 443 y 31443 deben estar abiertos en el nombre de host proporcionado. El informe indica si no están accesibles. Asegúrese de abrir los puertos apropiados si así se le indica.

Validez del certificado​

La herramienta comprueba si el certificado cargado es válido para el nombre de host proporcionado y si este no ha caducado. Si el certificado no cumple estos criterios, aparecerán errores. Para evitarlo, asegúrese de comprobar el certificado cargado y cambiarlo en caso necesario.

Dado que algunos servicios requieren que la GPU esté presente en algunos nodos del clúster, la herramienta de diagnósticos de Automation Suite comprueba si hay nodos GPU e imprime el número de dichos nodos. Si cree que hay nodos GPU presentes, pero no aparecen aquí, significará que algo ha ido mal en la configuración de la GPU.

RabbitMQ y DockerRegistry​

RabbitMQ y DockerRegistry son dos componentes relevantes que utilizan algunos servicios. Si cualquiera de ellos no estuviera operativo, habría que investigar el problema y reiniciar.

Servicios ArgoCD no operativos​

ArgoCD es nuestra herramienta de gestión del ciclo de vida de las aplicaciones (ALM). Si cualquiera de sus servicios no está operativo, otras aplicaciones pueden quedar obsoletas o tener otros problemas. La recuperación de estos servicios es importante y puede requerir una mayor depuración.

Aplicaciones ArgoCD ausentes o degradadas​

La herramienta de diagnósticos de Automation Suite muestra si las aplicaciones de ArgoCD faltan o están degradadas.

  • Si faltan aplicaciones, vaya a la interfaz de usuario de ArgoCD y sincronícela.
  • Si las aplicaciones están degradadas, es necesario realizar una depuración adicional para investigar los errores mostrados por ArgoCD.

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado