- 概述
- 要求
- 预安装
- 安装
- 安装后
- 迁移和升级
- 监控和警示
- 集群管理
- 特定于产品的配置
- 故障排除
- 运行诊断工具
- 运行支持捆绑包工具
运行诊断工具
运行 Automation Suite 诊断工具,以对 OpenShift 上的集群问题进行故障排除。
Automation Suite 诊断工具会运行一系列检查,以生成有关集群运行状况的报告,您可以分析该报告,以识别问题及其潜在的根本原因。该工具可帮助您查找常见问题,例如数据库连接丢失或凭据无效或过期。
Automation Suite 诊断工具在 uipathctl 和 uipathtools 中均可用,您可以在管理计算机上下载该工具。
For download instructions, refer to uipathctl and uipathtools.
uipathtools 是一个 CLI 工具,其中包含特定于运行状况命令的 uipathctl 功能的子集。该工具向后兼容,适用于任何受支持的 Automation Suite 版本。如果您遇到任何问题,我们建议首先使用 uipathtools 。
快速验证
快速验证
check 和 test 命令可让您快速了解集群的状态,而无需运行深度分析。
check依赖于 ArgoCD 运行状况和同步状态,不会修改集群中的任何状态test会调查应用程序、部署或 Pod,并临时改变集群的状态,为您提供这些见解。
运行状况检查
要运行运行状况检查,请根据您使用的 CLI 工具使用以下命令之一:
- 如果使用
uipathctl,请运行:./uipathctl health check --namespace <uipath> --versions versions.json./uipathctl health check --namespace <uipath> --versions versions.json - 如果使用
uipathtools,请运行:./uipathtools health check./uipathtools health check
使用--namespace标志(可选)来提供安装 UiPath 资源的命名空间。仅当安装不在uipath命名空间中时,才需要使用该标志。
生成的报告的示例输出:
Checks run on cluster/
✔ [NOTIFICATIONSERVICE]
✔ [NOTIFICATIONSERVICE_HEALTH] Application is healthy and in sync
✔ [ACTION_CENTER]
✔ [ACTIONCENTER_HEALTH] Application is healthy and in sync
❌ [SYNC]
❌ [namespace:"uipath" | kind:"Application" | name:"dataservice"] Application health check failed: health status is Progressing and sync status is Synced
✔ [RELOADER]
✔ [RELOADER_HEALTH] Application is healthy and in sync
❌ [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
✔ [ISTIO]
✔ [LIST_PODS] Found 2 pods for Istio
✔ [ISTIOD_EXISTS] The Istio pods are present and running version -
✔ [ISTIOD_READY] Istio pods are healthy
✔ [AIEVENTS]
✔ [AIEVENTS_HEALTH] Application is healthy and in sync
❌ [DATASERVICE]
❌ [DATASERVICE_HEALTH] Application health check failed: health status is Progressing and sync status is Synced
✔ [PLATFORM]
✔ [PLATFORM_HEALTH] Application is healthy and in sync
✔ [WEBHOOK]
✔ [WEBHOOK_HEALTH] Application is healthy and in sync
Checks run on cluster/
✔ [NOTIFICATIONSERVICE]
✔ [NOTIFICATIONSERVICE_HEALTH] Application is healthy and in sync
✔ [ACTION_CENTER]
✔ [ACTIONCENTER_HEALTH] Application is healthy and in sync
❌ [SYNC]
❌ [namespace:"uipath" | kind:"Application" | name:"dataservice"] Application health check failed: health status is Progressing and sync status is Synced
✔ [RELOADER]
✔ [RELOADER_HEALTH] Application is healthy and in sync
❌ [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
✔ [ISTIO]
✔ [LIST_PODS] Found 2 pods for Istio
✔ [ISTIOD_EXISTS] The Istio pods are present and running version -
✔ [ISTIOD_READY] Istio pods are healthy
✔ [AIEVENTS]
✔ [AIEVENTS_HEALTH] Application is healthy and in sync
❌ [DATASERVICE]
❌ [DATASERVICE_HEALTH] Application health check failed: health status is Progressing and sync status is Synced
✔ [PLATFORM]
✔ [PLATFORM_HEALTH] Application is healthy and in sync
✔ [WEBHOOK]
✔ [WEBHOOK_HEALTH] Application is healthy and in sync
默认情况下, health check 命令会检查所有组件的运行状况。但是,它也允许您严格检查您感兴趣的组件:
-
如果要从执行中排除组件,请使用
--excluded标志。例如,如果您不想检查 SQL 的运行状况,请运行以下命令:
./uipathctl health check --namespace <uipath> --versions versions.json --excluded SQL./uipathctl health check --namespace <uipath> --versions versions.json --excluded SQL该命令会检查所有组件的运行状况,SQL 除外。
-
如果您只想在执行中包含某些组件,请使用
--included标志。例如,如果您只想检查 DNS 和对象存储的运行状况,请运行以下命令:
./uipathctl health check --namespace <uipath> --versions versions.json --included DNS,OBJECTSTORAGE./uipathctl health check --namespace <uipath> --versions versions.json --included DNS,OBJECTSTORAGE
You can find the names of the components you can include or exclude from the health checks in the prerequisite check output example. In the example, the first word on each outdented line represents the component name. For example: SQL, OBJECTSTORE, DNS, etc.
分析日志
- 运行检查运行状况检查后,日志显示 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 - 经过进一步调查,很明显,Data Service 应用程序失败是因为
dataservice-runtime-8f5bb7d56-v5krg和dataservice-taskrunner-787df76c74-98h5lPod 处于失败状态。 如果进一步分析,您会发现缺少的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 - To fix this issue, ensure that you provided the correct credentials for the objectstore in the
input.json. For details, refer to Updating credentials.
运行状况测试
要运行运行状况测试,请使用以下命令之一,具体取决于您使用的 CLI 工具:
- 如果使用
uipathctl,请运行:./uipathctl health test./uipathctl health test - 如果使用
uipathtools,请运行:./uipathtools health test./uipathtools health test
使用--namespace标志(可选)来提供安装 UiPath 资源的命名空间。仅当安装不在uipath命名空间中时,才需要使用该标志。
生成的报告的示例输出:
Checks run on cluster/
✔ [ACTION_CENTER]
✔ [CREATE_NAMESPACE] Created namespace prereqk6b72
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqk6b72
✔ [CREATE_NAMESPACE] Created namespace prereqbxjx8
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqbxjx8
✔ [CREATE_NAMESPACE] Created namespace prereq8zvw4
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq8zvw4
✔ [DATASERVICE]
✔ [CREATE_NAMESPACE] Created namespace prereqxwlsb
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqxwlsb
✔ [CREATE_NAMESPACE] Created namespace prereq5szsn
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq5szsn
✔ [APPS]
✔ [CREATE_NAMESPACE] Created namespace prereq9z6nb
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq9z6nb
✔ [CREATE_NAMESPACE] Created namespace prereq6v7lm
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq6v7lm
✔ [CREATE_NAMESPACE] Created namespace prereqxxn5v
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqxxn5v
✔ [AUTOMATION_HUB]
✔ [CREATE_NAMESPACE] Created namespace prereq4jkbt
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq4jkbt
✔ [TEST_MANAGER]
✔ [CREATE_NAMESPACE] Created namespace prereqnvvpc
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqnvvpc
✔ [ORCHESTRATOR]
✔ [CREATE_NAMESPACE] Created namespace prereq8pf2f
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq8pf2f
✔ [CREATE_NAMESPACE] Created namespace prereq4w4v4
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq4w4v4
✔ [CREATE_NAMESPACE] Created namespace prereqkzwqg
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqkzwqg
✔ [INSIGHTS]
✔ [CREATE_NAMESPACE] Created namespace prereqqmgjc
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqqmgjc
✔ [CREATE_NAMESPACE] Created namespace prereq4vnjx
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq4vnjx
✔ [CREATE_NAMESPACE] Created namespace prereqgtg9g
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqgtg9g
✔ [AUTOMATION_OPS]
✔ [CREATE_NAMESPACE] Created namespace prereqgkkrz
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqgkkrz
✔ [AICENTER]
✔ [CREATE_NAMESPACE] Created namespace prereqdls88
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqdls88
✔ [CREATE_NAMESPACE] Created namespace prereq6m7x9
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq6m7x9
Checks run on cluster/
✔ [ACTION_CENTER]
✔ [CREATE_NAMESPACE] Created namespace prereqk6b72
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqk6b72
✔ [CREATE_NAMESPACE] Created namespace prereqbxjx8
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqbxjx8
✔ [CREATE_NAMESPACE] Created namespace prereq8zvw4
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq8zvw4
✔ [DATASERVICE]
✔ [CREATE_NAMESPACE] Created namespace prereqxwlsb
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqxwlsb
✔ [CREATE_NAMESPACE] Created namespace prereq5szsn
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq5szsn
✔ [APPS]
✔ [CREATE_NAMESPACE] Created namespace prereq9z6nb
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq9z6nb
✔ [CREATE_NAMESPACE] Created namespace prereq6v7lm
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq6v7lm
✔ [CREATE_NAMESPACE] Created namespace prereqxxn5v
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqxxn5v
✔ [AUTOMATION_HUB]
✔ [CREATE_NAMESPACE] Created namespace prereq4jkbt
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq4jkbt
✔ [TEST_MANAGER]
✔ [CREATE_NAMESPACE] Created namespace prereqnvvpc
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqnvvpc
✔ [ORCHESTRATOR]
✔ [CREATE_NAMESPACE] Created namespace prereq8pf2f
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq8pf2f
✔ [CREATE_NAMESPACE] Created namespace prereq4w4v4
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq4w4v4
✔ [CREATE_NAMESPACE] Created namespace prereqkzwqg
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqkzwqg
✔ [INSIGHTS]
✔ [CREATE_NAMESPACE] Created namespace prereqqmgjc
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqqmgjc
✔ [CREATE_NAMESPACE] Created namespace prereq4vnjx
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq4vnjx
✔ [CREATE_NAMESPACE] Created namespace prereqgtg9g
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqgtg9g
✔ [AUTOMATION_OPS]
✔ [CREATE_NAMESPACE] Created namespace prereqgkkrz
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqgkkrz
✔ [AICENTER]
✔ [CREATE_NAMESPACE] Created namespace prereqdls88
✔ [CREATE_POD] Created test pod curl-pod in namespace prereqdls88
✔ [CREATE_NAMESPACE] Created namespace prereq6m7x9
✔ [CREATE_POD] Created test pod curl-pod in namespace prereq6m7x9
默认情况下,health test 命令会对所有组件执行运行状况测试。但是,它也允许您严格检查您感兴趣的组件:
-
如果要从执行中排除组件,请使用
--excluded标志。例如,如果您不想检查 SQL 的运行状况,请运行以下命令:
./uipathctl health test --excluded SQL./uipathctl health test --excluded SQL该命令会检查所有组件的运行状况,SQL 除外。
-
如果您只想在执行中包含某些组件,请使用
--included标志。例如,如果您只想检查 DNS 和对象存储的运行状况,请运行以下命令:
./uipathctl health test --included DNS,OBJECTSTORAGE./uipathctl health test --included DNS,OBJECTSTORAGE
You can find the names of the components you can include or exclude from the health tests in the prerequisite check output example. In the example, the first word on each outdented line represents the component name. For example: SQL, OBJECTSTORE, DNS, etc.
如果比较 Data Service 应用程序的 check 和 test 命令的输出,您可以看到前者验证应用程序的运行状况,而后者则检查路由。
已知问题
您可能会收到类似于以下示例的错误消息。 您可以忽略它,因为您无需执行任何 Actions 。
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
深度验证
深度验证
diagnose命令可用于深入了解集群状态。 它可以帮助您识别各个级别的问题,例如 SQL、对象存储、节点、密码、Istio、网络等。
- 它涵盖了
check和test命令。 - 它会运行在安装 Automation Suite 之前执行的先决条件检查,以验证在安装后对环境配置进行的更改以及可能导致问题的更改。
- 它在所有节点上运行,以收集任何特定于节点的问题,例如资源不可用、任何网络干扰等。
要运行诊断检查,请使用以下命令之一,具体取决于您使用的 CLI 工具:
- 如果使用
uipathctl,请运行:./uipathctl health diagnose input.json --versions versions.json./uipathctl health diagnose input.json --versions versions.json - 如果使用
uipathtools,请运行:./uipathtools health diagnose input.json --versions versions.json./uipathtools health diagnose input.json --versions versions.json
使用--namespace标志(可选)来提供安装 UiPath 资源的命名空间。仅当安装不在uipath命名空间中时,才需要使用该标志。
生成的报告的示例输出:
Ran cluster/ checks...
❌ [DATASERVICE]
❌ [DATASERVICE_HEALTH] Application health check failed: health status is Progressing and sync status is Synced
❌ [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_SERVICEMESH_VALIDATION_GET_REGISTRY_FQDN] Successfully retrieved registry url
✔ [ISTIO_SERVICEMESH_VALIDATION_GET_CLUSTER_FQDN] Successfully retrieved cluster fqdn
✔ [ISTIO_SERVICEMESH_VALIDATION_CREATE_TEST_DEPLOYMENT] Successfully created the test deployment istio-validation-deployment
✔ [ISTIO_SERVICEMESH_VALIDATION_CREATE_TEST_SERVICE] Successfully created the test service istio-validation-service
✔ [ISTIO_SERVICEMESH_VALIDATION_CREATE_TEST_GATEWAY] Successfully created the test gateway istio-validation-gateway
✔ [ISTIO_SERVICEMESH_VALIDATION_CREATE_TEST_VIRTUALSERVICE] Successfully created the test virtual service istio-validation-vs
✔ [ISTIO_SERVICEMESH_VALIDATION_URL_ACCESS] Success exposing the service via servicemesh
❌ [POD]
✔ [LIST_NAMESPACES] Retrieved 25 namespaces to check pod health
❌ [CANNOT_MOUNT_VOLUME] Pod uipath/ah-tenant-service-sync-insights-data-job-28122960-p6rzg cannot mount volume: MountVolume.SetUp failed for volume "ah-insights-secrets" : failed to sync secret cache: timed out waiting for the condition
❌ [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
❌ [POD_UNHEALTHY] Latest event for pod uipath/du-documentmanager-dm-maintenance-cron-28122960-4sm5z: Error: failed to sync configmap cache: timed out waiting for the condition
❌ [SYNC]
❌ [namespace:"uipath" | kind:"Application" | name:"dataservice"] Application health check failed: health status is Progressing and sync status is Synced
Ran MAINTENANCE checks...
✔ successful
Ran NODE checks...
✔ successful
Ran REPLICAS checks...
✔ successful
Checks complete!
Checks complete!
Ran local/ checks...
Ran ARGO checks...
✔ successful
Ran CONNECTIVITY checks...
⚠ [CONNECTIVITY]
⚠ [NETWORK_TEST_SETUP] Failed to create the network test infrastructure: failed to create echo-host-role role: error creating role: roles.rbac.authorization.k8s.io "network-prereq-9thz9-echo-host-role" is forbidden: user "system:serviceaccount:os7140768:uipathadmin" (groups=["system:serviceaccounts" "system:serviceaccounts:os7140768" "system:authenticated"]) is attempting to grant RBAC permissions not currently held:
{APIGroups:["security.openshift.io"], Resources:["securitycontextconstraints"], ResourceNames:["hostnetwork-v2"], Verbs:["use"]}
Ran DEPLOYMENT_PROFILE checks...
✔ successful
Ran DNS(FQDN=APPS.<FQDN>) checks...
✔ successful
Ran DNS(FQDN=INSIGHTS.<FQDN>) checks...
✔ successful
Ran INGRESS checks...
✔ successful
Ran NAMESPACE checks...
✔ successful
Ran NETWORK-POLICIES checks...
✔ successful
Ran NODE(CPU >= 8, RAM >= 16G) checks...
⚠ [NODE(CPU >= 8, RAM >= 16G)]
✔ [LIST_NODES] Listed 4 nodes
✔ [AT_LEAST_ONE_NODE] At least one node found
✔ [CPU_USAGE] Node os7140768-7db2g-master-0 has 62.50% CPU usage
✔ [MEMORY_USAGE] Node os7140768-7db2g-master-0 has 49.09% memory usage
✔ [POD_USAGE] Node os7140768-7db2g-master-0 has 0.00% of pods in use. Number of pods: 0.00 max allowed: 250.00
✔ [CPU_CAPACITY(os7140768-7db2g-master-0)] Node has enough CPU capacity. Has: 8, needs at least: 8
✔ [RAM_CAPACITY(os7140768-7db2g-master-0)] Node has enough RAM capacity. Has: 32868564Ki, needs at least: 16G
✔ [CPU_USAGE] Node os7140768-7db2g-worker-eastus1-l6c5p has 18.75% CPU usage
✔ [MEMORY_USAGE] Node os7140768-7db2g-worker-eastus1-l6c5p has 22.31% memory usage
✔ [POD_USAGE] Node os7140768-7db2g-worker-eastus1-l6c5p has 7.60% of pods in use. Number of pods: 19.00 max allowed: 250.00
✔ [CPU_CAPACITY(os7140768-7db2g-worker-eastus1-l6c5p)] Node has enough CPU capacity. Has: 16, needs at least: 8
✔ [RAM_CAPACITY(os7140768-7db2g-worker-eastus1-l6c5p)] Node has enough RAM capacity. Has: 65847764Ki, needs at least: 16G
✔ [CPU_USAGE] Node os7140768-7db2g-worker-eastus2-p89lq has 18.75% CPU usage
✔ [MEMORY_USAGE] Node os7140768-7db2g-worker-eastus2-p89lq has 26.30% memory usage
✔ [POD_USAGE] Node os7140768-7db2g-worker-eastus2-p89lq has 7.20% of pods in use. Number of pods: 18.00 max allowed: 250.00
✔ [CPU_CAPACITY(os7140768-7db2g-worker-eastus2-p89lq)] Node has enough CPU capacity. Has: 16, needs at least: 8
✔ [RAM_CAPACITY(os7140768-7db2g-worker-eastus2-p89lq)] Node has enough RAM capacity. Has: 65847764Ki, needs at least: 16G
✔ [CPU_USAGE] Node os7140768-7db2g-worker-eastus3-d6jj5 has 18.75% CPU usage
✔ [MEMORY_USAGE] Node os7140768-7db2g-worker-eastus3-d6jj5 has 17.91% memory usage
✔ [POD_USAGE] Node os7140768-7db2g-worker-eastus3-d6jj5 has 6.80% of pods in use. Number of pods: 17.00 max allowed: 250.00
✔ [CPU_CAPACITY(os7140768-7db2g-worker-eastus3-d6jj5)] Node has enough CPU capacity. Has: 16, needs at least: 8
✔ [RAM_CAPACITY(os7140768-7db2g-worker-eastus3-d6jj5)] Node has enough RAM capacity. Has: 65847764Ki, needs at least: 16G
⚠ [AS_ROBOTS_NODE_EXISTS] No dedicated node found
Ran OSS(COMPONENT=CERT-MANAGER) checks...
✔ successful
Ran OSS(COMPONENT=GATEKEEPER) checks...
✔ successful
Ran OSS(COMPONENT=ISTIO) checks...
✔ successful
Ran PERMISSION checks...
✔ successful
Ran PRIORITYCLASS checks...
✔ successful
Ran REGISTRY_PULL checks...
✔ successful
Ran RESOURCE checks...
✔ successful
Ran SECRETS checks...
✔ successful
Ran STORAGECLASS(NAME=STORAGE_CLASS) checks...
✔ successful
Ran STORAGECLASS(NAME=STORAGE_CLASS_SINGLE_REPLICA) checks...
✔ successful
Ran cluster/ checks...
Ran ORCHESTRATOR(CLASSIC_FOLDERS) checks...
✔ successful
Ran nodes/ checks...
Ran CONTROLPLANECONNECTIVITY checks...
✔ 4/4 nodes successful
Ran DNS(FQDN=APPS.<FQDN>) checks...
✔ 4/4 nodes successful
Ran DNS(FQDN=INSIGHTS.<FQDN>) checks...
✔ 4/4 nodes successful
Ran OBJECTSTORAGE(PRODUCT=BA) checks...
✔ 4/4 nodes successful
Ran OBJECTSTORAGE(PRODUCT=DATASERVICE) checks...
✔ 4/4 nodes successful
Ran OBJECTSTORAGE(PRODUCT=ORCHESTRATOR) checks...
✔ 4/4 nodes successful
Ran OBJECTSTORAGE(PRODUCT=PLATFORM) checks...
✔ 4/4 nodes successful
Ran OBJECTSTORAGE(PRODUCT=TESTMANAGER) checks...
✔ 4/4 nodes successful
Ran REDIS(PORT=6380) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=ASROBOTS, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=AUTOMATIONHUB, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=AUTOMATIONOPS, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=BA, TYPE=ODBC) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=DATASERVICE, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=INSIGHTS, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=NOTIFICATIONSERVICE, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=ORCHESTRATOR, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=PLATFORM, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=TESTMANAGER, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran cluster/ checks...
❌ [DATASERVICE]
❌ [DATASERVICE_HEALTH] Application health check failed: health status is Progressing and sync status is Synced
❌ [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_SERVICEMESH_VALIDATION_GET_REGISTRY_FQDN] Successfully retrieved registry url
✔ [ISTIO_SERVICEMESH_VALIDATION_GET_CLUSTER_FQDN] Successfully retrieved cluster fqdn
✔ [ISTIO_SERVICEMESH_VALIDATION_CREATE_TEST_DEPLOYMENT] Successfully created the test deployment istio-validation-deployment
✔ [ISTIO_SERVICEMESH_VALIDATION_CREATE_TEST_SERVICE] Successfully created the test service istio-validation-service
✔ [ISTIO_SERVICEMESH_VALIDATION_CREATE_TEST_GATEWAY] Successfully created the test gateway istio-validation-gateway
✔ [ISTIO_SERVICEMESH_VALIDATION_CREATE_TEST_VIRTUALSERVICE] Successfully created the test virtual service istio-validation-vs
✔ [ISTIO_SERVICEMESH_VALIDATION_URL_ACCESS] Success exposing the service via servicemesh
❌ [POD]
✔ [LIST_NAMESPACES] Retrieved 25 namespaces to check pod health
❌ [CANNOT_MOUNT_VOLUME] Pod uipath/ah-tenant-service-sync-insights-data-job-28122960-p6rzg cannot mount volume: MountVolume.SetUp failed for volume "ah-insights-secrets" : failed to sync secret cache: timed out waiting for the condition
❌ [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
❌ [POD_UNHEALTHY] Latest event for pod uipath/du-documentmanager-dm-maintenance-cron-28122960-4sm5z: Error: failed to sync configmap cache: timed out waiting for the condition
❌ [SYNC]
❌ [namespace:"uipath" | kind:"Application" | name:"dataservice"] Application health check failed: health status is Progressing and sync status is Synced
Ran MAINTENANCE checks...
✔ successful
Ran NODE checks...
✔ successful
Ran REPLICAS checks...
✔ successful
Checks complete!
Checks complete!
Ran local/ checks...
Ran ARGO checks...
✔ successful
Ran CONNECTIVITY checks...
⚠ [CONNECTIVITY]
⚠ [NETWORK_TEST_SETUP] Failed to create the network test infrastructure: failed to create echo-host-role role: error creating role: roles.rbac.authorization.k8s.io "network-prereq-9thz9-echo-host-role" is forbidden: user "system:serviceaccount:os7140768:uipathadmin" (groups=["system:serviceaccounts" "system:serviceaccounts:os7140768" "system:authenticated"]) is attempting to grant RBAC permissions not currently held:
{APIGroups:["security.openshift.io"], Resources:["securitycontextconstraints"], ResourceNames:["hostnetwork-v2"], Verbs:["use"]}
Ran DEPLOYMENT_PROFILE checks...
✔ successful
Ran DNS(FQDN=APPS.<FQDN>) checks...
✔ successful
Ran DNS(FQDN=INSIGHTS.<FQDN>) checks...
✔ successful
Ran INGRESS checks...
✔ successful
Ran NAMESPACE checks...
✔ successful
Ran NETWORK-POLICIES checks...
✔ successful
Ran NODE(CPU >= 8, RAM >= 16G) checks...
⚠ [NODE(CPU >= 8, RAM >= 16G)]
✔ [LIST_NODES] Listed 4 nodes
✔ [AT_LEAST_ONE_NODE] At least one node found
✔ [CPU_USAGE] Node os7140768-7db2g-master-0 has 62.50% CPU usage
✔ [MEMORY_USAGE] Node os7140768-7db2g-master-0 has 49.09% memory usage
✔ [POD_USAGE] Node os7140768-7db2g-master-0 has 0.00% of pods in use. Number of pods: 0.00 max allowed: 250.00
✔ [CPU_CAPACITY(os7140768-7db2g-master-0)] Node has enough CPU capacity. Has: 8, needs at least: 8
✔ [RAM_CAPACITY(os7140768-7db2g-master-0)] Node has enough RAM capacity. Has: 32868564Ki, needs at least: 16G
✔ [CPU_USAGE] Node os7140768-7db2g-worker-eastus1-l6c5p has 18.75% CPU usage
✔ [MEMORY_USAGE] Node os7140768-7db2g-worker-eastus1-l6c5p has 22.31% memory usage
✔ [POD_USAGE] Node os7140768-7db2g-worker-eastus1-l6c5p has 7.60% of pods in use. Number of pods: 19.00 max allowed: 250.00
✔ [CPU_CAPACITY(os7140768-7db2g-worker-eastus1-l6c5p)] Node has enough CPU capacity. Has: 16, needs at least: 8
✔ [RAM_CAPACITY(os7140768-7db2g-worker-eastus1-l6c5p)] Node has enough RAM capacity. Has: 65847764Ki, needs at least: 16G
✔ [CPU_USAGE] Node os7140768-7db2g-worker-eastus2-p89lq has 18.75% CPU usage
✔ [MEMORY_USAGE] Node os7140768-7db2g-worker-eastus2-p89lq has 26.30% memory usage
✔ [POD_USAGE] Node os7140768-7db2g-worker-eastus2-p89lq has 7.20% of pods in use. Number of pods: 18.00 max allowed: 250.00
✔ [CPU_CAPACITY(os7140768-7db2g-worker-eastus2-p89lq)] Node has enough CPU capacity. Has: 16, needs at least: 8
✔ [RAM_CAPACITY(os7140768-7db2g-worker-eastus2-p89lq)] Node has enough RAM capacity. Has: 65847764Ki, needs at least: 16G
✔ [CPU_USAGE] Node os7140768-7db2g-worker-eastus3-d6jj5 has 18.75% CPU usage
✔ [MEMORY_USAGE] Node os7140768-7db2g-worker-eastus3-d6jj5 has 17.91% memory usage
✔ [POD_USAGE] Node os7140768-7db2g-worker-eastus3-d6jj5 has 6.80% of pods in use. Number of pods: 17.00 max allowed: 250.00
✔ [CPU_CAPACITY(os7140768-7db2g-worker-eastus3-d6jj5)] Node has enough CPU capacity. Has: 16, needs at least: 8
✔ [RAM_CAPACITY(os7140768-7db2g-worker-eastus3-d6jj5)] Node has enough RAM capacity. Has: 65847764Ki, needs at least: 16G
⚠ [AS_ROBOTS_NODE_EXISTS] No dedicated node found
Ran OSS(COMPONENT=CERT-MANAGER) checks...
✔ successful
Ran OSS(COMPONENT=GATEKEEPER) checks...
✔ successful
Ran OSS(COMPONENT=ISTIO) checks...
✔ successful
Ran PERMISSION checks...
✔ successful
Ran PRIORITYCLASS checks...
✔ successful
Ran REGISTRY_PULL checks...
✔ successful
Ran RESOURCE checks...
✔ successful
Ran SECRETS checks...
✔ successful
Ran STORAGECLASS(NAME=STORAGE_CLASS) checks...
✔ successful
Ran STORAGECLASS(NAME=STORAGE_CLASS_SINGLE_REPLICA) checks...
✔ successful
Ran cluster/ checks...
Ran ORCHESTRATOR(CLASSIC_FOLDERS) checks...
✔ successful
Ran nodes/ checks...
Ran CONTROLPLANECONNECTIVITY checks...
✔ 4/4 nodes successful
Ran DNS(FQDN=APPS.<FQDN>) checks...
✔ 4/4 nodes successful
Ran DNS(FQDN=INSIGHTS.<FQDN>) checks...
✔ 4/4 nodes successful
Ran OBJECTSTORAGE(PRODUCT=BA) checks...
✔ 4/4 nodes successful
Ran OBJECTSTORAGE(PRODUCT=DATASERVICE) checks...
✔ 4/4 nodes successful
Ran OBJECTSTORAGE(PRODUCT=ORCHESTRATOR) checks...
✔ 4/4 nodes successful
Ran OBJECTSTORAGE(PRODUCT=PLATFORM) checks...
✔ 4/4 nodes successful
Ran OBJECTSTORAGE(PRODUCT=TESTMANAGER) checks...
✔ 4/4 nodes successful
Ran REDIS(PORT=6380) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=ASROBOTS, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=AUTOMATIONHUB, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=AUTOMATIONOPS, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=BA, TYPE=ODBC) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=DATASERVICE, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=INSIGHTS, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=NOTIFICATIONSERVICE, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=ORCHESTRATOR, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=PLATFORM, TYPE=ADO) checks...
✔ 4/4 nodes successful
Ran SQL(PRODUCT=TESTMANAGER, TYPE=ADO) checks...
✔ 4/4 nodes successful
上述示例已缩减。 实际日志包含更多信息。 您可能会注意到, diagnose 命令在多个级别运行,例如基础架构、网络、存储、Pod、DNS 等。
分析日志
您可以在以前的日志中注意到两个潜在的问题:
- Istio 的配置错误,可能会导致访问 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 不可用。 请参阅代码示例中的 Ceph。
❌ [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
**已知问题** 您可能会收到类似于以下示例的错误消息。您可以忽略它,因为您无需执行任何操作。
其他实用程序
其他实用程序
所有 Automation Suite 诊断工具命令(check、 test和 diagnose)都支持其他筛选和输出格式。
下表描述了可用的筛选器及其用法。
| 筛选条件 | 描述 | 用法 |
|---|---|---|
--included | 要包含在验证中的服务的逗号分隔列表 | ./uipathctl health diagnose input.json --versions versions.json --included ISTIO,INSIGHTS 此命令仅针对 Istio 和 Insights 运行诊断。 |
--excluded | 要从验证中排除的服务的逗号分隔列表 | ./uipathctl health test --excluded ISTIO,INSIGHTS 此命令在整个集群中运行测试,Istio 和 Insights 除外。 |
输出格式
Automation Suite 诊断工具可以生成多种格式的报告: json、 yaml、 text和 junit。 您可以通过 --output 标志将这些值传递给任何命令。 当您要利用这些工具在其基础上构建自己的故障排除框架时,这些输出格式非常方便。
以下示例显示了如何使用输出格式标志。
| 用法 | 示例输出 |
|---|---|
|
|
|
|
|
|
|
|