- 概述
- 要求
- 部署模板
- 手动:准备安装
- 手动:准备安装
- 步骤 2:为离线安装配置符合 OCI 的注册表
- 步骤 3:配置外部对象存储
- 步骤 4:配置 High Availability Add-on
- 步骤 5:配置 SQL 数据库
- 步骤 6:配置负载均衡器
- 步骤 7:配置 DNS
- 步骤 8:配置磁盘
- 步骤 9:配置内核和操作系统级别设置
- 步骤 10:配置节点端口
- 步骤 11:应用其他设置
- 步骤 12:验证并安装所需的 RPM 包
- 步骤 13:生成 cluster_config.json
- 证书配置
- 数据库配置
- 外部对象存储配置
- 预签名 URL 配置
- Kerberos 身份验证配置
- 符合 OCI 的外部注册表配置
- Disaster Recovery:主动/被动和主动/主动配置
- High Availability Add-on 配置
- 特定于 Orchestrator 的配置
- Insights 特定配置
- Process Mining 特定配置
- Document Understanding 特定配置
- Automation Suite Robot 特定配置
- 监控配置
- 可选:配置代理服务器
- 可选:在多节点 HA 就绪生产集群中启用区域故障恢复
- 可选:传递自定义 resolv.conf
- 可选:提高容错能力
- install-uipath.sh 参数
- 添加具有 GPU 支持的专用代理节点
- 为 Task Mining 添加专用代理节点
- 连接 Task Mining 应用程序
- 为 Automation Suite Robot 添加专用代理节点
- 步骤 15:为离线安装配置临时 Docker 注册表
- 步骤 16:验证安装的先决条件
- 手动:执行安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
- 如何在安装过程中对服务进行故障排除
- 如何卸载集群
- 如何清理离线工件以改善磁盘空间
- 如何清除 Redis 数据
- 如何启用 Istio 日志记录
- 如何手动清理日志
- 如何清理存储在 sf-logs 存储桶中的旧日志
- 如何禁用 AI Center 的流日志
- 如何对失败的 Automation Suite 安装进行调试
- 如何在升级后从旧安装程序中删除映像
- 如何禁用 TX 校验和卸载
- 如何从 Automation Suite 2022.10.10 和 2022.4.11 升级到 2023.10.2
- 如何手动将 ArgoCD 日志级别设置为 Info
- 如何扩展 AI Center 存储
- 如何为外部注册表生成已编码的 pull_secret_value
- 如何解决 TLS 1.2 中的弱密码问题
- 如何使用证书
- 如何将应用程序日志转发到 Splunk
- 如何从注册表 Pod 中清理未使用的 Docker 映像
- 如何使用集群内对象存储 (Ceph) 收集 DU 使用情况数据
- 如何在离线环境中安装 RKE2 SELinux
- 升级 Automation Suite 后重新安装或升级 Insights 时丢失数据
- 单节点升级在结构阶段失败
- 从 2021.10 自动升级后,集群运行状况不佳
- 由于 Ceph 运行状况不佳,升级失败
- 由于空间问题,RKE2 未启动
- 卷无法装载,且仍处于附加/分离循环状态
- 由于 Orchestrator 数据库中的传统对象,升级失败
- 并行升级后,发现 Ceph 集群处于降级状态
- Insights 组件运行状况不佳导致迁移失败
- Apps 服务升级失败
- 就地升级超时
- Docker 注册表迁移卡在 PVC 删除阶段
- 升级到 2023.10 或更高版本后 AI Center 配置失败
- 在离线环境中升级失败
- 升级期间 SQL 验证失败
- 快照-控制器-crds Pod 在升级后处于 CrashLoopBackOff 状态
- Longhorn REST API 端点升级/重新安装错误
- 由于 Insights PVC 大小被覆盖,升级失败
- 使用 Process Mining 运行高可用性
- 使用 Kerberos 登录时 Process Mining 挖掘失败
- 在 Disaster Recovery 后,DAPR 无法正常用于 Process Mining
- 在集群模式下使用 Redis 配置 Dapr
- 无法使用 pyodbc 格式连接字符串连接到 AutomationSuite_ProcessMining_Warehouse 数据库
- Airflow 安装失败,并显示 sqlalchemy.exc.ArgumentError:无法从字符串“”中解析 rfc1738 URL
- 如何添加 IP 表格规则以使用 SQL Server 端口 1433
- 运行 CData Sync 的服务器不信任 Automation Suite 证书
- 运行诊断工具
- 使用 Automation Suite 支持捆绑包
- 探索日志
- 探索汇总遥测

Linux 版 Automation Suite 安装指南
以下脚本将替换以前的所有数据库清理脚本。这些脚本能够完成所有必要的维护任务,并且可以根据需要进行配置。
- 您可以从 Customer Portal 下载 Orchestrator 数据库维护脚本。
先决条件
CreateOrchestratorCleanupObjects.sql 脚本需要满足以下条件:
-
您必须有权在 Orchestrator 数据库的上下文中访问存档数据库。
-
您必须能够使用由三部分组成的名称访问存档,例如
Archive.dbo.QueueItemsTableArchive。
如何使用它
CreateOrchestratorCleanupObjects.sql SQL 脚本以创建以下对象:
-
存储执行日志的
dbo.__CleanupLog表。 -
dbo.GetOrCreateArchiveTable过程,用于创建或返回存档表。 -
dbo.RunOrchestratorCleanup过程,用于执行删除旧数据的操作,也可以选择存档旧数据的操作。
dbo.RunOrchestratorCleanup以完成清理。有关 XML 文件的详细信息,请参阅计划清理部分。
您还可以使用 SQL Server 代理来执行清理。
脚本示例
DECLARE @cleanupConfigXml XML =
'<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
</CleanupConfig>';
EXEC dbo.RunOrchestratorCleanup
@cleanupConfigXml = @cleanupConfigXml,
@archiveDatabaseName = 'OrchestratorArchive';DECLARE @cleanupConfigXml XML =
'<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
</CleanupConfig>';
EXEC dbo.RunOrchestratorCleanup
@cleanupConfigXml = @cleanupConfigXml,
@archiveDatabaseName = 'OrchestratorArchive';这适用于无法使用 SQL 脚本的情况。
PowerShell 脚本与 Powershell 5.1 兼容,并且可以与 Azure 自动化 Runbook 一起使用。
先决条件
RunOrchestratorCleanup.ps1 脚本必须能够与以下连接字符串通信:
-
SourceConnectionString- 这是 Orchestrator 数据库连接字符串。 -
DestinationConnectionString- 这是存档数据库连接字符串。请注意,必须提前创建和设置存档数据库。
它创建的对象
-
存储执行日志的
dbo.__CleanupLog表。 -
dbo.__CleanupIds表,用于存储需要清理的临时批次 ID。
限制
SourceConnectionString),另一个连接到存档数据库(通过 DestinationConnectionString)。因此,不涉及实际的事务,因为系统会将数据从 Orchestrator 复制到存档,然后将其从 Orchestrator 中删除。
这意味着,如果在两个操作之间的任何位置引发异常,导致重新执行脚本,则可能会再次复制相同的数据,从而导致存档数据库中出现重复项。
但是,由于在存档数据库中未强制执行唯一性,因此这不会导致任何问题。
脚本示例
.\RunOrchestratorCleanup
-SourceConnectionString "Data Source=.;Initial Catalog=UiPath;User ID=sa;Password=******"
-DestinationConnectionString "Data Source=.;Initial Catalog=<OrchestratorArchive>;User ID=sa;Password=******"
-CleanupConfigXml '<CleanupConfig totalRunMaxMinutes="180"><Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" /></CleanupConfig>'.\RunOrchestratorCleanup
-SourceConnectionString "Data Source=.;Initial Catalog=UiPath;User ID=sa;Password=******"
-DestinationConnectionString "Data Source=.;Initial Catalog=<OrchestratorArchive>;User ID=sa;Password=******"
-CleanupConfigXml '<CleanupConfig totalRunMaxMinutes="180"><Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" /></CleanupConfig>'您可以选择要从数据库中清理哪些数据、清理时间以及每次运行的清理活动时长等。
为此,请将以下 XML 文件与 SQL 或 PowerShell 脚本一起使用。它已预先配置我们推荐的参数,但如果您需要更高级的功能,可以编辑它。在编辑脚本之前,请确保您了解每个参数的作用,否则可能会产生严重后果。
<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Jobs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="State IN (4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Logs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="TimeStamp" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="1" />
<Table name="AuditLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTime" additionalFilter="" daysOld="365" batchSize="25" forceCascade="1" shouldArchive="1" />
<Table name="Tasks" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="180" batchSize="10" forceCascade="0" shouldArchive="1" />
<Table name="QueueProcessingRecords" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ProcessingTime" additionalFilter="ReportType != -1" daysOld="30" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Sessions" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ReportingTime" additionalFilter="" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="RobotLicenseLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="StartDate" additionalFilter="" daysOld="180" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="UserNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="TenantNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Ledger" runMaxMinutes="-1" idColumn="LedgerId" dateTimeColumn="CreationTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="LedgerDeliveries" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="LastUpdatedTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Assets" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="120" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="__CleanupLog" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTimeUtc" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
</CleanupConfig><CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Jobs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="State IN (4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Logs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="TimeStamp" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="1" />
<Table name="AuditLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTime" additionalFilter="" daysOld="365" batchSize="25" forceCascade="1" shouldArchive="1" />
<Table name="Tasks" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="180" batchSize="10" forceCascade="0" shouldArchive="1" />
<Table name="QueueProcessingRecords" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ProcessingTime" additionalFilter="ReportType != -1" daysOld="30" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Sessions" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ReportingTime" additionalFilter="" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="RobotLicenseLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="StartDate" additionalFilter="" daysOld="180" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="UserNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="TenantNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Ledger" runMaxMinutes="-1" idColumn="LedgerId" dateTimeColumn="CreationTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="LedgerDeliveries" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="LastUpdatedTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Assets" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="120" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="__CleanupLog" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTimeUtc" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
</CleanupConfig>即使一次运行只能清理一个或几个表格的一部分,后续运行也将继续清理,直到脚本处理完所有积压工作为止。因此,累积的积压工作量不要超过脚本的处理能力,这一点很重要。如果发生这种情况,请考虑安排脚本更频繁地运行。
清理 XML 参数
|
参数 |
说明 |
可能的值 |
|---|---|---|
|
|
在一次运行期间允许脚本对所有表执行的最大分钟数。 |
必须大于 1。 |
|
|
包含要删除的数据的表格名称。 |
示例:
QueueItems。 |
|
|
在一次运行期间允许脚本针对特定表格执行的最大分钟数。 重要提示:
您在此处设置的时间有时可能会超出几分钟。 除此之外,
totalRunMaxMinutes 优先,并且将始终强制执行,即使您将此参数设置为 -1 也是如此。
|
-1:脚本的执行时间不限(分钟数)。
0:不会为该特定表执行脚本。
>0(即您选择的数字):脚本将执行的最大分钟数。
|
|
|
包含要删除的数据的列的 ID。 |
示例:
QueueItems 表中的 Id
|
|
|
这因数据类型而异。 它与
daysOld 结合使用。
|
示例:适用于
QueueItems 的 CreationTime |
|
|
适用于筛选器的任何有效 SQL 语句。 这可以留空。 |
示例:
Status IN (2, 3, 4, 5, 6)。这包含在我们推荐的 XML 文件中。
|
daysOld |
允许您保留一定天数的数据。 这与
dateTimeColumn 结合使用。
|
这必须设置为最小值
2。
示例:将此参数设置为
5 会保留 5 天前的所有数据。
|
|
|
要在一次迭代中删除的表格行数。 重要提示:
这不适用于定义了外键的表格。 |
示例:如果将
QueueItems 表的参数设置为 50,则系统会从该特定表中删除 50 个项目。
|
forceCascade |
用于对定义了外键的表格执行脚本。 重要提示:
示例已在必要时对表格使用
forceCascade。因此,您无需更改它。
|
0:不级联。
1:级联。例如,为 QueueItems 表设置此选项将同时处理 QueueItemEvents 和 QueueItemComments 表。
|
shouldArchive |
允许您选择是否要存档数据。 |
0:不存档。
1:存档。
|
|
功能 | SQL 脚本 | PowerShell 脚本 |
|---|---|---|
| 清理 XML |
它们都使用“计划清理”部分中描述的逻辑。 | |
|
执行日志 |
它们都会创建
dbo.__CleanupLogs 表来存储执行日志。
您可以使用
SELECT * FROM dbo.__CleanupLog WHERE ExecutionId = '<execution_id>' ORDER BY Id 查询执行的日志。
您可以使用
SELECT * FROM dbo.__CleanupLog WHERE ExecutionId = '<execution_id>' AND IsError = 1 检查执行是否包含错误。
每次执行这些脚本时都会生成
ExecutionId 参数。
| |
|
存档表格 |
存档表不包含任何索引、外键或身份列。 时间戳类型列不会存档。 | |
| 存档表格名称 |
这些名称遵循相同的逻辑,并且包含基于表架构的字符串。 | |
| 待存档/删除的 ID 批次 |
存储在临时表中。 |
存储在
dbo.__CleanupIds 表中。
|
|
Transaction |
在此期间,系统会存档和删除数据。对每个批次执行一个事务。 批处理大小,即要处理的表格行数,通过
batchSize 参数在 XML 文件中定义。
|
SqlbulkCopy 用于复制数据。 没有为存档和删除执行单个事务。 |