UiPath.Orchestrator.dll.config
文件 (C:\Program Files (x86)\UiPath\Orchestrator
) 定义应用于 Orchestrator 部署的参数、设置和首选项。
备注:
只有管理员才能更改这些参数的值。
推荐在对
UiPath.Orchestrator.dll.config
进行更改后,手动重新启动网站。此页面中未记录的参数不应更改,也不应在“设置”页面中具有对应的参数。
所有参数都区分大小写。
App Settings
Advanced Installation Settings
EncryptionKeyPerTenant.Enabled
EncryptionKeyPerTenant.Enabled
允许您根据 Microsoft Azure 密钥保管库帐户对每个租户使用不同的加密密钥。以下值可以归为:
false
- 在整个 Orchestrator 实例上使用单个加密密钥。这是默认值。true
- 对每个租户使用不同的加密密钥,增强租户安全性,并提供更好的敏感数据隔离。
If you enable this feature, you must also fill in the EncryptionKeyPerTenant.KeyProvider
parameter, as well as the ones in the SecureAppSettings section.
EncryptionKeyPerTenant.KeyProvider
EncryptionKeyPerTenant.KeyProvider
Enables you to indicate which key management application to store the encryption keys generated per tenant from Orchestrator. Set it to AzureKeyVault
to use a preconfigured Microsoft Azure Key Vault. We do not provide Azure Key Vault licenses. Please note that you also have to configure the parameters described in the SecureAppSettings section. If EncryptionKeyPerTenant.Enabled
is set to false
, this parameter is not used.
此处对加密设置所做的更改需要根据以下字段等效性,在身份服务器 appsettings.Production.json 文件中进行镜像:
Orchestrator UiPath.Orchestrator.dll.config | Identity Server appsettings.Production.json |
---|---|
EncryptionKeyPerTenant.Enabled | EncryptionKeyPerTenant |
Azure.KeyVault.VaultAddress | AzureKeyVaultAddress |
Azure.KeyVault.CertificateThumbprint | AzureKeyVaultCertificateThumbprint |
Azure.KeyVault.ClientId | AzureKeyVaultClientId |
Azure.KeyVault.DirectoryId | AzureKeyVaultDirectoryId |
EncryptionKeyPerTenant.KeyProvider | MultiTenantEncryptionKeyProvider |
队列
备注:
相反,要应用与内部作业计划相关的更改,您必须按照更新内部作业计划中的说明进行操作。
inProgressMaxNumberOfMinutes
inProgressMaxNumberOfMinutes
队列项目可以处于“进行中”状态的最大时间。在此时间之后,队列项的状态将更改为“已放弃”。默认情况下,设置为 1440 分钟(24 小时)。
QueuesStatisticsScheduleCron
QueuesStatisticsScheduleCron
在“仪表板”和“事务”页面以及“图表”窗口中更新队列项统计信息的频率。默认情况下,它们每分钟更新一次。
UpdateUncompletedItemsJobCron
UpdateUncompletedItemsJobCron
在数据库中查找需要移动到“已放弃”的队列的频率。默认情况下,此参数设置为每小时。
Queue.MaxSlaInMinutes
Queue.MaxSlaInMinutes
可设置的 SLA 的最大值,以分钟表示。默认情况下,该值为 129600 分钟(90 天),在 UiPath.Orchestrator.dll.config
中默认显示,包括处于更新状态的方案。
Queue.MaxSchemaFileSizeInKilobytes
Queue.MaxSchemaFileSizeInKilobytes
JSON 架构的最大文件大小(以 KB 为单位),用于验证队列项目数据和输出。默认情况下,此设置不会显示在 UiPath.Orchestrator.dll.config
文件中。
Queue.SlaReadaheadTimeLimitHours
Queue.SlaReadaheadTimeLimitHours
在进行预测时,要考虑的项目的队列项目截止时间必须落在的时间量。默认值为 24 小时。默认情况下,此参数不会显示在 UiPath.Orchestrator.dll.config
中。
Queue.MaxSpecificDataSizeInKiloBytes
Queue.MaxSpecificDataSizeInKiloBytes
新队列项目特定数据内容的大小上限,以千字节为单位。对于干净的 Orchestrator 安装,此参数处于隐藏状态,默认值为 1024 (1MB)。在升级方案中,此参数可见,且值为 204800 (200MB)。
Queue.ProcessActivationSchedule
Queue.ProcessActivationSchedule
检查未处理的队列项目之间的时间间隔。默认情况下,它设置为 30 分钟。要调整检查间隔,请指定 0 到 59 之间的值,重新启动 IIS,然后删除现有队列触发器并重新创建它。
警示
备注:
相反,要应用与内部作业计划相关的更改,您必须按照更新内部作业计划中的说明进行操作。
DailyAlertMailJobCron
DailyAlertMailJobCron
允许您配置 cron 表达式,该表达式控制发送每日电子邮件警报的时间。这仅在启用“电子邮件警示”时有效。该报告包含前一天生成的所有 Fatal 和 Error 严重性警报。默认情况下,它每天上午 7 点发送。
Alerts.Email.Enabled
Alerts.Email.Enabled
启用或禁用 Fatal 和 Error 消息的电子邮件警报。此参数对应于“设置”页面中的“启用警示电子邮件”复选框。默认情况下,它设置为 false
。要使其工作,还必须从“设置”页面配置与电子邮件相关的设置。默认值用于数据库的初始种子设定。之后更改该值不会切换电子邮件警报状态。
NotificationDistributerJobCron
NotificationDistributerJobCron
向接口发送警示通知的频率。默认情况下,警示每 10 秒发送一次。
PeriodicErrorMailJobCron
PeriodicErrorMailJobCron
使您能够配置 cron 表达式,该表达式控制定期发送电子邮件警示的频率。这仅在启用“电子邮件警示”时有效。默认值为每 10 分钟一次,这意味着报告包含过去 10 分钟内生成的 Fatal 和 Error 严重性警示。如果未生成任何警示,则不会发送任何报告。
PasswordComplexity
PasswordComplexity
控制密码复杂性的验证规则,并使用正则表达式表示。默认情况下,复杂性适用于所有密码(包括主机管理员密码),但每个租户都可以在“设置”页面的“安全”选项卡上自定义其用户登录密码复杂性。默认情况下,密码必须至少包含 8 个字符,其中至少有一个字母和一个数字。
SystemJobs.DetectNotRespondingRobots.MaxAlertCount
SystemJobs.DetectNotRespondingRobots.MaxAlertCount
用于限制机器人无响应时发送的警示数。如果 Orchestrator 实例处理大量机器人,并且大多数机器人经常无响应,则此参数非常有用。请注意,它在配置文件中默认不显示。例如,如果要将机器人无响应时所收到的警示数限制为 10,则可将 <add key="SystemJobs.DetectNotRespondingRobots.MaxAlertCount" value="10" />
添加到 UiPath.Orchestrator.dll.config
文件的所有其他警示参数下。请注意,如果应用此设置,当警示总数高于配置的警示总数时,事件查看器中会引发警告,例如:Alerts not published: total number of unresponsive sessions (21) is bigger than the configured max allowed (10).
。
SystemJobs.LicenseExpirationAlert.DaysBefore
SystemJobs.LicenseExpirationAlert.DaysBefore
允许您在收到电子邮件警报时定义许可证到期日期之前的时间间隔。默认值为 180,90,30,14,7,1
,这意味着您收到电子邮件警报 6 次:许可证到期前 180、90、30、14、7 和 1 天。您可以定义较少的值,以减少电子邮件警示的发送频率。例如,可以通过在 UiPath.Orchestrator.dll.config
文件中添加以下键实现:<add key="SystemJobs.LicenseExpirationAlert.DaysBefore" value="90,30,14" />
。
部署
Orchestrator 使用组合式存储库。包元数据将保存到 SQL 数据库,以便更快搜索和筛选。包将保存到通过 Storage.Type
和 Storage.Location
参数指定的位置。
备注:
不支持在程序包专用文件夹中使用复制粘贴命令。
Storage.Type
Storage.Type
定义包和执行媒体保存到的目标。它可以使用以下目标填充:
File System
-<add key="Storage.Type" value="FileSystem" />
。Azure
-<add key="Storage.Type" value="Azure" />
。Amazon
-<add key="Storage.Type" value="Amazon" />
。Minio
-<add key="Storage.Type" value="Minio" />
。
Storage.Location
Storage.Location
定义包和执行媒体保存到的实际位置。
重要
以下情况下,
Storage.Location
参数是必需的:
- 从任何 2020.10 之前版本的 Orchestrator 升级;
- 前一个
NuGet.Repository.Type
是Legacy
,- 之前的
NuGet.Packages.Path
没有使用默认值。
Target | Location |
---|---|
FileSystem | Provide an absolute path using the following format: RootPath=C:\FolderName\AnotherFolderName .Example: <add key="Storage.Location" value="RootPath=C:\FolderName\AnotherFolderName" /> .In the provided folder, the following folder structure gets created: Orchestrator-Host\Libraries - One folder dedicated to the libraries stored in the host feed.Orchestrator-[tenantKey] -One folder for each tenant. The tenant is identified by the tenant key as found in the database. For example Orchestrator-12ab1234-a567-456b-a12b-ab3456b123ab .For each tenant folder, three other sub-directories are created: \ExecutionMedia \Packages \Libraries Files are saved in the dedicated folders at the specified location. By default, they are stored at the following path: C:\Program Files (x86)\UiPath\Orchestrator\Storage . |
Azure | Provide a connection string. Example: <add key="Storage.Location" value="DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net" /> . |
Amazon | Provide a connection string. Example: <add key="Storage.Location" value="EndpointRegion=eu-west-3;accessKey=AKIAZGUEIGXUJ3BBI4MW;secretKey=W/LOzDbI1qumvcwYs8iUf4pRwW6ltKos/paTLVYM;useHttp=false" /> .To disable public access to newly created Amazon S3 buckets, add BlockPublicAccess=true to the connection string. Note that this has no impact on existing buckets.Example: <add key="Storage.Location" value="EndpointRegion=eu-west-3;accessKey=AKIAZGUEIGXUJ3BBI4MW;secretKey=W/LOzDbI1qumvcwYs8iUf4pRwW6ltKos/paTLVYM;useHttp=false;BlockPublicAccess=true" /> .To use the default Amazon S3 credentials, remove AccessKey and SecretKey and add UseDefaultCredentials=true instead. This allows you to use the machine's IAM role on an Amazon EC2 VM.Example: <add key="Storage.Location" value="EndpointRegion=eu-west-3;UseDefaultCredentials=true" /> . |
Minio | Provide a connection string. Example: <add key="Storage.Location" value="host=localhost:9001;accessKey=YVKYFJ0ZY246KDKP0634;secretKey=bdBEk2ubhIFsTNPuQ80PjKL+oqZBj67HoSWBFnw1" /> . |
示例
<add key=\"Storage.Type\" value=\"Azure\" />
<add key=\"Storage.Location\" value=\"DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net\" />
The configuration above instructs Orchestrator:
- to store the package metadata in the SQL database;
- to keep the actual files in the Azure Blob storage at the location indicated by the
DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net
connection string; - to use the default naming convention for the Azure container name -
Orchestrator-tenantKey
.
重要
If you have more than 99 tenants in Orchestrator, you have two options to avoid AWS S3 bucket account limit.
- 按照下节中的说明,将数据存储在单个外部存储桶中。
- 增加默认的 AWS S3 存储桶帐户限制,以匹配租户数量。
这是必需的,因为系统会为每个租户创建一个单独的存储桶。
将 Orchestrator 数据存储在单个外部存储桶中
To use a single bucket with your own external storage provider, add the following parameters to the corresponding connection string:
BucketName
- 必填。使 Orchestrator 能够将所有租户存储在单个存储桶中。它需要在存储提供程序中设置的存储桶名称。为此,在安装 Orchestrator 之前,您必须有外部存储。CanCreateBucket
- 可选。如果设置为 True,则它允许 Orchestrator 代表您在外部存储中创建存储桶。默认值为 False。
注意:使用此参数时,请确保向 Orchestrator 授予在外部存储中创建存储桶的适当权限。否则,安装将失败。ContentPrefix
- optional. Specifies the path of your Orchestrator data inside the external storage. For example,orchestrator/data
.
Note: These parameters apply to the connection strings of external storage providers, namely Azure, Amazon, or Minio. They do not apply to FileSystem storage.
示例:将单个存储桶与您自己的外部存储提供程序一起使用
<add key="Storage.Location" value="DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net;BucketName=UiPath;ContentPrefix=orchestrator/data" />
NuGet.Packages.ApiKey
NuGet.Packages.ApiKey
NuGet 帐户的许可证密钥。如果活动和包存储在相同的 NuGet 订阅源中,则此参数的值必须与 NuGet.Activities.ApiKey
的值相同。默认值用于数据库的初始种子设定。请注意,系统也会接受任意字符串。
NuGet.Activities.ApiKey
NuGet.Activities.ApiKey
NuGet 帐户的许可证密钥。如果活动和包存储在相同的 NuGet 订阅源中,则此参数的值必须与 NuGet.Packages.ApiKey
的值相同。请注意,也接受任意字符串。
可以通过监视文件系统或使用 Redis 实现多个 Orchestrator 节点和接口之间的包同步。这可以使用以下配置进行配置。推荐的方式是通过 Redis。
Processes.AllowUpdateWithRunningJobs
Processes.AllowUpdateWithRunningJobs
指定是否可以删除运行中或待处理的作业相关联的流程。请注意,默认情况下,此参数是隐藏的。以下值可用:
true
- 在具有正在运行或挂起的关联作业时,可以删除流程。false
- 在具有正在运行或挂起的关联作业时,无法删除流程。若尝试删除某个流程(本例中),则将显示以下错误消息:“目前无法修改此流程,因为存在与其关联的活动作业。(#1666)”。这是默认值。
例如,如果您希望能够在运行关联的作业时删除流程,请在 UiPath.Orchestrator.dll.config
文件中添加 <add key="Processes.AllowUpdateWithRunningJobs" value="true" />
。
Deployment.Libraries.AllowTenantPublish
Deployment.Libraries.AllowTenantPublish
允许您指定使用主机订阅源的租户是否能够将库上传到订阅源中。以下值可用:
true
- 在租户级别上传的库会传播到主机订阅源。这是默认值。false
- 在租户级别上载的库不会传播到主机订阅源。但是,请注意,用户确实有权访问订阅源中的现有库。
您也可以从用户界面配置此功能。在主机级别的“设置”页面上可以找到相应选项“允许租户用户上传到订阅源”。详情请参阅此处。
存储桶
Buckets.ContentSecurityPolicy
Buckets.ContentSecurityPolicy
用于指示 Orchestrator 可以请求的受信任域以外的域。多个值可以输入为以逗号分隔的列表。此参数将覆盖与 Azure 和 AWS 相关的相应 Orchestrator 设置,因此同时请确保根据需要添加 Azure 和/或 AWS。此参数在 UiPath.Orchestrator.dll.config
文件中默认不显示。
Buckets.AvailableProviders
Buckets.AvailableProviders
Used to control which providers can be used in creating storage buckets. The available providers are: Orchestrator, Amazon, Azure, Minio, S3 compatible storage providers, and File System. Multiple values can be entered with a comma separator.
注意:默认情况下,此键不显示在 UiPath.Orchestrator.dll.config
文件中,并且仅选择以下提供程序:Orchestrator
、Amazon
、Azure
、Minio
和 S3Compatible
。默认行为特定于全新安装和升级。如果键可见,则可用的提供程序将限制为指定为 Buckets.AvailableProviders
值的提供程序。
示例:要仅使用 Orchestrator、Amazon 和 Azure 作为存储桶提供程序,请添加以下键:
<add key="Buckets.AvailableProviders" value="Orchestrator,Amazon,Azure" />
Buckets.FileSystem.Allowlist
Buckets.FileSystem.Allowlist
提供一种控制文件系统存储桶使用的方法。该设置默认没有配置任何值。这以及在新安装和升级中默认都禁用文件系统的事实,意味着最初不能使用文件系统路径。出于安全原因,为了使用文件系统功能,管理员必须首先启用文件系统,然后通过将值归于 Buckets.FileSystem.Allowlist
来明确允许访问一系列文件夹或网络共享。
可以输入以 |
字符分隔的多个值。请注意,路径必须完全限定,以驱动器或 UNC 路径为根(例如 c:\
、c:\test
、\\servershare\shared
),并且每个路径都表示允许用于任何存储桶的前缀。可以在该特定路径或任何子路径上创建存储桶。
重要
通过
Buckets.FileSystem.Allowlist
设置创建文件系统允许列表会带来一系列安全隐患,因此强烈建议您在继续操作之前参考安全使用文件系统存储允许列表。
Authorization
AcceptedRootUrls
AcceptedRootUrls
使您能够添加受信任 URL 的列表。如果此设置没有任何值,则没有人可以访问 Orchestrator。如果要添加多个 URL,请不要使用空格,并用逗号 (,
) 分隔项目,例如 "https://server1,https://server2"
。
Auth.Bearer.Robot.Expire
Auth.Bearer.Robot.Expire
您的机器人持有者令牌过期后的时间量。默认情况下,设置为 30 分钟。
Auth.DisabledPermissions
Auth.DisabledPermissions
使您能够配置权限,以便在使用 API 时从用户界面禁用权限并将其忽略。请注意,默认情况下,此参数是隐藏的。在 API 中使用权限时需要添加这些权限,并且必须用逗号分隔权限。例如,如果要禁用库和计算机的删除权限,则需在添加如下键值:<add key="Auth.DisabledPermissions" value="Machines.Delete,Libraries.Delete" />
。
Auth.RememberMe.Enabled
Auth.RememberMe.Enabled
使您能够配置是否显示“登录”页面的“记住我”复选框。默认情况下,参数设置为 true
,表示将显示复选框。设置为 false
即可将其隐藏。此设置在 UiPath.Orchestrator.dll.config
文件中默认不显示。
Auth.AllowChangePassword
Auth.AllowChangePassword
允许您配置用户是否可以在“配置文件”页面的“安全”部分更改其密码。此设置在 UiPath.Orchestrator.dll.config
文件中默认不显示。以下值可用:
true
- 用户不能在“个人资料”页面更改他的密码。此为默认值。false
- 用户不能在“配置文件”页面更改他的密码。
Auth.AllowSelfEmailUpdate
Auth.AllowSelfEmailUpdate
使您能够配置用户是否可以从“个人资料”页面的“常规”部分更改其电子邮件地址。默认情况下,此参数设置为 true
,这意味着您可以更新它。将参数设置为 false
即可使字段只读。此设置在 UiPath.Orchestrator.dll.config
文件中默认不显示。
ExternalAuth.AccessTokenAuth.Enabled
ExternalAuth.AccessTokenAuth.Enabled
允许您配置是否可以使用 Auth0 颁发的承载访问令牌对 Orchestrator 进行身份验证。此设置在 UiPath.Orchestrator.dll.config
文件中默认不显示。以下值可用:
true
- 用户无法使用 Auth0 发布的访问令牌发出身份验证请求。仅当您为ExternalAuth.AccessTokenAuth.Audience
参数设置有效受众时,才考虑这一点。false
- 用户无法使用 Auth0 发布的访问令牌发出身份验证请求。此为默认值。
ExternalAuth.AccessTokenAuth.Audience
ExternalAuth.AccessTokenAuth.Audience
Enables you to control the target audience of the access token. This parameter needs to be set to a valid audience, which is used to check against the Auth0 token audience. For example, if you want to set the audience to https://cloud.uipath.com, you need to add the following key: <add key="ExternalAuth.AccessTokenAuth.Audience" value="https://cloud.uipath.com" />
. This setting is not displayed by default in the UiPath.Orchestrator.dll.config
file.
ExternalAuth.ShowPII
ExternalAuth.ShowPII
通过添加以下键,允许显示 Orchestrator PII:<add key="ExternalAuth.ShowPII" value="true" />
。默认情况下,该键在 UiPath.Orchestrator.dll.config
中不显示,并且此默认行为即为不允许显示 PII。
RestrictBasicAuthentication
RestrictBasicAuthentication
Moved to Identity Server appsettings.json
.
EnableBasicAuthenticationForHostTenant
EnableBasicAuthenticationForHostTenant
Moved to Identity Server appsettings.json
.
Load Balancer
These settings should only be modified if you are using a load balancer.
LoadBalancer.UseRedis
LoadBalancer.UseRedis
使用 Redis 作为数据库,将消息和缓存在通过负载均衡器连接的所有计算机之间分发。默认情况下,它设置为 false
。
LoadBalancer.Redis.ConnectionString
LoadBalancer.Redis.ConnectionString
只有在将 LoadBalancer.UseRedis
设置为 true
时才能使用。一个连接字符串,允许您设置 Redis 服务器,其中包含服务器的 URL、密码和与 Redis 一起使用的端口。应将所有 HAA 集群节点添加到连接字符串中。
It is also possible to enable SSL encrypted connections between the Orchestrator nodes and the Redis service. For more information, please click here. Examples:
- 启用 SSL -
<add key="LoadBalancer.Redis.ConnectionString" value="10.10.20.184:10000,10.10.24.148:10000,10.10.22.114:10000,password=12345678,ssl=true" />
- 未启用 SSL -
<add key="LoadBalancer.Redis.ConnectionString" value="10.10.20.184:10000,10.10.24.148:10000,10.10.22.114:10000,password=12345678" />
Password Vault
Plugins.SecureStores
Plugins.SecureStores
此设置应更新为包括您正在使用的任何凭据存储的插件。您可以从以下选项中进行选择:CyberArk、CyberArk CCP、Azure 密钥保险库、Thycotic Secret Server、BeyondTrust 和 HashiCorp 保险库。凭据存储插件位于安装目录的 \Orchestrator\Plugins
文件夹中。例如:
- 单一存储:
<add key="Plugins.SecureStores" value="UiPath.Orchestrator.CyberArk.dll"/>
- 多存储:
<add key="Plugins.SecureStores" value="UiPath.Orchestrator.CyberArk.dll;UiPath.Orchestrator.AzureKeyVault.SecureStore.dll;UiPath.Orchestrator.SecureStore.CyberArkCCP.dll;UiPath.Orchestrator.SecureStore.HashiCorpVault.dll;UiPath.Orchestrator.SecureStore.BeyondTrust.dll;UiPath.Orchestrator.SecureStore.AWSSecretsManager.dll" />
备注:
使用现有的 CyberArk 集成升级 Orchestrator 实例时,此设置会预先填充 CyberCrk 插件。对于所有其他安装,默认情况下该设置值为空。
Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath
Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath
允许 CyberArk 插件在自定义安装路径中搜索 CLIPasswordSDK64.exe
。例如,如果 D:\CustomFolder\
是 CyberArk 的安装目录,则需要添加以下键值:<add key="Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath" value="D:\CustomFolder\CLIPasswordSDK64.exe"/>
。此应用程序设置的默认值为 C:\Program Files (x86)\CyberArk\ApplicationPasswordSdk\CLIPasswordSDK64.exe
。
Plugins.SecureStores.CyberArk.UsePowerShellCLI
Plugins.SecureStores.CyberArk.UsePowerShellCLI
用于在使用路径身份验证时,从 CyberArk 保险库中检索凭据。默认情况下,该密钥是隐藏的。默认值为 false
。添加以下密钥可将其启用:<add key="Plugins.SecureStores.CyberArk.UsePowerShellCLI" value="true"/>
。
Azure AD 身份验证
The configuration for Azure AD authentication has been moved to Identity Server's External Providers page.
Active Directory 身份验证
Active Directory 身份验证的配置是在安装后从 Orchestrator 的管理门户执行的。
For instructions, see Configuring the Active Directory integration page.
日志
Logs.RobotLogs.ReadTarget
Logs.RobotLogs.ReadTarget
使您能够配置 Orchestrator 从中读取和填充日志的源(例如 database
或 robotelasticbuffer
)。
RobotsLogs.Flush.Interval
RobotsLogs.Flush.Interval
此设置允许您更改 SubmitLogs 端点的刷新间隔。请注意,默认情况下,它不会显示在 UiPath.Orchestrator.dll.config
中。除非另有说明,否则其值为 0 秒。以下示例显示了如何将刷新间隔设置为 60 秒,这意味着机器人每 60 秒将日志发送到服务器一次。
<add key="RobotsLogs.Flush.Interval" value="60" />
重要
如果机器人在刷新间隔完成之前断开连接,则最后一批日志将在下次连接到 Orchestrator 时发送。
RobotsLogs.Flush.BatchSize
RobotsLogs.Flush.BatchSize
此设置的目的是调整 SubmitLogs端点的刷新大小。默认情况下,它不显示在 UiPath.Orchestrator.dll.config
中。除非另有说明,否则它的值是 100 条日志消息条目,表示机器人每批次将 100 条日志发送到服务器。
<add key="RobotsLogs.Flush.BatchSize" value="100" />
Logs.RequestAbortedLogBehavior
Logs.RequestAbortedLogBehavior
针对在取消正在执行的操作时引发的取消异常指定日志记录行为。例如,当您单击某个按钮,并在系统执行操作前又单击另一个按钮时,便会产生此类异常。请注意,默认情况下,此参数是隐藏的。以下值可用:
Ignore
- 如果相应的请求已中止,则忽略所有取消异常。这是默认值。Info
- 取消异常的严重性级别记录为 Info。None
- 取消异常的严重性级别记录为 Error。
例如,如果您不想记录任何取消异常,请在配置文件中添加 <add key="Logs.RequestAbortedLogBehavior" value="Ignore" />
。
Logs.Elasticsearch.SharedIndex
Logs.Elasticsearch.SharedIndex
允许您登录到所有租户的相同索引。必须将它设置为与用于 NLog 目标中的 index
参数相同的值。例如,<add key="Logs.Elasticsearch.SharedIndex" value="robotlogs" />
。详情请参阅此处。请注意,默认情况下,此参数是隐藏的。
Logs.Elasticsearch.EnableFolderIdFilter
Logs.Elasticsearch.EnableFolderIdFilter
控制 2019.10 之前生成的日志的可见性,这些日志无法被日志页面上的包含文件夹筛选。默认情况下,该参数设置为 true
,这意味着日志是隐藏的。将其设置为 false
后就可以显示日志:<add key="Logs.Elasticsearch.EnableFolderIdFilter" value="false" />
Logs.Elasticsearch.Username
Logs.Elasticsearch.Username
The username required for reading logs in Elasticsearch. Note that you need to configure this parameter only if Elasticsearch authentication is enabled, and you do not use an NLog target. When configuring the parameter, make sure its value matches the Elasticsearch server settings. For more details, see X-Pack Authentication.
Logs.Elasticsearch.Password
Logs.Elasticsearch.Password
The username required for reading logs in Elasticsearch. Note that you need to configure this parameter only if Elasticsearch authentication is enabled, and you do not use an NLog target. When configuring the parameter, make sure its value matches the Elasticsearch server settings. For more details, see X-Pack Authentication.
Logs.Elasticsearch.OAuthEnabled
Logs.Elasticsearch.OAuthEnabled
将此参数设置为 true
以启用 OAuth2,并使用基于令牌的身份验证机制在 Elasticsearch 中读取机器人日志,作为用户和密码系统的替代方案。默认情况下,此参数设置为 false
。
When enabling OAuth authentication, you still need to provide the username and password as in the default authentication method. This is required because the initial token is generated based on those credentials.
See OAuth2 Authentication for detailed instructions on how to configure OAuth2 authentication for Elasticsearch.
Logs.Elasticsearch.OAuthExpireInSeconds
Logs.Elasticsearch.OAuthExpireInSeconds
使您能够在用于读取 Elasticsearch 中机器人日志的访问令牌过期并刷新前设置时间(以秒为单位)。其默认值和建议值为 1200 秒(20 分钟),最大值为 3600 秒(60 分钟)。要使令牌无效,您可以使用 Orchestrator 用户界面中的专用按钮。
Before changing the token validity, make sure that Logs.Elasticsearch.OAuthEnabled
is set to true
and that you have properly configured the Elasticsearch server. For more on this, see OAuth2 Authentication.
Logs.Elasticsearch.DisableProductCheckStatus
Logs.Elasticsearch.DisableProductCheckStatus
Allows you to select an Elasticsearch version previous to 7.16.3. To do that, it must be set to true
.
This parameter is hidden, and its default value is false
.
It works in conjunction with the disableProductCheckStatus
in the Nlog file, which is also hidden and false
by default. It must also be set to true
in order to enable the feature.
Webhooks
Webhooks设置已移至Webhooks Service的appsettings.json
文件。
Scalability
Scalability.Heartbeat.PeriodSeconds
Scalability.Heartbeat.PeriodSeconds
时间间隔(以秒为单位),机器人将在此间隔内向 Orchestrator 发送心跳,让 Orchestrator 知道其状态。默认情况下,它设置为 30
秒。
Scalability.Heartbeat.FailureThreshold
Scalability.Heartbeat.FailureThreshold
机器人发送的连续失败的检测信号数,直到在 Orchestrator 中将其标记为无响应。默认情况下,它设置为 4
,这意味着在检测信号失败 2 分钟(4 x 30 秒 = 2 分钟)后,机器人被标记为无响应。
Scalability.SignalR.Enabled
Scalability.SignalR.Enabled
指定机器人服务是否应该订阅 Orchestrator 的 SignalR 通道。默认情况下,它设置为 true
。此参数用于数据库的初始种子设定。若要在安装后进行更改,请使用“租户”或“主机”级别的“设置”页面。
Scalability.SignalR.Transport
Scalability.SignalR.Transport
指定用于连接到 Orchestrator 的 SignalR 通道的传输协议。以下值可以归为(任意组合 - 按位或):
- WebSocketTransport = 1
- ServerSentEventsTransport = 2
- LongPollingTransport = 4
- Default value: 7 (WebSocketTransport | ServerSentEventsTransport | LongPollingTransport)
此参数用于数据库的初始种子设定。若要在安装后进行更改,请使用租户或主机级别的“设置”页。
Scalability.AzureSignalR.ConnectionString
Scalability.AzureSignalR.ConnectionString
帮助您启用“Azure SignalR 服务”,方便您的机器人队列与 SignalR 服务之间建立直接通信
Orchestrator no longer intermediates it. This option should be used only if you have an Azure-hosted Orchestrator instance. It can be used in conjunction with the Scalability.AzureSignalR.ConnectionCount
key. This parameter is enabled in our Cloud offering. It is not displayed by default in the UiPath.Orchestrator.dll.config
file.
请注意,如果启用,版本低于 2019.2 的机器人仅依靠检测信号协议与 Orchestrator 通信,这意味着从 Orchestrator 提供的任何命令仅由机器人每 30 秒接收一次。若要启用此参数,请使用连接到 Azure 服务的连接字符串填充其值。示例:<add key="Scalability.AzureSignalR.ConnectionString" value="Endpoint=https://test.signalr.net;AccessKey=M1ug+sBu07hyyi12AgyJ52SEd4OgC2Mm6BvllVHCC9c=;Version=1.0;" />
。
Scalability.AzureSignalR.ConnectionCount
Scalability.AzureSignalR.ConnectionCount
使您能够更改服务器和 Azure SignalR 服务之间的连接数(每个集线器)。默认值为 5
。示例:<add key="Scalability.AzureSignalR.ConnectionCount" value="7" />
。默认情况下不显示此设置,若没有 Scalability.AzureSignalR.ConnectionString
键,此设置将无法使用。
Scalability.SignalR.RequireStickySessions
Scalability.SignalR.RequireStickySessions
启用粘滞会话。如果设为 true
,则启用所有传输,并且 Orchestrator 假定负载均衡器已启用粘性会话。在 UiPath.Orchestrator.dll.config
中启用粘滞会话但不在负载均衡器上启用将导致 SignalR 连接失败。
Insights
Insights.TableCreationRetryCount
Insights.TableCreationRetryCount
使您能够设置新表创建的最大重试次数。默认情况下,该值设置为 3
。
注意:此设置是可选的,在 UiPath.Orchestrator.dll.config
文件中默认不显示。
Insights.TableCreationRetryBackoffSeconds
Insights.TableCreationRetryBackoffSeconds
重试尝试之间相隔的时间量(以秒为单位)。默认情况下,该值设置为 60
。
注意:此设置是可选的,在 UiPath.Orchestrator.dll.config
文件中默认不显示。
Insights.Ingestion.QueryTimeout
Insights.Ingestion.QueryTimeout
对于针对 Orchestrator 数据库运行以填充 Insights 数据库的查询,SQLServer 超时。默认情况下,该设置不会在 UiPath.Orchestrator.dll.config
文件中显示。如果在从 Orchestrator SQLServer 提取 Insights 的后台作业中遇到超时错误,则应考虑对其进行更新。
Analytics
Telemetry.Enabled
Telemetry.Enabled
Enables or disables the usage and performance data collection that UiPath uses to help diagnose problems and improve Orchestrator. For more details about UiPath’s privacy practices, please review the privacy statement. The following values are available:
true
- 遥测功能已启用。这是默认值。false
- 遥测功能已禁用。
也可以在安装或更新 Orchestrator 实例时选择加入或退出性能和使用情况数据收集,如此处所述。
Media Recording
MediaRecording.Enabled
MediaRecording.Enabled
将它设置为 false
可禁用记录功能。默认情况下,它设置为 true
,这意味着该功能已启用。文件存储使用 Storage.Type
和 Storage.Location
参数进行配置。
分页
Pagination.Limits.Enabled
Pagination.Limits.Enabled
对于 Cloud Platform 和内部部署 Orchestrator 实例的全新安装,设置默认情况下设置为 true
。为具有分页参数的 API 端点的所有调用添加默认 $top
值(例如,分页参数可为 odata/Users
)。
触发器
Triggers.DisableWhenFailedCount
Triggers.DisableWhenFailedCount
您可以将触发器配置为在启动失败次数达到一定值并且在特定天数内没有成功运行之后自动禁用。在这种情况下, Triggers.DisableWhenFailedCount
允许您调整失败运行的次数,而Triggers.DisableWhenFailingSinceDays
允许您更改天数。默认情况下,Triggers.DisableWhenFailedCount
值为 10,Triggers.DisableWhenFailingSinceDays
值为 1,这意味着如果在过去一天中没有成功运行,则在尝试启动 10 次失败后,将禁用触发器。
要在触发器失败时停止禁用触发器,您必须将 Triggers.DisableWhenFailedCount
设置为 0。
Triggers.JobsCountStrategy
Triggers.JobsCountStrategy
用于为通过触发器启动的作业选择作业计数策略。默认隐藏。提供以下选项:
PerProcess
- 触发器启动指定数量的作业,同时考虑到指定流程的所有待处理作业。例如,为同一流程定义的两个触发器分别启动 3 个和 5 个作业。如果第一个触发器在给定的时间点启动了 3 个作业,则当第二个触发器触发时,将启动 2 个作业,以达到 5 个所需的作业。在配置文件中添加以下密钥以使用此策略:<add key="Triggers.JobsCountStrategy" value="PerProcess" />
。这是默认值。PerTrigger
- 触发器启动指定数量的作业,同时考虑到该触发器先前启动的任何现有作业。例如,定义了一个触发器以在给定的时间点启动 9 个作业。如果再次触发此触发器之前已成功完成 2 个作业,则 Orchestrator 将启动另外 2 个作业,以达到 9 个所需的作业。在配置文件中添加以下密钥以使用此策略<add key="Triggers.JobsCountStrategy" value="PerTrigger" />
。NoLimit
- 触发器将启动指定数量的作业,而与任何现有的待处理作业无关。例如,定义了一个触发器以在给定的时间点启动 5 个作业。第二次触发触发器时,将启动另外 5 个作业。在配置文件中添加以下密钥以使用此策略:<add key="Triggers.JobsCountStrategy" value="NoLimit" />
。
Features.QueueTriggers.PendingJobsStrategy
Features.QueueTriggers.PendingJobsStrategy
用于选择在将新项目添加到队列时要触发的其他作业数量的计算方法。这是通过从要创建的最大目标作业数中减去处于特定状态的作业数来完成的。
The following options are available:
True
- This is the default option. It is best suited for cases where you want Orchestrator to assume that all running jobs have already moved queue items out of the status New.
The number is computed as follows:
Maximum additional jobs to be created based on newly available queue items = the maximum number of pending and running jobs allowed simultaneously minus the number of jobs in a Pending state.False
- This option is best suited for cases where you want Orchestrator to assume all running jobs have yet to move queue items out of the status New.
The number is computed as follows:
Maximum additional jobs to be created based on newly available queue items = the maximum number of pending and running jobs allowed simultaneously minus the number of jobs in one of these states: Pending, Resumed, Running, Stopping, Terminating.
Others
PreventAutoRefresh.Enabled
PreventAutoRefresh.Enabled
控制“监控”菜单下的“作业”页面是否为每个新创建的作业自动刷新。添加 <add key="PreventAutoRefresh.Enabled" value="true" />
密钥后就可以限制作业运行时页面的自动刷新。该密钥默认情况下不显示,默认值为 false
,表示 Orchestrator 自动刷新每个新作业的页面。
不管是什么 PreventAutoRefresh.Enabled
参数,当应用筛选或作业状态更改时,页面都会更新。
Features.ClassicFolders.Enabled
Features.ClassicFolders.Enabled
Control if the classic folders model is enabled. The default value is false
, meaning classic folders are disabled, and only modern folders are available. This parameter is hidden by default.
Jobs.TerminatingJobsTimeout
Jobs.TerminatingJobsTimeout
配置适合将终止作业标记为“失败”所经过的时间。默认值为 1440
,这意味着除非作业至少有一天时间一直处于“终止”状态,否则无法将其标记为“失败”。默认情况下,此参数处于隐藏状态。
Jobs.TerminatingJobsCleanupCron
Jobs.TerminatingJobsCleanupCron
配置 cron 表达式,该表达式可控制将终止作业标记为“失败”的后台作业的频率。除非作业至少在 Jobs.TerminatingJobsTimeout
参数中设置的持续时间处于“终止”状态,否则无法将其标记为“失败”。Jobs.TerminatingJobsCleanupCron
和 Jobs.TerminatingJobsTimeout
的默认值分别为 0 0 0/3 1/1 * ? *
和 1440
,这意味着后台作业每三小时运行一次,并且只会将已经至少有一天时间一直处于“终止”状态的作业标记为“失败”。默认情况下,此参数处于隐藏状态。
PW.StopExploringCron
PW.StopExploringCron
配置 cron 表达式,该表达式可控制检查浏览个人工作区的用户是否仍具有所需浏览权限(查看和编辑文件夹)的后台作业的频率。默认值为 0 25 * ? * *
,表示后台作业在每小时的第 25 分钟开始运行。如果用户没有所需权限,则浏览会话将终止。默认情况下,此参数处于隐藏状态。
Features.LongRunning.Enabled
Features.LongRunning.Enabled
Configure whether long running workflows are supported in your instance or not. Add the following key to enable it: <add key="Features.LongRunning.Enabled" value="true" />
.
Tasks.ModuleEnabled
Tasks.ModuleEnabled
Configure whether the Actions feature is enabled in your instance. Add the following key to enable it: <add key="Tasks.ModuleEnabled" value="true" />
. This setting makes the feature available at the instance level. To configure it on a per-tenant basis, follow the steps here. The Features.LongRunning.Enabled
parameter needs to be set to true
for this setting to take effect.
Features.SmartCardAuthentication.Enabled
Features.SmartCardAuthentication.Enabled
配置是否在您的实例中启用智能卡身份验证。添加以下密钥将其启用:<add key="Features.SmartCardAuthentication.Enabled" value="true" />
。
OData.BackwardsCompatible.Enabled
OData.BackwardsCompatible.Enabled
允许您控制在 Orchestrator API 中解析特殊字符的方式。如果设置为 true
,则分析请求和响应正文中的特殊字符。默认情况下,此参数是隐藏的,并设置为 false
。
NotRespondingRobotsJobStartDelay
NotRespondingRobotsJobStartDelay
使您能够设置升级后对机器人状态执行第一次检查的延迟时间(以秒为单位)。此参数在 UiPath.Orchestrator.dll.config
中默认不显示。
Upload.Queues.MaxNumberOfItems
Upload.Queues.MaxNumberOfItems
使您能够使用批量上传功能减少一次可上传的最大项目数。默认值为 15000
。请注意,默认情况下,此参数在 UiPath.Orchestrator.dll.config
中不显示。
Processes.FilterOutDeleted
Processes.FilterOutDeleted
使您能够优化 Orchestrator 检索流程的方式。优化是通过删除对孤立流程(其关联包已删除)的不必要验证实现的。这提高了实例的整体性能,尤其是在大型部署的情况下。以下值可用:
false
- 已优化包检索,不会为孤立的流程执行验证。true
- 包检索未优化。
Note that this parameter is hidden and set to true
by default, meaning process retrieval is not optimized.
CertificatesStoreLocation
CertificatesStoreLocation
Specify the certificate for your Orchestrator instance is installed on the local machine certificate store using the following setting: <add key="CertificatesStoreLocation" value="LocalMachine" />
. Make sure that AzureKeyVaultCertificateStoreLocation
in appsettings.Production.json
has the same value.
ProxyIntegration.Enabled
ProxyIntegration.Enabled
Provides a way to control the proxy integration. By default, the parameter is not displayed in UiPath.Orchestrator.dll.config
, and its value is set to true
, which means that proxy integration is enabled unless otherwise specified. Use to disable proxy integration.
SecureAppSettings
EncryptionKey
EncryptionKey
用于保护凭据资产密码的加密密钥。如果使用具有网络负载均衡器的环境,则此密钥在所有计算机上均应相同。
通过以下参数,您可以设置 Azure 密钥保管库,您可以在其中存储基于租户的加密密钥。请注意,这些参数只能在 EncryptionKeyPerTenant.Enabled
设置为 true
,EncryptionKeyPerTenant.KeyProvider
设置为 AzureKeyVault
时使用。此外,请确保在 Azure 密钥保管库的访问策略中向 Orchestrator 实例提供所有密钥、密码和证书权限。有关完整过程,请参阅此页。
Azure.KeyVault.ClientId
Azure.KeyVault.ClientId
Orchestrator 实例的应用程序 ID。这可以在 Azure 的“应用程序注册”中找到,并且应具有 ae11aa1a-1234-1234-a123-a12a12aaa1aa
格式。此设置在 UiPath.Orchestrator.dll.config
文件中默认不显示。示例:<add key="Azure.KeyVault.ClientId" value="ae11aa1a-1234-1234-a123-a12a12aaa1aa" />
。
Azure.KeyVault.CertificateThumbprint
Azure.KeyVault.CertificateThumbprint
Azure 为 Orchestrator 证书生成的指纹。您可以在 Azure 中的“应用程序服务”>“您的实例”>“SSL 设置”>“私有证书”(或“公共证书”)中找到此值。此设置在 UiPath.Orchestrator.dll.config
文件中默认不显示。示例:<add key="Azure.KeyVault.CertificateThumbprint" value="1234123412341234123412341234124312341234" />
。
Azure.KeyVault.VaultAddress
Azure.KeyVault.VaultAddress
Azure 密钥保管库的 DNS 名称。这可以在保管库“概述”的“DNS 名称”字段中找到,并且应具有 UiPath.Orchestrator.dll.config
格式。此设置在 UiPath.Orchestrator.dll.config
文件中默认不显示。示例:<add key="Azure.KeyVault.VaultAddress" value="https://CustomVaultName.vault.azure.net/" />
。
Azure.KeyVault.DirectoryId
Azure.KeyVault.DirectoryId
指示组织在 Azure 门户中显示的目录 ID。如果将每个租户加密密钥存储在 Azure 密钥库中,则必须提供。示例:<add key="Azure.KeyVault.DirectoryId" value="c9d0e174-684e-469e-84ea-d32c863ad534" />
。
身份服务器设置
本节包含用于配置 S2S 访问令牌和机器人配置访问令牌的设置。
集成
为了将数据安全地传播到 Identity Server,Orchestrator 需要一个访问令牌以进行令牌身份验证。此令牌通过客户端凭据流 (S2S) 从 Identity Server 中获取。应将以下键添加到 UiPath.Orchestrator.dll.config
:
IdentityServer.GroupMembershipCacheExpireHours
IdentityServer.GroupMembershipCacheExpireHours
用于指定添加到 Orchestrator 的身份服务器组缓存过期的时间(以小时为单位)。默认情况下,此参数不可见,其默认值为 1
IdentityServer.Integration.Enabled
IdentityServer.Integration.Enabled
启用/禁用身份服务器与 Orchestrator 的集成。默认情况下,该值设置为 true
。
IdentityServer.Integration.Authority
IdentityServer.Integration.Authority
允许您设置身份服务器的位置。默认情况下,该值设置为 https://Orchestrator/Identity
,其中 Orchestrator
是 Orchestrator 的安装地址。
IdentityServer.Integration.ClientId
IdentityServer.Integration.ClientId
允许您设置用于生成 S2S 访问令牌的应用程序 ID(客户端 ID),这些令牌在 Identity Server 中注册。该值在安装时生成。
IdentityServer.Integration.ClientSecret
IdentityServer.Integration.ClientSecret
使您能为 Orchestrator S2S 应用程序设置客户端密码,以由身份服务器识别。该值在安装时生成。
IdentityServer.Integration.AccessTokenCacheBufferInSeconds
IdentityServer.Integration.AccessTokenCacheBufferInSeconds
使您能够设置访问令牌缓存缓冲区过期前的时间(以秒为单位)。默认情况下,该值设置为 50
。
IdentityServer.Integration.UserOrchestratorApiAudience
IdentityServer.Integration.UserOrchestratorApiAudience
Identity Server 可以生成具有不同受众中的多个访问令牌。使用具有此受众的用户访问令牌可以授权 Orchestrator API 请求。默认情况下,该值设置为 OrchestratorApiUserAccess
。
<add key="IdentityServer.Integration.Enabled" value="true" />
<add key="IdentityServer.Integration.Authority" value="https://Orchestrator/Identity" />
<add key="IdentityServer.Integration.ClientId" value="orchestratorapiaccess" />
<add key="IdentityServer.Integration.ClientSecret" value="a5d57b1d-5b25-49ba-bff7-33aa57f96a58" />
<add key="IdentityServer.Integration.AccessTokenCacheBufferInSeconds" value="50" />
<add key="IdentityServer.Integration.UserOrchestratorApiAudience" value="OrchestratorApiUserAccess" />
为了使用由 Identity Server 生成的客户端凭据 (S2S) 访问令牌,Orchestrator 需要将以下键值添加到 UiPath.Orchestrator.dll.config
:
IdentityServer.Integration.S2SOrchestratorApiAudience
IdentityServer.Integration.S2SOrchestratorApiAudience
允许您设置 Orchestrator 在验证 S2S 访问令牌时将检查的受众。默认情况下,该值设置为 OrchestratorApiS2SAccess
。
请确保 UiPath.Orchestrator.dll.config
同时包含以下预先存在的键,且其值设置为 true
:
MultiTenancy.AllowHostToAccessTenantApi
MultiTenancy.AllowHostToAccessTenantApi
当设置为 true
时,它允许主机用户访问其他租户的特定数据。默认情况下,该值设置为 true
。
MultiTenancy.TenantResolvers.HttpGlobalIdHeaderEnabled
MultiTenancy.TenantResolvers.HttpGlobalIdHeaderEnabled
当 Orchestrator 收到使用 S2S 访问令牌授权的 API 调用时,true
设置允许 Orchestrator 通过从 API 的请求标头读取租户全局 ID 来标识租户。
<add key="IdentityServer.Integration.S2SOrchestratorApiAudience" value="OrchestratorApiS2SAccess" />
<add key="MultiTenancy.AllowHostToAccessTenantApi" value="true" />
<add key="MultiTenancy.TenantResolvers.HttpGlobalIdHeaderEnabled" value="true" />
机器人配置访问令牌
Orchestrator 充当机器人的令牌生成器。机器人调用 Orchestrator 端点以生成访问令牌。然后,访问令牌将传递给可以调用不同资源的活动,如 AI Fabric。通过 Identity Service 与 Orchestrator 的集成,Identity Server 将接管访问令牌的生成。
更新服务器设置
本节包含用于配置更新服务器的参数。
UpdateServer.CheckUpdates.PollingInterval
UpdateServer.CheckUpdates.PollingInterval
客户端检查更新的频率。默认值为 180 分钟。
UpdateServer.CheckUpdates.DefaultForceInstallAfterMinutes
UpdateServer.CheckUpdates.DefaultForceInstallAfterMinutes
如果更新已推迟,则在多少分钟后开始强制更新。默认值为 1440 分钟。
UpdateServer.CheckUpdates.ScheduledForceInstallAfterMinutes
UpdateServer.CheckUpdates.ScheduledForceInstallAfterMinutes
如果更新已推迟,则在多少分钟后开始强制更新。这特定于计划的更新。默认值为 10 分钟。
UpdateServer.CheckUpdates.MaxRetries
UpdateServer.CheckUpdates.MaxRetries
重试失败更新的次数。默认值为 3。
UpdateServer.UpdateRequest.RetryStepMinutes
UpdateServer.UpdateRequest.RetryStepMinutes
如何根据时间序列执行重试。
示例:
- 首次重试:在配置的值之后(以分钟为单位)。
- 第二次重试:两次配置的值之后(以分钟为单位)。
- 第三次重试:在四倍配置的值之后(以分钟为单位)。
Logging Configuration
机器人日志
This is the corresponding UiPath.Orchestrator.dll.config
key: <logger name="Robot.*" writeTo="database,robotElasticBuffer" final="true" />
. It is used to configure log messages generated by Robots. The following parameters have to be configured:
-
writeTo
- 用于写入机器人生成的日志消息的位置。以下值可用:database
- 日志发送到 Orchestrator 的 SQL 数据库。这是默认值之一。robotElasticBuffer
- Logs are sent to Elasticsearch. This is the second default value. Please remember this requires additional settings. Details here.
将日志同时发送到 Orchestrator 的 SQL 数据库和 Elasticsearch 使您能够具有不可否认的日志。删除其中一个值即可停止记录到该位置。
-
final
- 一个标志,指示在找到记录的消息和记录器名称之间的匹配项时应做些什么。当设置为true
时,它不会查找其他匹配项。当设置为false
时,将检查与相同源匹配的其他规则。默认情况下,它设置为true
。
Monitoring Logs
这是相应的 UiPath.Orchestrator.dll.config
键:<logger name="Monitoring.*" writeTo="monitoring" minlevel="Warn" final="true" />
。它用于配置“监视”页面显示的错误日志。请注意,如果您删除此规则或更改 target
,“监视”页面不会显示任何错误日志。
Business Exception Logs
This is the corresponding UiPath.Orchestrator.dll.config
key: <logger name="BusinessException.*" minlevel="Info" writeTo="businessExceptionEventLog" final="true" />
. It is used to configure the logs for thrown business exceptions. For example validation issues (e.g Invalid username
) or business conflicts (e.g. License expired
).
Other Logs
This is the corresponding UiPath.Orchestrator.dll.config
key: <logger name="*" minlevel="Info" writeTo="eventLog" />
. It is used to configure all other logs besides the ones described above, including those generated by Orchestrator.
备注:
如果您每周在 SQL 数据库中累积超过 200 万个机器人日志,则几个月后如果不清理较旧的日志,性能可能会下降。对于如此大量的日志,我们建议使用 Elasticsearch。
Additional Settings
Elasticsearch
The following NLog target must be populated according to your Elasticsearch configuration:
<target xsi:type="ElasticSearch" name="robotElastic" uri="<elasticSearch_url_1>,<elasticSearch_url_2>, <elasticSearch_url_3>" index="${event-properties:item=indexName}-${date:format=yyyy.MM}" documentType="logEvent" includeAllProperties="true" disablePing="true" layout="${message}" excludedProperties="agentSessionId,tenantId,organizationUnitId,indexName" />
uri
- Elasticsearch URL;请注意,您必须添加协议和端口,例如http://elastic_server:9200
。您可以将此参数填充为每个节点的 Elasticseach URL,以消除对负载均衡器的需求,例如uri="http://elastic-node1:9200,http://elastic-node2:9200,http://elastic-node3:9200"
。excludedProperties
- 不希望保存到 Elasticsearch 的数据。index
- 日志记录索引的格式,它可以是每个租户唯一的,也可以在所有租户之间共享。详情如下。requireAuth
- 设置为true
以在将 Orchestrator 连接到 Elasticsearch 时启用身份验证。username
- 指定用于登录 Elasticsearch 的用户名。如果requireAuth
设置为true
且OAuthEnabled
设置为false
,则需要对其进行配置。password
- 指定用于登录 Elasticsearch 的密码。如果requireAuth
设置为true
且OAuthEnabled
设置为false
,则需要对其进行配置。OAuthEnabled
- set this parameter totrue
to enable OAuth2 and use a token-based authentication mechanism for the Nlog target for Elasticsearch. When enabling this for the first time, you need to provide your current username and password to generate the initial token. For this parameter to take effect, you need to ensure thatLogs.Elasticsearch.OAuthEnabled
is also set totrue
and that you properly configured the Elasticsearch server. For more on this, see X-Pack Authentication.
Index Configuration
-
个人索引 -
index="${event-properties:item=indexName}-${date:format=yyyy.MM}"
每个租户都使用一个单独的索引,这意味着将根据唯一的租户标识符(在此情况下为indexName
,默认为租户的名称)生成和检索特定于一个租户的日志。这是默认配置。在这种情况下,每月会生成日志。 -
共享索引 -
index="robotlogs-${date:format=yyyy.MM.dd}"
一个索引用于所有租户,这意味着所有日志,无论租户如何,都使用相同的索引。在这种情况下,每天都会生成日志。要使用共享索引,还需要在UiPath.Orchestrator.dll.config
中添加以下键:<add key="Logs.Elasticsearch.SharedIndex" value="robotlogs" />
。确保将其设置为与 NLog 目标中的index
参数相同的值。
重要
Logs generated using an individual index are kept if you shift to a shared index. However, logs generated using a shared index are lost if you shift to an individual one.
Logging Events in the Database
To store system event logs in the database rather than Event Viewer, follow these steps:
- Create a new database table, for example:
CREATE TABLE [dbo].[EventLogs](
[Id] [bigint] IDENTITY(1,1) NOT NULL,
[Timestamp] [datetime] NOT NULL,
[Level] [int] NOT NULL,
[Message] [nvarchar](max) NULL,
[Exception] [nvarchar](max) NULL)
In the above query, we create a table named EventLogs
with the following columns:
Id
- 保存每个日志的 ID 号,此处从1
开始,并在添加每个日志时增加值;Timestamp
- 保存每个事件的记录时间;Level
- 保存每个事件的数字日志级别;Message
- 保存每个事件的消息(如果适用);Exception
- 保存为每个事件记录的异常(如果适用)。
备注:
您可以任意命名表,并从上述查询中删除任何列,或添加其他列以满足您的需求。
- In the
UiPath.Orchestrator.dll.config
file, add a new NLog target:
<target xsi:type="Database" connectionString="${ui-connection-strings:item=Default}" name="eventLogDatabase" keepConnection="true">
<commandText>
INSERT INTO dbo.EventLogs (Timestamp, Level, Message, Exception)
VALUES (@timestamp, @level, @message, @exception)
</commandText>
<parameter name="@timestamp" layout="${date:format=yyyy-MM-dd HH\:mm\:ss.fff}" />
<parameter name="@level" layout="${event-properties:item=levelOrdinal}" />
<parameter name="@message" layout="${message}" />
<parameter name="@exception" layout="${onexception:${exception:format=tostring:maxInnerExceptionLevel=5:innerFormat=tostring}}" />
</target>
Defining a corresponding parameter
for the data to be added in each database column, in this example @timestamp
, @level
, @message
, and @exception
.
- Lastly, associate the newly created target with the NLog logger classification for all Orchestrator messages, from above, by adding:
<logger name="*" minlevel="Info" writeTo="eventLog,eventLogDatabase" />
Enabling NLog Debugging
NLog is an open-source, easily configured, and extensible logging platform for a variety of .NET platforms. With NLog, you can store or pass log data to any number of predefined or custom targets, such as a local file, an event log, email, or database.
Custom NLog targets are not automatically migrated during an upgrade. You need to migrate them to Identity Server and Webhooks services manually. See NLog documentation in Identity Server.
Though there exists some overlap, NLog and Orchestrator have several differentiating logging levels. For NLog, you can select either Trace
, Debug
, Info
, Warn
, Error
, Fatal
, or Off
. See Logging Levels for a description of the available levels in Orchestrator.
You can enable debugging in NLog to ensure that it is functioning properly. By default NLog is set to Off
, it is enabled by configuring the following section of the UiPath.Orchestrator.dll.config
file:
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" throwExceptions="false" internalLogLevel="Off" internalLogFile="">
The attributes which must be set are:
internalLogLevel
- 所需的日志记录级别internalLogFile
- 日志文件的位置
例如:
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" throwExceptions="false" internalLogLevel="Debug" internalLogFile="C:\logs.txt">
备注:
The user profile under which Orchestrator is running must have access to the path specified in the
internalLogFile
attribute.
Orchestrator read-only replica
Orchestrator can maintain a read-only replica of its operational database, which allows data to be read and loaded faster.
This must be set up in your SQL Server database environment. For details, please see the SQL Server configuration instructions.
The following parameters allow you to enable this option for your own database.
Features.Queues.QueryUseReadOnlyReplica
Features.Queues.QueryUseReadOnlyReplica
选择是否从只读副本中检索队列项目。
可用值包括:
True
- allows data to be retrieved from the read-only replica.False
- 这是默认值。它不允许从只读副本中检索数据。
Monitoring.UseReadOnlyReplica
Monitoring.UseReadOnlyReplica
选择“Orchestrator 监控”选项是否从只读副本中检索数据。
可用值包括:
True
- allows data to be retrieved from the read-only replica.False
- 这是默认值。它不允许从只读副本中检索数据。
约一个月前更新