orchestrator
2022.10
false
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo.
Guia de instalação do Orchestrator
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 3 de out de 2024

UiPath.Orchestrator.dll.config

O arquivo UiPath.Orchestrator.dll.config (C:\Program Files (x86)\UiPath\Orchestrator) define os parâmetros, configurações e preferências aplicados à implantação do Orchestrator.
Importante:
  • Quaisquer alterações nos parâmetros neste arquivo serão substituídas após a atualização.

  • Apenas os administradores devem alterar os valores desses parâmetros.

  • É recomendável reiniciar o site manualmente após fazer alterações em UiPath.Orchestrator.dll.config.
  • Parâmetros que não estão documentados nessa página não devem ser alterados ou ter contrapartes nas páginas de Configurações.

  • Todos os parâmetros diferenciam maiúsculas de minúsculas.

Configurações de Aplicativo

Configurações de instalação avançadas

EncryptionKeyPerTenant.Enabled

Permite que você use diferentes chaves de criptografia por tenant, com base em uma conta do Microsoft Azure Key Vault. Os seguintes valores podem ser atribuídos:

  • false - Usa uma única chave de criptografia em toda a instância do Orchestrator. Esse é o valor padrão.
  • true - Usa uma chave de criptografia diferente para cada tenant, aprimorando sua segurança dos tenants e fornecendo maior segregação de dados confidenciais.
Se habilitar essa funcionalidade, você também deve atender ao parâmetro EncryptionKeyPerTenant.KeyProvider, além daqueles na seção SecureAppSettings.

EncryptionKeyPerTenant.KeyProvider

Permite que você indique o aplicativo de gerenciamento de chaves para armazenar as chaves de criptografia geradas por tenant a partir do Orchestrator.Defina-o como AzureKeyVault para usar um Microsoft Azure Key Vault pré-configurado.Nós não fornecemos licenças do Azure Key Vault.Observe que você também precisa configurar os parâmetros descritos na seção SecureAppSettings. Se EncryptionKeyPerTenant.Enabled estiver definido como false, esse parâmetro não será usado.

As alterações feitas para as configurações de criptografia aqui precisam ser espelhadas no arquivo appsettings.Production.json do Identity Server, de acordo com a seguinte equivalência do campo:

UiPath.Orchestrator.dll.config do Orchestrator

appsettings.Production.json do Identity Server

EncryptionKeyPerTenant.Enabled

EncryptionKeyPerTenant

Azure.KeyVault.VaultAddress

AzureKeyVaultAddress

Azure.KeyVault.CertificateThumbprint

AzureKeyVaultCertificateThumbprint

Azure.KeyVault.ClientId

AzureKeyVaultClientId

Azure.KeyVault.DirectoryId

AzureKeyVaultDirectoryId

EncryptionKeyPerTenant.KeyProvider

MultiTenantEncryptionKeyProvider

Filas

Observação: para aplicar alterações relacionadas aos agendamentos de trabalhos internos, siga as etapas em Atualização de agendamentos de trabalhos internos.

inProgressMaxNumberOfMinutes

O tempo máximo em que os itens da fila de tempo podem ter o status Em andamento. Após este tempo, o status dos itens da fila muda para Abandonado. Por padrão, ele é definido como 1440 minutos (24 horas).

QueuesStatisticsScheduleCron

A frequência de atualização das estatísticas de itens da fila na página Painel e Transações, e na janela Gráfico. Por padrão, elas são atualizadas a cada minuto.

UpdateUncompletedItemsJobCron

A frequência de pesquisa no banco de dados pelas filas que precisam ser movidas para Abandonado. Por padrão, esse parâmetro é definido como a cada hora.

Queue.MaxSlaInMinutes

O valor máximo com o qual o SLA pode ser definido, expresso em minutos. Por padrão, o valor é 129600 minutos (90 dias), e é exibido por padrão em UiPath.Orchestrator.dll.config, incluindo em cenários de atualização.

Queue.MaxSchemaFileSizeInKilobytes

O tamanho máximo do arquivo do esquema JSON, em relação ao qual os dados e a saída do item da fila são validados, em KB. Essa configuração não aparece por padrão no arquivo UiPath.Orchestrator.dll.config.

Queue.SlaReadaheadTimeLimitHours

A quantidade de tempo em que os prazos dos itens da fila devem cair para que os itens sejam levados em consideração ao fazer previsões de SLA. O valor padrão é 24 horas. Este parâmetro não é exibido por padrão em UiPath.Orchestrator.dll.config.

Queue.MaxSpecificDataSizeInKiloBytes

O tamanho máximo do conteúdo de Dados específicos para novos itens da fila, em kilobytes. Para as instalações limpas do Orchestrator, esse parâmetro está oculto e tem um valor padrão de 1024 (1 MB). Em cenários de atualização, esse parâmetro é visível e tem um valor de 204800 (200 MB).

Queue.ProcessActivationSchedule

O tempo entre verificações para itens de fila não processados. Por padrão, é definido como 30 minutos. Para ajustar o intervalo de seleção, especifique um valor entre 0 e 59, reinicie o IIS e, depois, exclua o gatilho da fila existente e recrie-o.

Alertas

Observação: para aplicar as alterações relacionadas aos agendamentos dos trabalhos internos, siga as instruções em Atualização de agendamento de trabalho interno.

DailyAlertMailJobCron

Permite que você configure uma expressão cron que controla quando os alertas por e-mail diários são enviados. Isso funciona apenas se os alertas por e-mail estiverem habilitados. O relatório contém todos os alertas de gravidade Fatal e Erro gerados no dia anterior. Por padrão, é enviado todos os dias às 7h.

Alerts.Email.Enabled

Esse parâmetro é relevante apenas para novos tenants e é definido como false por padrão. Você pode defini-lo como true para habilitar os alertas por e-mail automaticamente para o tenant que você está prestes a criar.

Entretanto, após o tenant ser criado, quaisquer alterações feitas neste parâmetro não serão mais consideradas. Em vez disso, a configuração pode ser alternada através da caixa de seleção Habilitar e-mails de alertas na página Configurações. Detalhes...

NotificationDistributerJobCron

A frequência com a qual as notificações de alerta são enviadas para a interface. Por padrão, os alertas são enviados a cada 10 segundos.

PeriodicErrorMailJobCron

Permite que você configure uma expressão cron que controla a frequência com a qual os alertas por e-mail periódicos são enviados. Isso funciona apenas se os alertas por e-mail estiverem habilitados. O valor padrão é a cada 10 minutos, o que significa que o relatório contém alertas de gravidade Fatal e Erro gerados nos últimos 10 minutos. Se nenhum alerta tiver sido gerado, nenhum relatório será enviado.

PasswordComplexity

Controla as regras de validação para a complexidade da senha e é expresso usando expressões regulares. A complexidade se aplica a todas as senhas (incluindo a do administrador do host) por padrão. No entanto, cada tenant pode personalizar a complexidade da senha de logon de seu usuário na guia Segurança, na página Configurações. Por padrão, as senhas devem conter pelo menos oito caracteres, com pelo menos uma letra e um número.

SystemJobs.DetectNotRespondingRobots.MaxAlertCount

Permite que você limite o número de alertas que são enviados quando os Robôs deixam de responder. Esse parâmetro pode ser útil se sua instância do Orchestrator lidar com um número muito grande de Robôs, e a maioria deles deixa de responder com frequência. Observe que ele não é exibido no arquivo de configuração por padrão. Por exemplo, se você quiser limitar o número de alertas que você recebe para Robôs que não respondem a 10, adicione <add key="SystemJobs.DetectNotRespondingRobots.MaxAlertCount" value="10" /> no arquivo UiPath.Orchestrator.dll.config, sob todos os outros parâmetros de alertas. Se você aplicar essa configuração, observe que um aviso será relatado no Visualizador de Eventos quando o número total de alertas for maior do que o configurado como: Alerts not published: total number of unresponsive sessions (21) is bigger than the configured max allowed (10)..

SystemJobs.LicenseExpirationAlert.DaysBefore

Permite que você defina os intervalos de tempo antes da data de expiração da licença quando você receber alertas por e-mail. O valor padrão é 180,90,30,14,7,1, o que significa que você recebe alertas por e-mail seis vezes: 180, 90, 30, 14, sete e um dia antes da sua licença expirar. Você pode definir menos valores para reduzir a frequência dos alertas por e-mail. Por exemplo, isso pode ser feito adicionando a seguinte chave no arquivo UiPath.Orchestrator.dll.config: <add key="SystemJobs.LicenseExpirationAlert.DaysBefore" value="90,30,14" />.

Implantação

O Orchestrator usa um repositório composto. Os metadados do pacote são salvos no banco de dados SQL para pesquisa e filtragem mais rápidos. Os pacotes são salvos no local especificado por meio dos parâmetros Storage.Type e Storage.Location.
Observação: o uso de comandos de copiar e colar não é compatível na pasta dedicada aos pacotes.

Storage.Type

Define o destino no qual os pacotes e a mídia de execução são salvos. Pode ser preenchido com os seguintes destinos:

  • 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

Define o local real no qual os pacotes e a mídia de execução são salvos.

Importante:
O parâmetro Storage.Location é obrigatório quando:
  • atualizando de qualquer versão pré-2020.10 do Orchestrator, e
  • o NuGet.Repository.Type anterior foi Legacy, e
  • o NuGet.Packages.Path anterior não usou o valor padrão.

Destino

Location

FileSystem

Forneça um caminho absoluto usando o seguinte formato: RootPath=C:\FolderName\AnotherFolderName.
Exemplo: <add key="Storage.Location" value="RootPath=C:\FolderName\AnotherFolderName" />.

Na pasta fornecida, a seguinte estrutura de pastas é criada:

Orchestrator-Host\Libraries - Uma pasta dedicada às bibliotecas armazenadas no feed do host.
Orchestrator-[tenantKey] - Uma pasta para cada tenant. O tenant é identificado pela chave do tenant, conforme encontrada no banco de dados. Por exemplo, Orchestrator-12ab1234-a567-456b-a12b-ab3456b123ab.

Para cada pasta do tenant, três outros subdiretórios são criados:

\ExecutionMedia

\Packages

\Libraries

Os arquivos são salvos nas pastas dedicadas no local especificado. Por padrão, eles são armazenados no seguinte caminho: C:\Program Files (x86)\UiPath\Orchestrator\Storage.

Azure

Forneça uma string de conexão.

Exemplo: <add key="Storage.Location" value="DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net" />.

Amazon

  • Forneça uma string de conexão.
Exemplo: <add key="Storage.Location" value="EndpointRegion=eu-west-3;accessKey=AKIAZGUEIGXUJ3BBI4MW;secretKey=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;useHttp=false" />.
  • Para desabilitar o acesso público a buckets do Amazon S3 recém-criados, adicioneBlockPublicAccess=trueà string de conexão. Observe que isso não causa nenhum impacto sobre os buckets existentes.
Exemplo: <add key="Storage.Location" value="EndpointRegion=eu-west-3;accessKey=AKIAZGUEIGXUJ3BBI4MW;secretKey=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;useHttp=false;BlockPublicAccess=true" />.
  • Para usar as credenciais do Amazon S3 padrão, remova AccessKey e SecretKey e adicione UseDefaultCredentials=true em vez disso. Isso permite que você use a função de IAM da máquina em uma VM do Amazon EC2.
Exemplo: <add key="Storage.Location" value="EndpointRegion=eu-west-3;UseDefaultCredentials=true" />.

Minio

Forneça uma string de conexão.

Exemplo: <add key="Storage.Location" value="host=localhost:9001;accessKey=YVKYFJ0ZY246KDKP0634;secretKey=bdBEk2ubhIFsTNPuQ80PjKL+oqZBj67HoSWBFnw1" />.

Exemplo

<add key=\"Storage.Type\" value=\"Azure\" /> <add key=\"Storage.Location\" value=\"DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net\" /><add key=\"Storage.Type\" value=\"Azure\" /> <add key=\"Storage.Location\" value=\"DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net\" />

A configuração acima instrui o Orchestrator:

  • para armazenar os metadados do pacote no banco de dados SQL;
  • para manter os arquivos reais no armazenamento do Azure Blob no local indicado pela string de conexão DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net;
  • para usar a convenção de nomenclatura padrão para o nome do contêiner do Azure - Orchestrator-tenantKey.
    Importante:

    Se você tiver mais de 99 locatários no Orchestrator, terá duas opções para evitar o limite de conta do bucket S3 da AWS.

    • Armazene seus dados em um único bucket externo, conforme instruções na seção a seguir.
    • Aumente seu limite da conta do bucket da AWS S3 para corresponder ao número de tenants.

    Isso é necessário porque um bucket separado é criado para cada tenant.

Armazenamento de dados do Orchestrator em um único bucket externo

Para usar um único bucket com seu próprio provedor de armazenamento externo, adicione os seguintes parâmetros à string de conexão correspondente:

  • BucketName — obrigatório. Permite que o Orchestrator armazene todos os tenants em um único bucket. Ele requer o nome do bucket conforme definido no seu provedor de armazenamento. Para isso, seu armazenamento externo deve existir antes da instalação do Orchestrator.
  • CanCreateBucket - Opcional. Se definido como verdadeiro, ele permite que o Orchestrator crie o bucket no seu armazenamento externo em seu nome. O valor padrão é falso.
Observação: ao usar esse parâmetro, certifique-se de conceder ao Orchestrator as permissões adequadas para criar um bucket no seu armazenamento externo. Caso contrário, a instalação falha.
  • ContentPrefix — opcional. Especifica o caminho dos dados do Orchestrator dentro do armazenamento externo. Por exemplo, orchestrator/data.
Observação: esses parâmetros se aplicam às cadeias de conexão de provedores de armazenamento externos, como Azure, Amazon ou Minio. Eles não se aplicam ao armazenamento FileSystem.

Exemplo: usando um bucket único com seu próprio provedor de armazenamento externo

<add key="Storage.Location" value="DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net;BucketName=UiPath;ContentPrefix=orchestrator/data" /><add key="Storage.Location" value="DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net;BucketName=UiPath;ContentPrefix=orchestrator/data" />

NuGet.Packages.ApiKey

A chave da licença da sua conta do NuGet. Se as atividades e pacotes forem armazenados no mesmo feed do NuGet, o valor desse parâmetro deverá ser idêntico ao do NuGet.Activities.ApiKey. O valor padrão é usado na geração inicial do banco de dados. Observe que strings arbitrárias também são aceitas.

NuGet.Activities.ApiKey

A chave da licença da sua conta do NuGet. Se as atividades e pacotes forem armazenados no mesmo feed do NuGet, o valor desse parâmetro e de NuGet.Packages.ApiKey devem ser iguais. Observe que strings arbitrárias também são aceitas.

A sincronização do pacote entre vários nós do Orchestrator e a interface pode ser feita monitorando o sistema de arquivos ou usando o Redis. Isso pode ser configurado usando a configuração abaixo. O caminho recomendado é por meio do Redis.

Processes.AllowUpdateWithRunningJobs

Especifica se você pode excluir um processo enquanto tem trabalhos em execução ou pendentes associados a ele. Observe que esse parâmetro está oculto por padrão. Os seguintes valores estão disponíveis:

  • true - Os processos podem ser excluídos enquanto tiverem trabalhos em execução ou pendentes associados.
  • false - Os processos não podem ser excluídos enquanto tiverem trabalhos em execução ou pendentes associados. Tentar excluir um processo, nesse caso, exibe a seguinte mensagem de erro: "Modificar esse processo não é possível no momento, porque há trabalhos ativos associados a ele. (#1666)". Esse é o valor padrão.
Por exemplo, se você quiser poder remover seus processos enquanto tem um trabalho em execução associado, adicione <add key="Processes.AllowUpdateWithRunningJobs" value="true" /> no arquivo UiPath.Orchestrator.dll.config.

Deployment.Libraries.AllowTenantPublish

Permite que você especifique se os tenants que usam o feed do host podem ou não carregar bibliotecas no feed. Os seguintes valores estão disponíveis:

  • true - As bibliotecas carregadas no nível do tenant são propagadas para o feed do host. Esse é o valor padrão.
  • false - As bibliotecas carregadas no nível do tenant não são propagadas para o feed do host. No entanto, observe que os usuários têm acesso às bibliotecas existentes no feed.

Você também pode fazer essa configuração a partir da interface do usuário. A opção correspondente, Permitir que usuários do tenant possam carregar no feed, pode ser encontrada no nível do host, na página Configurações.

Armazenar Buckets

Buckets.ContentSecurityPolicy

Usado para indicar os domínios fora daqueles confiáveis aos quais o Orchestrator pode fazer solicitações. Vários valores podem ser inseridos como uma lista separada por vírgulas. Esse parâmetro substitui as configurações correspondentes do Orchestrator relacionadas ao Azure e à AWS; então, certifique-se de também adicionar o Azure e/ou a AWS, se necessário. Esse parâmetro não aparece por padrão no arquivo UiPath.Orchestrator.dll.config.

Buckets.AvailableProviders

Usada para controlar quais provedores podem ser usados na criação de buckets de armazenamento. Os provedores disponíveis são: provedores de armazenamento compatíveis com Orchestrator, Amazon, Azure, Minio, S3, além de Sistema de arquivos. Vários valores podem ser inseridos com um separador por vírgulas.

Observação: por padrão, essa chave não é exibida no arquivo UiPath.Orchestrator.dll.config e apenas os seguintes provedores são selecionados: Orchestrator, Amazon, Azure, Minio e S3Compatible. O comportamento padrão é específico tanto para as instalações limpas quanto para as atualizações. Se a chave estiver visível, os provedores disponíveis serão limitados àqueles especificados como valores Buckets.AvailableProviders.

Exemplo: para usar apenas Orchestrator, Amazon e Azure como provedores de bucket de armazenamento, adicione a seguinte chave:

<add key="Buckets.AvailableProviders" value="Orchestrator,Amazon,Azure" /><add key="Buckets.AvailableProviders" value="Orchestrator,Amazon,Azure" />

Buckets.FileSystem.Allowlist

Fornece uma maneira de controlar o uso de buckets do FileSystem. A configuração vem sem nenhum valor configurado por padrão. Isso, juntamente com o fato de que o FileSystem é desabilitado por padrão tanto em novas instalações quanto em atualizações, significa que nenhum caminho do FileSystem pode ser usado inicialmente. Por razões de segurança, para usar a funcionalidade FileSystem, um Administrador deve primeiro habilitar o FileSystem e, depois, permitir explicitamente o acesso a uma lista de pastas ou compartilhamentos de rede, atribuindo valores a Buckets.FileSystem.Allowlist.
Vários valores, separados pelo caractere |, podem ser inseridos. Observe que os caminhos devem ser totalmente qualificados, seja tendo uma unidade como raiz ou um caminho da UNC (por exemplo, c:\, c: est, \\servershare\shared), e cada um representa um prefixo com permissão para ser usado para qualquer bucket. Um bucket pode ser criado naquele caminho específico ou em qualquer subcaminho.
Importante: considerando que a criação de uma lista de licenças para o FileSystem por meio da configuração Buckets.FileSystem.Allowlist tem uma série de implicações de segurança, você é altamente aconselhado a consultar Usar a Lista de Permissões de Armazenamento do FileSystem com Segurança antes de prosseguir.

Autorização

AcceptedRootUrls

Permite que você adicione uma lista de URLs confiáveis. Se nenhum valor for atribuído a essa configuração, então ninguém pode acessar o Orchestrator. Se você quiser adicionar vários URLs, faça-o sem espaços e separe os itens por meio de vírgulas (,), como "https://server1,https://server2".

Auth.Bearer.Robot.Expire

O tempo após o qual o token do portador do seu Robô expira. Por padrão, é definido como 30 minutos.

Auth.DisabledPermissions

Permite que você configure as permissões para ser desabilitado da interface do usuário e ignorado ao usar a API. Observe que esse parâmetro está oculto por padrão. As permissões precisam ser adicionadas, porque são usadas na API, e têm que ser separadas por vírgulas. Por exemplo, se quiser desabilitar as permissões Excluir em Bibliotecas e Máquinas, você precisa adicionar a seguinte chave: <add key="Auth.DisabledPermissions" value="Machines.Delete,Libraries.Delete" />.

Auth.AllowChangePassword

Permite que você configure se um usuário pode alterar sua senha por meio de API. Essa configuração não é exibida por padrão no arquivo UiPath.Orchestrator.dll.config. Os valores disponíveis são true (valor padrão) e false.

Auth.AllowSelfEmailUpdate

Permite que você configure se um usuário pode alterar seu endereço de e-mail na seção Geral, na página Perfil. Por padrão, o parâmetro é definido como true, o que significa que você pode atualizá-lo. Defina o parâmetro como false para tornar o campo somente leitura. Esta configuração não é exibida por padrão no arquivo UiPath.Orchestrator.dll.config.

ExternalAuth.AccessTokenAuth.Enabled

Permite que você configure se você pode se autenticar no Orchestrator usando um token de acesso do portador emitido por Auth0. Esta configuração não é exibida por padrão no arquivo UiPath.Orchestrator.dll.config. Os seguintes valores estão disponíveis:
  • true - O usuário pode fazer solicitações autenticadas usando um token de acesso emitido por Auth0. Isso é considerado apenas se você definir um público válido para o parâmetro ExternalAuth.AccessTokenAuth.Audience.
  • false - O usuário não pode fazer solicitações autenticadas usando um token de acesso emitido por Auth0. Esse é o valor padrão.

ExternalAuth.AccessTokenAuth.Audience

Permite que você controle o público do token de acesso. Esse parâmetro precisa ser definido para um público válido, que é usado para verificar em relação ao público do token de Auth0. Por exemplo, se você quiser definir o público como https://cloud.uipath.com, você precisa adicionar a seguinte chave: <add key="ExternalAuth.AccessTokenAuth.Audience" value="https://cloud.uipath.com" />. Esta configuração não é exibida por padrão no arquivo UiPath.Orchestrator.dll.config.

ExternalAuth.ShowPII

Permita a exibição de PII do Orchestrator adicionando a seguinte chave: <add key="ExternalAuth.ShowPII" value="true" />. A chave não é exibida por padrão em UiPath.Orchestrator.dll.config, e o comportamento padrão não permite a exibição de PII.

RestrictBasicAuthentication

EnableBasicAuthenticationForHostTenant

Load balancer

Essas configurações devem ser modificadas apenas se você estiver usando um balanceador de carga.

LoadBalancer.UseRedis

Use o Redis como um banco de dados para distribuir mensagens e cache para e de todas as máquinas conectadas por meio do seu balanceador de carga. Por padrão, é definido como false.

LoadBalancer.Redis.ConnectionString

Pode ser usado apenas se LoadBalancer.UseRedis estiver definido como true. Uma string de conexão que permite que você configure seu servidor do Redis, que contém o URL do servidor, a senha e a porta usada com o Redis. Todos os nós do cluster HAA devem ser adicionados na string de conexão.

Também é possível habilitar as conexões criptografadas por SSL entre os nós do Orchestrator e o serviço do Redis. Para obter mais informações, clique aqui. Exemplos:

  • com SSL habilitado - <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" />
  • sem SSL habilitado -<add key="LoadBalancer.Redis.ConnectionString" value="10.10.20.184:10000,10.10.24.148:10000,10.10.22.114:10000,password=12345678" />

Cofre de senhas

Plugins.SecureStores

Esta configuração deve ser atualizada para incluir os plugins de quaisquer armazenamentos de credenciais que você estiver usando. Você pode escolher uma das seguintes opções: CyberArk, CyberArk CCP, Azure Key Vault, Thycotic Secret Server, BeyondTrust, and HashiCorp Vault. Os plug-ins de armazenamento de credenciais estão localizados na pasta \Orchestrator\Plugins do seu diretório de instalação. Por exemplo:
  • Loja única: <add key="Plugins.SecureStores" value="UiPath.Orchestrator.CyberArk.dll"/>
  • Várias lojas: <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" />
    Observação: ao atualizar uma instância do Orchestrator com uma integração existente do CyberArk, essa configuração é pré-preenchida com o plug-in do CyberArk. Para todas as outras instalações, o valor de configuração está vazio por padrão.

Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath

Permite que o plug-in do CyberArk procure o CLIPasswordSDK64.exe em um caminho de instalação personalizado. Por exemplo, se D:\CustomFolder\ for o diretório de instalação do CyberArk, você precisará adicionar a seguinte chave: <add key="Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath" value="D:\CustomFolder\CLIPasswordSDK64.exe"/>. O valor padrão dessa configuração do aplicativo é C:\Program Files (x86)\CyberArk\ApplicationPasswordSdk\CLIPasswordSDK64.exe.

Plugins.SecureStores.CyberArk.UsePowerShellCLI

Permite a recuperação de credenciais de um cofre do CyberArk ao usar a autenticação do caminho. A chave está oculta por padrão. O valor padrão é false. Adicione a seguinte chave para habilitá-la: <add key="Plugins.SecureStores.CyberArk.UsePowerShellCLI" value="true"/>.

Plugins.SecureStores.CyberArkCCP.KeyStorageFlags

Habilita a escolha de onde armazenar e como importar a chave privada do certificado do cliente configurada para um armazenamento de credenciais do CyberArk CCP.

Os valores que podem ser definidos para esse parâmetro são descritos aqui, com DefaultKeySet sendo a opção padrão.
Observe que o EphemeralKeySet não funciona em máquinas do Windows. Em vez disso, recomendamos usar o MachineKeySet.

Autenticação do Azure AD

A configuração para a autenticação do Azure AD foi movida para a página Provedores Externos do Identity Server.

Autenticação do Active Directory

A configuração para autenticação do Active Directory é realizada após a instalação a partir do portal de gerenciamento do Orchestrator.

Para obter instruções, consulte a página Configuração da integração do Active Directory.

Logs

Logs.RobotLogs.ReadTarget

Permite que você configure a origem a partir do qual o Orchestrator lê e preenche logs (por exemplo, database ou robotelasticbuffer).

RobotsLogs.Flush.Interval

Essa configuração permite que você altere o intervalo de descarga para o endpoint do SubmitLogs. Observe que ele não é exibido por padrão em UiPath.Orchestrator.dll.config. A menos que haja outra especificação, seu valor é de 0 segundo. O exemplo a seguir mostra como definir um intervalo de descarga de 60 segundos, o que significa que o Robô envia logs para o servidor a cada 60 segundos.
<add key="RobotsLogs.Flush.Interval" value="60" /><add key="RobotsLogs.Flush.Interval" value="60" />
Importante: se UiPath Robot desconectar antes que o intervalo de descarga seja concluído, o último lote de logs será enviado na próxima vez em que se conectar ao Orchestrator.

RobotsLogs.Flush.BatchSize

O objetivo dessa configuração é ajustar o tamanho da liberação para o ponto de extremidade do SubmitLogs. Por padrão, não é exibido no UiPath.Orchestrator.dll.config. A não ser que seja especificado de outra forma, seu valor é 100 entradas de mensagens de log, que se traduz como o Robô enviando lotes de 100 logs para o servidor.
<add key="RobotsLogs.Flush.BatchSize" value="100" /><add key="RobotsLogs.Flush.BatchSize" value="100" />

Logs.RequestAbortedLogBehavior

Especifica o comportamento do registro em log para as exceções de cancelamento, que são geradas após o cancelamento de uma operação que estava sendo executada. Elas são geradas, por exemplo, quando você clica em um botão e, antes que a operação seja executada, você clica em um outro. Observe que esse parâmetro está oculto por padrão. Os seguintes valores estão disponíveis:

  • Ignore - Todas as exceções de cancelamento serão ignoradas se as solicitações correspondentes forem canceladas. Esse é o valor padrão.
  • Info - As exceções de cancelamento são registradas com o nível de gravidade Info.
  • None - As exceções de cancelamento são registradas com o nível de gravidade Erro.
Por exemplo, se você não quiser que qualquer exceção de cancelamento seja registrada, adicione <add key="Logs.RequestAbortedLogBehavior" value="Ignore" /> no arquivo de configuração.

Logs.Elasticsearch.SharedIndex

Permite que você faça o log do mesmo índice para todos os tenants. Deve ser definido com o mesmo valor usado para o parâmetro index no destino do NLog. Por exemplo, <add key="Logs.Elasticsearch.SharedIndex" value="robotlogs" />. Consulte os detalhes aqui. Observe que esse parâmetro está oculto por padrão.

Logs.Elasticsearch.EnableFolderIdFilter

Controle a visibilidade dos logs gerados antes da 2019.10 que não podem ser filtrados pela pasta que os contém na página Logs. O parâmetro é definido como true por padrão, o que significa que os logs estão ocultos. Defina-o como false para exibi-los: <add key="Logs.Elasticsearch.EnableFolderIdFilter" value="false" />

Logs.Elasticsearch.Username

O nome de usuário necessário para ler logs no Elasticsearch. Observe que é necessário configurar esse parâmetro apenas se a autenticação do Elasticsearch estiver habilitada, e se você não usar um destino do NLog. Ao configurar o parâmetro, certifique-se de que o valor corresponda às configurações do servidor do Elasticsearch. Para obter mais detalhes, consulte Autenticação do X-Pack.

Logs.Elasticsearch.Password

O nome de usuário necessário para ler logs no Elasticsearch. Observe que é necessário configurar esse parâmetro apenas se a autenticação do Elasticsearch estiver habilitada, e se você não usar um destino do NLog. Ao configurar o parâmetro, certifique-se de que o valor corresponda às configurações do servidor do Elasticsearch. Para obter mais detalhes, consulte Autenticação do X-Pack.

Logs.Elasticsearch.OAuthEnabled

Defina esse parâmetro como truepara habilitar o OAuth2 e usar um mecanismo de autenticação baseado em tokens para ler logs de robôs no Elasticsearch, como uma alternativa para o sistema de usuário e senha. Por padrão, este parâmetro é definido como false.

Quando se habilita a autenticação OAuth, ainda é necessário fornecer o nome de usuário e a senha como no método de autenticação padrão. Isso é necessário porque o token inicial é gerado com base nessas credenciais.

Consulte a Autenticação OAuth2 para obter instruções detalhadas sobre como configurar a autenticação OAuth2 para o Elasticsearch.

Logs.Elasticsearch.OAuthExpireInSeconds

Permite que você defina o tempo (em segundos) antes que o token de acesso usado para ler logs de robôs no Elasticsearch expire e seja atualizado. Seu valor padrão e recomendado é de 1200 segundos (20 minutos), e seu valor máximo é de 3600 segundos (60 minutos). Para invalidar um token, você pode usar o botão dedicado disponível na IU do Orchestrator.

Antes de alterar a validade do token, certifique-se de que Logs.Elasticsearch.OAuthEnabledesteja definido como true e que você tenha configurado corretamente o servidor do Elasticsearch. Para obter mais informações sobre isso, consulte a Autenticação OAuth2.

Logs.Elasticsearch.DisableProductCheckStatus

Permite selecionar uma versão do Elasticsearch anterior a 7.16.3. Para fazer isso, deve ser definido como true.
Este parâmetro está oculto e seu valor padrão é false.
Funciona em conjunto com o disableProductCheckStatus no arquivo Nlog, que também está oculto e false por padrão. Ele também deve ser definido como true para ativar o recurso.

Webhooks

Mais configurações de webhooks estão disponíveis no Webhooks AppSettings.json.

Webhooks.VerifyAvailability.Enabled

Verifica se um destino de webhook é acessível ao configurá-lo na interface do usuário. Por padrão, é definido como true, o que significa que a funcionalidade está habilitada.

Escalabilidade

Scalability.Heartbeat.PeriodSeconds

O intervalo de tempo, expresso em segundos, no qual o Robô envia uma pulsação para o Orchestrator, permitindo que este conheça seu status. Por padrão, é definido como 30 segundos.

Scalability.Heartbeat.FailureThreshold

O número de pulsações com falhas sucessivas enviadas por um Robô até que seja marcado como sem resposta no Orchestrator. Por padrão, é definido como 4, o que significa que após 2 minutos de pulsações com falha (4 x 30 segundos = 2 minutos), um Robô é sinalizado como sem resposta.

Scalability.SignalR.Enabled

Especifica se o serviço do Robô deve se inscrever nos canais SignalR do Orchestrator. Por padrão, é definido como true. Esse parâmetro é usado na geração inicial do banco de dados. Para fazer alterações após a instalação, use a página Configurações, no nível do tenant ou do host.

Scalability.SignalR.Transport

Especifica o protocolo de transporte usado para se conectar aos canais do SignalR do Orchestrator. Os seguintes valores podem ser atribuídos (qualquer combinação - operador binário OR):

  • WebSocketTransport = 1
  • ServerSentEventsTransport = 2
  • LongPollingTransport = 4
  • Valor padrão: 7 (WebSocketTransport | ServerSentEventsTransport | LongPollingTransport)

Esse parâmetro é usado na geração inicial do banco de dados. Para fazer alterações após a instalação, use a página Configurações, no nível do tenant ou do host.

Scalability.AzureSignalR.ConnectionString

Ajuda você a habilitar o serviço Azure SignalR, facilitando a comunicação direta entre sua frota de Robôs e o serviço SignalR

O Orchestrator não o intermedia mais. Essa opção deve ser usada apenas se você tiver uma instância do Orchestrator hospedada no Azure. Pode ser usado em conjunto com a chave Scalability.AzureSignalR.ConnectionCount. Esse parâmetro está habilitado em nossas Ofertas de nuvem. Ele não é exibido por padrão no arquivo UiPath.Orchestrator.dll.config.
Observe que, se habilitado, Robôs com uma versão inferior à 2019.2 contarão apenas com o protocolo de pulsação para se comunicar com o Orchestrator, o que significa que qualquer comando dado pelo Orchestrator será coletado por um Robô a cada 30 segundos. Para habilitar esse parâmetro, preencha seu valor com a string de conexão para o serviço do Azure. Exemplo: <add key="Scalability.AzureSignalR.ConnectionString" value="Endpoint=https://test.signalr.net;AccessKey=M1ug+sBu07hyyi12AgyJ52SEd4OgC2Mm6BvllVHCC9c=;Version=1.0;" />.

Scalability.AzureSignalR.ConnectionCount

Permite que você altere o número de conexões (por hub) entre o servidor e o serviço do Azure SignalR. O valor padrão é 5. Exemplo: <add key="Scalability.AzureSignalR.ConnectionCount" value="7" />. Essa configuração não é exibida por padrão e não pode ser usada sem a chave Scalability.AzureSignalR.ConnectionString.

Scalability.SignalR.RequireStickySessions

Habilitar sessões fixas. Se estiver definido como true, todos os transportes estão habilitados e o Orchestrator supõe que sessões fixas estão habilitadas no balanceador de carga. Habilitar as sessões fixas em UiPath.Orchestrator.dll.config sem habilitá-las no balanceador de carga resultará em conexões do SignalR com falha.

Análise

Telemetry.Enabled

Habilita ou desabilita a coleta de dados de uso e desempenho que a UiPath usa para ajudar a diagnosticar problemas e melhorar o Orchestrator. Para obter mais detalhes sobre as práticas de privacidade da UiPath, examine a declaração de privacidade. Os seguintes valores estão disponíveis:

  • true - A funcionalidade de telemetria está habilitada. Esse é o valor padrão.
  • false - A funcionalidade de telemetria está desabilitada.

É possível optar por ativar ou desativar a coleta de dados de desempenho e uso quando você instalar ou atualizar sua instância do Orchestrator, conforme descrito aqui.

Gravação de mídia

MediaRecording.Enabled

Defina-o como false para desabilitar a funcionalidade de gravação. Por padrão, é definido como true, o que significa que a funcionalidade está habilitada. O armazenamento de arquivos é configurado usando os parâmetros Storage.Type e Storage.Location.

Paginação

Pagination.Limits.Enabled

Definido como true por padrão para o Cloud Platform e apaga instalações de instâncias do On-Premises Orchestrator. Adiciona um valor $top padrão a todas as chamadas para endpoints da API com parâmetros de paginação (por exemplo, odata/Users).

Gatilhos

Triggers.DisableWhenFailedCount

Você pode configurar um gatilho para ser desabilitado automaticamente após um certo número de inicializações com falha e nenhuma execução bem-sucedida ocorrendo em um número específico de dias. Neste contexto, Triggers.DisableWhenFailedCount permite que você ajuste o número de execuções com falha, enquanto que Triggers.DisableWhenFailingSinceDays permite que você altere o número de dias. Por padrão, o valor de Triggers.DisableWhenFailedCount é 10, e o valor de Triggers.DisableWhenFailingSinceDays é 1, o que significa que o gatilho é desabilitado após 10 tentativas de inicialização mal-sucedidas, se não houver execuções bem-sucedidas no dia anterior.
Para impedir que gatilhos sejam desabilitados ao falharem, você deve definir Triggers.DisableWhenFailedCount como 0.

Um gatilho é desabilitado automaticamente se experimentar 10 inicializações consecutivas com falha e não tiver sido iniciado com sucesso nas últimas 24 horas.

Triggers.JobsCountStrategy

Permite que você escolha a estratégia de contagem de trabalhos para trabalhos iniciados por meio de gatilhos. Oculto por padrão. As seguintes opções estão disponíveis:

  • PerProcess - Um gatilho inicia o número necessário de trabalhos, levando em consideração quaisquer trabalhos pendentes para o processo especificado. Por exemplo, dois gatilhos definidos para o mesmo processo iniciam três e cinco trabalhos, respectivamente. Se o primeiro gatilho iniciar três trabalhos em um determinado momento, quando o segundo gatilho for acionado, dois trabalhos serão iniciados para atingir os cinco trabalhos necessários. Adicione a seguinte chave no arquivo de configuração para usar essa estratégia: <add key="Triggers.JobsCountStrategy" value="PerProcess" />. Esse é o valor padrão.
  • PerTrigger - Um gatilho inicia o número necessário de trabalhos, levando em consideração quaisquer trabalhos existentes iniciados anteriormente pelo mesmo gatilho. Por exemplo, um gatilho é definido para iniciar nove trabalhos em um determinado momento. Se dois trabalhos tiverem sido concluídos com sucesso no momento em que esse gatilho for acionado novamente, o Orchestrator iniciará outros dois trabalhos, para atingir os nove trabalhos necessários. Adicione a seguinte chave no arquivo de configuração para usar essa estratégia: <add key="Triggers.JobsCountStrategy" value="PerTrigger" />.
  • NoLimit - O gatilho inicia o número necessário de trabalhos, independentemente de quaisquer trabalhos existentes pendentes. Por exemplo, um gatilho é definido para iniciar cinco trabalhos em um determinado momento. Na segunda vez em que o gatilho for acionado, outros cinco trabalhos serão iniciados. Adicione a seguinte chave no arquivo de configuração para usar essa estratégia: <add key="Triggers.JobsCountStrategy" value="NoLimit" />.

Features.QueueTriggers.PendingJobsStrategy

Permite que você escolha o método de computação para o número de trabalhos adicionais a serem acionados quando novos itens forem adicionados à fila. Isso é feito subtraindo o número de trabalhos em um determinado estado do número máximo de trabalhos a serem criados.

As seguintes opções estão disponíveis:

  • True - Essa é a opção padrão. É mais adequado para casos nos quais você quer que o Orchestrator assuma que todos os trabalhos em execução já moveram itens de fila para fora do status Novo.

    O número é calculado da seguinte forma:

    Máximo de trabalhos adicionais a serem criados com base em itens de fila disponibilizados recentemente = o número máximo de trabalhos pendentes e em execução permitidos simultaneamente menos o número de trabalhos em um estado Pendente.

  • False - Esta opção é mais adequada para casos em que você quer que o Orchestrator suponha que todos os trabalhos em execução ainda não retiraram os itens de fila do status Novo.

    O número é calculado da seguinte forma:

    Máximo de trabalhos adicionais a serem criados com base em itens de fila disponibilizados recentemente = o número máximo de trabalhos pendentes e em execução permitidos simultaneamente menos o número de trabalhos em um destes estados: Pendente, Retomado, Em execução, Parando, Encerrando.

Outros

PreventAutoRefresh.Enabled

Controle se a página Trabalhos no menu Monitoramento será atualizada automaticamente ou não para cada trabalho recém-criado. A chave <add key="PreventAutoRefresh.Enabled" value="true" /> pode ser adicionada para restringir a atualização automática da página quando houver trabalhos em execução. A chave não é exibida por padrão, e o valor padrão é false, o que significa que o Orchestrator atualizará automaticamente a página para cada novo trabalho.
A página é atualizada quando os filtros são aplicados ou os estados de trabalho alterados, independentemente do parâmetro PreventAutoRefresh.Enabled.

Features.ClassicFolders.Enabled

Controla se o modelo de pastas clássicas está habilitado. O valor padrão é false, o que significa que pastas clássicas estão desabilitadas, e apenas pastas modernas estão disponíveis. Esse parâmetro está oculto por padrão.

Jobs.TerminatingJobsTimeout

Configure o tempo decorrido até que os trabalhos em Encerramento se tornem adequados para serem marcados como Falha. O valor padrão é 1440, o que significa que os trabalhos não podem ser marcados como Falha a menos que estejam em um estado de Encerramento por pelo menos um dia. Esse parâmetro está oculto por padrão.

Jobs.TerminatingJobsCleanupCron

Configure uma expressão cron que controla a frequência do trabalho em segundo plano que marca trabalhos em estado de Encerramento como Falha. Os trabalhos não podem ser marcados como Falha a menos que estejam em um estado de Encerramento por pelo menos a duração definida no parâmetro Jobs.TerminatingJobsTimeout. Os valores padrão são 0 0 0/3 1/1 * ? * para Jobs.TerminatingJobsCleanupCron, e 1440 para Jobs.TerminatingJobsTimeout, o que significa que o trabalho em segundo plano é executado uma vez a cada três horas, e apenas as transições para Falha nos trabalhos que estiveram em um estado de Encerramento por pelo menos um dia. Esse parâmetro está oculto por padrão.

PW.StopExploringCron

Configure uma expressão cron que controla a frequência de um trabalho em segundo plano que verifica se os usuários que exploram espaços de trabalho pessoais ainda têm as permissões necessárias (Exibir e Editar em Pastas) para explorá-las. O valor padrão é 0 25 * ? * *, o que significa que o trabalho em segundo plano é executado no minuto 25 de cada hora. Se não tiverem as permissões necessárias, as sessões de exploração serão encerradas. Esse parâmetro está oculto por padrão.

Features.LongRunning.Enabled

Configure se os fluxos de trabalho de execução prolongada são compatíveis com a sua instância ou não. Adicione a seguinte chave para habilitá-la: <add key="Features.LongRunning.Enabled" value="true" />.

Tasks.ModuleEnabled

Configure se a funcionalidade Actions está habilitada na sua instância. Adicione a seguinte chave para habilitá-la: <add key="Tasks.ModuleEnabled" value="true" />. Essa configuração disponibiliza a funcionalidade no nível da instância. Para configurá-la em uma base por tenant, siga as etapas aqui. O parâmetro Features.LongRunning.Enabled precisa ser definido como true para que essa configuração entre em vigor.

Features.SmartCardAuthentication.Enabled

Configure se a autenticação do smartcard está habilitada ou não na sua instância. Adicione a seguinte chave para habilitá-la: <add key="Features.SmartCardAuthentication.Enabled" value="true" />.

OData.BackwardsCompatible.Enabled

Permite que você controle a forma como os caracteres especiais são analisados na API do Orchestrator. Se estiver definido como true, caracteres especiais no corpo de solicitações e respostas serão analisados. Por padrão, esse parâmetro está oculto e definido como false.

NotRespondingRobotsJobStartDelay

Permite que você defina um atraso, em segundos, da primeira verificação realizada no status dos seus Robôs após uma atualização. Esse parâmetro não é exibido por padrão em UiPath.Orchestrator.dll.config.

Upload.Queues.MaxNumberOfItems

Permite que você reduza o número máximo de itens que podem ser carregados ao mesmo tempo usando a funcionalidade de upload em massa. O valor padrão é 15000. Observe que esse parâmetro não é exibido por padrão em UiPath.Orchestrator.dll.config.

Processes.FilterOutDeleted

Permite que você otimize como o Orchestrator recupera processos. A otimização é alcançada removendo verificações desnecessárias para processos órfãos cujos pacotes associados foram excluídos. Isso melhora o desempenho geral da sua instância, especialmente se for uma grande implantação. Os seguintes valores estão disponíveis:

  • false - A recuperação dos pacotes é otimizada; as verificações não são executadas para processos órfãos.
  • true - A recuperação do pacote não está otimizada.
Observe que esse parâmetro está oculto e definido como true por padrão, o que significa que a recuperação do processo não está otimizada.

CertificatesStoreLocation

Especifique o certificado para sua instância do Orchestrator ser instalada no armazenamento de certificados da máquina local usando a seguinte configuração: <add key="CertificatesStoreLocation" value="LocalMachine" />. Certifique-se de que o AzureKeyVaultCertificateStoreLocation no appsettings.Production.json tenha valor igual.

ProxyIntegration.Enabled

Fornece uma maneira de controlar a integração do proxy. Por padrão, o parâmetro não é exibido em UiPath.Orchestrator.dll.config, e seu valor é definido como true, o que significa que a integração do proxy está habilitada, a não se que haja outra especificação. Use <add key="ProxyIntegration.Enabled" value="false"/> para desabilitar a integração do proxy.

SecureAppSettings

Chave de encriptação

A chave de criptografia usada para proteger senhas em ativos de credenciais. Se você estiver usando um ambiente com um balanceador de carga de rede, essa chave deve ser igual para todas as máquinas.

Os seguintes parâmetros permitem que você configure seu Azure Key Vault, onde você pode armazenar suas chaves de criptografia baseadas no tenant. Observe que esses parâmetros podem ser usados apenas se EncryptionKeyPerTenant.Enabled estiver definido como true, e EncryptionKeyPerTenant.KeyProvider definido como AzureKeyVault. Além disso, certifique-se de fornecer todas as permissões de chaves, segredos e certificados para sua instância do Orchestrator, nas políticas de acesso de seu Azure Key Vault. Para o procedimento completo, consulte essa página.

Azure.KeyVault.ClientId

O ID do aplicativo da sua instância do Orchestrator. Ela pode ser encontrada no Azure em Registros de aplicativos e deve ter o formato ae11aa1a-1234-1234-a123-a12a12aaa1aa. Essa configuração não é exibida por padrão no arquivo UiPath.Orchestrator.dll.config. Exemplo: <add key="Azure.KeyVault.ClientId" value="ae11aa1a-1234-1234-a123-a12a12aaa1aa" />.

Azure.KeyVault.CertificateThumbprint

A impressão digital gerada pelo Azure para o certificado do Orchestrator. Você pode encontrar esse valor no Azure em Serviços de aplicativos > Sua instância > Configurações SSL > Certificados privados (ou Certificados públicos). Essa configuração não é exibida por padrão no arquivo UiPath.Orchestrator.dll.config. Exemplo: <add key="Azure.KeyVault.CertificateThumbprint" value="1234123412341234123412341234124312341234" />.

Azure.KeyVault.VaultAddress

O nome do DNS do seu Azure Key Vault. Ele pode ser encontrado na Visão geral de seu cofre, no campo Nome do DNS, e deve ter o formato https://CustomVaultName.vault.azure.net/. Essa configuração não é exibida por padrão no arquivo UiPath.Orchestrator.dll.config. Exemplo: <add key="Azure.KeyVault.VaultAddress" value="https://CustomVaultName.vault.azure.net/" />.

Azure.KeyVault.DirectoryId

Indique o ID do diretório da sua organização conforme exibido no portal do Azure. Obrigatório se você armazenar chaves de criptografia por tenant no Azure Key Vault. Exemplo: <add key="Azure.KeyVault.DirectoryId" value="c9d0e174-684e-469e-84ea-d32c863ad534" />.

Configurações do Servidor de Identidade

Esta seção contém definições para configurar tokens de acesso do S2S e tokens de acesso de provisionamento do Robô.

Integração

Para propagar dados com segurança para o Identity Server, o Orchestrator precisa de um token de acesso para a autenticação de token. Esse token é obtido do Servidor de Identidade por meio do fluxo de credenciais do cliente (S2S). As seguintes chaves devem ser adicionadas a UiPath.Orchestrator.dll.config:

IdentityServer.GroupMembershipCacheExpireHours

Permite especificar a quantidade de tempo, em horas após a qual o cache de grupos do Identity Server adicionados ao Orchestrator expira. Este parâmetro não é visível por padrão e seu valor padrão é 1

IdentityServer.Integration.Enabled

Habilita/desabilita a integração do Identity Server ao Orchestrator. Por padrão, o valor é definido como true.

IdentityServer.Integration.Authority

Permite que você defina o local do Identity Server. Por padrão, o valor é definido como https://Orchestrator/Identity, onde Orchestrator é o endereço de instalação de seu Orchestrator.

IdentityServer.Integration.ClientId

Permite que você defina o ID do aplicativo (ID do cliente) usado para gerar tokens de acesso do S2S registrados dentro do Identity Server. O valor é gerado no momento da instalação.

IdentityServer.Integration.ClientSecret

Permite que você defina o Segredo do cliente para que o aplicativo Orchestrator S2S seja reconhecido pelo Identity Server. O valor é gerado no momento da instalação.

IdentityServer.Integration.AccessTokenCacheBufferInSeconds

Permite que você defina o tempo em segundos antes que o buffer do cache do token de acesso expire. Por padrão, o valor é definido como 50.

IdentityServer.Integration.UserOrchestratorApiAudience

O Identity Server pode gerar vários tokens de acesso com diferentes públicos. As solicitações de APIs do Orchestrator podem ser autorizadas usando tokens de acesso do usuário que têm esse público. Por padrão, o valor é definido como 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" /><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" />
Para consumir tokens de acesso de credencial do cliente (S2S) gerados pelo Identity Server, o Orchestrator precisa que as seguintes chaves sejam adicionadas a UiPath.Orchestrator.dll.config:

IdentityServer.Integration.S2SOrchestratorApiAudience

Permite que você defina o público que o Orchestrator verificará ao validar um token de acesso do S2S. Por padrão, o valor é definido como OrchestratorApiS2SAccess.
Certifique-se de que UiPath.Orchestrator.dll.config também contenha as seguintes chaves preexistentes, com seus valores definidos como true:

MultiTenancy.AllowHostToAccessTenantApi

Quando definido como true, permite que os usuários do host acessem dados específicos de outros tenants. Por padrão, o valor é definido como true.

MultiTenancy.TenantResolvers.HttpGlobalIdHeaderEnabled

Quando o Orchestrator recebe uma chamada de API autorizada usando o token de acesso S2S, uma configuração true permite que o Orchestrator identifique o tenant ao ler o ID global do tenant do cabeçalho da solicitação do API.
<add key="IdentityServer.Integration.S2SOrchestratorApiAudience" value="OrchestratorApiS2SAccess" />
<add key="MultiTenancy.AllowHostToAccessTenantApi" value="true" />
<add key="MultiTenancy.TenantResolvers.HttpGlobalIdHeaderEnabled" value="true" /><add key="IdentityServer.Integration.S2SOrchestratorApiAudience" value="OrchestratorApiS2SAccess" />
<add key="MultiTenancy.AllowHostToAccessTenantApi" value="true" />
<add key="MultiTenancy.TenantResolvers.HttpGlobalIdHeaderEnabled" value="true" />

Tokens de acesso de provisionamento do Robô

O Orchestrator funciona como um gerador de tokens para Robôs. Os Robôs chamam o endpoint do Orchestrator para gerar um token de acesso. O token de acesso é passado para atividades que podem chamar diferentes recursos, como o AI Fabric. Com a integração do Identity Service com o Orchestrator, o Identity Server assume a geração de tokens de acesso.

Atualizar configurações do servidor

Esta seção contém parâmetros para configurar o servidor de atualização.

UpdateServer.CheckUpdates.PollingInterval

Com que frequência o cliente verifica as atualizações. O valor padrão é 180 minutos.

UpdateServer.CheckUpdates.DefaultForceInstallAfterMinutes

Após quantos minutos, uma atualização forçada começa se a atualização tiver sido adiada. O valor padrão é 1440 minutos.

UpdateServer.CheckUpdates.ScheduledForceInstallAfterMinutes

Após quantos minutos, uma atualização forçada começa se a atualização tiver sido adiada. Isso é específico para atualizações agendadas. O valor padrão é 10 minutos.

UpdateServer.CheckUpdates.MaxRetries

Quantas vezes uma falha de atualização é repetida. O valor padrão é 3.

UpdateServer.UpdateRequest.RetryStepMinutes

Como a nova tentativa é realizada com base na série cronológica.

Exemplo:

  • Primeira nova tentativa: após o valor configurado em minutos.
  • Segunda nova tentativa: após duas vezes o valor configurado em minutos.
  • Terceira nova tentativa: após quatro vezes o valor configurado em minutos.

Configuração de registro em log

Logs do Robot

Essa é a chave UiPath.Orchestrator.dll.config correspondente: <logger name="Robot.*" writeTo="database,robotElasticBuffer" final="true" />. Ela é usada para configurar as mensagens de log geradas pelos Robôs. Os seguintes parâmetros devem ser configurados:
  • writeTo - O local onde as mensagens de log geradas pelo Robot são gravadas. Os seguintes valores estão disponíveis:
    • database - Os logs são enviados para o banco de dados SQL do Orchestrator. Esse é um dos valores padrão.
    • robotElasticBuffer - Os logs são enviados para o Elasticsearch. Esse é o segundo valor padrão. Lembre-se de que isso requer configurações adicionais. Consulte os detalhes aqui.

      Ter logs enviados para o banco de dados SQL do Orchestrator e o Elasticsearch permite que você tenha logs de não repúdio. Exclua um dos valores para interromper o logon para esse local.

  • final - Um sinalizador que indica o que fazer quando uma correspondência entre uma mensagem registrada e o nome do logger é encontrada. Quando definido como true, ele não procura outra correspondência. Quando definido como false, outras regras que correspondem à mesma origem são marcadas. Por padrão, é definido como true.

Logs de monitoramento

Essa é a chave UiPath.Orchestrator.dll.config correspondente: <logger name="Monitoring.*" writeTo="monitoring" minlevel="Warn" final="true" />. Ele é usado para configurar os logs de erro exibidos na página Monitoramento. Observe se você remover essa regra ou alterar a target, nenhum log de erro será exibido na página Monitoramento.

Logs de exceções de negócios

Essa é a chave UiPath.Orchestrator.dll.config correspondente: <logger name="BusinessException.*" minlevel="Info" writeTo="businessExceptionEventLog" final="true" />. É usada para configurar os logs para exceções de negócios geradas. Por exemplo, problemas de validação (por exemplo, Invalid username) ou conflitos de negócios (por exemplo, License expired).

Outros logs

Essa é a chave UiPath.Orchestrator.dll.config correspondente: <logger name="*" minlevel="Info" writeTo="eventLog" />. É usada para configurar todos os outros logs além dos descritos acima, incluindo aqueles gerados pelo Orchestrator.
Observação: se você acumular mais de 2 milhões de logs de robô por semana no banco de dados SQL, o desempenho pode se degradar após alguns meses sem limpar os logs antigos. Para um grande número de logs, recomendamos usar o Elasticsearch.

Configurações Adicionais

Saiba mais sobre as configurações adicionais.

Elasticsearch

O seguinte destino do NLog deve ser preenchido de acordo com sua configuração do Elasticsearch:

<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" /><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 - o URL do Elasticsearch; observe que você deve incluir o protocolo e porta, como http://elastic_server:9200. Você pode remover a necessidade de um balanceador de carga preenchendo esse parâmetro com a URL do Elasticseach de cada nó, como uri="http://elastic-node1:9200,http://elastic-node2:9200,http://elastic-node3:9200".
  • excludedProperties - dados que você não deseja que sejam salvos no Elasticsearch.
  • index - o formato do índice de log que pode ser exclusivo por tenant ou compartilhado por todos os tenants. Detalhes abaixo.
  • requireAuth -defina como truepara habilitar a autenticação ao conectar o Orchestrator no Elasticsearch.
  • username - especifique o nome de usuário usado para fazer logon no Elasticsearch. Você precisa configurá-lo se requireAuth estiver definido como true e OAuthEnabled estiver definido como false.
  • password -especifique a senha usada para fazer logon no Elasticsearch. Você precisa configurá-lo se requireAuth estiver definido como true e OAuthEnabled estiver definido como false.
  • OAuthEnabled - defina esse parâmetro como true para habilitar o OAuth 2 e usar um mecanismo de autenticação baseado em token para o destino do Nlog para o Elasticsearch. Ao habilitar isso pela primeira vez, você precisa fornecer seu nome de usuário e senha atuais para gerar o token inicial.Para esse parâmetro entrar em vigor, você precisa garantir que Logs.Elasticsearch.OAuthEnabledtambém esteja definido como truee que você configurou corretamente o servidor do Elasticsearch.Para obter mais informações sobre isso, consulte Autenticação do X-Pack.

Configuração do índice

  • Índice separado - index="${event-properties:item=indexName}-${date:format=yyyy.MM}" Um índice separado é usado para cada tenant, o que significa que os logs específicos a um tenant são gerados e recuperados com base em um identificador exclusivo do tenant, nesse caso indexName, que assume como padrão o nome do tenant. Essa é a configuração padrão. Nesse caso, os logs são gerados por mês.
  • Índice compartilhado - index="robotlogs-${date:format=yyyy.MM.dd}" Um índice é usado para todos os tenants, o que significa que todos os logs usam o mesmo índice independentemente do tenant. Neste caso, os logs são gerados por dia. Para usar um índice compartilhado, você também precisa adicionar a seguinte chave em UiPath.Orchestrator.dll.config: <add key="Logs.Elasticsearch.SharedIndex" value="robotlogs" />. Certifique-se de defini-lo com o mesmo valor do parâmetro index no destino do NLog.
    Importante: os logs gerados usando um índice individual serão mantidos se você mudar para um índice compartilhado. No entanto, os logs gerados usando um índice compartilhado serão perdidos se você mudar para um individual.
Note: The Elastic robot logs index name pattern in Orchestrator must match the following locations:
  • The NLog target config section name="robotElastic" index="robot-logs-${date:format=yyyy-MM}" from UiPath.Orchestrator.dll.config.
  • The LoggingIndex record from the Orchestrator database’s dbo.Settings table. Ensure the record matches the index pattern from the NLog target config (i.e. robot-logs-${date:format=yyyy-MM}).

Log de eventos no banco de dados

Para armazenar os logs de eventos do sistema no banco de dados, ao invés do Visualizador de eventos, siga estas etapas:

  1. Crie uma nova tabela do banco de dados, como por exemplo:

    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)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)
    Na consulta acima, criamos uma tabela chamada EventLogs com as seguintes colunas:
    • Id - para manter um número de ID para cada log, começando aqui com 1, e incrementar o valor com cada log adicionado;
    • Timestamp - para manter o horário em que cada evento foi registrado;
    • Level - para manter o nível de registros em log numéricos de cada evento;
    • Message - para manter a mensagem de cada evento, se aplicável;
    • Exception - para manter a exceção registrada para cada evento, se aplicável.
      Observação: você pode usar qualquer nome para sua tabela e remover quaisquer colunas da consulta acima ou adicionar outras para atender às suas necessidades.
  2. No arquivo UiPath.Orchestrator.dll.config, adicione um novo destino do NLog:
    <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><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>
    Definição de um parameter correspondente para que os dados sejam adicionados em cada coluna do banco de dados, neste exemplo, @timestamp, @level, @message e @exception.
  3. Por fim, associe o destino recém-criado com a classificação do logger do NLog para todas as mensagens acima do Orchestrator, adicionando:

    <logger name="*" minlevel="Info" writeTo="eventLog,eventLogDatabase" /><logger name="*" minlevel="Info" writeTo="eventLog,eventLogDatabase" />

Habilitar a depuração do NLog

O NLog é uma plataforma de registros em log de código-fonte aberto, facilmente configurável e extensível para uma variedade de plataformas .NET. Com o NLog, você pode armazenar ou passar dados do log para qualquer número de destinos predefinidos ou personalizados, como um arquivo local, um log de evento, e-mail ou banco de dados.

Importante: os destinos do NLog personalizados não são migrados automaticamente durante uma atualização. Você precisa migrá-los para o Identity Server e serviços do Webhooks manualmente.Consulte a documentação do NLog no Identity Server.
Embora exista alguma sobreposição, o NLog e o Orchestrator têm vários níveis de registro diferenciados. Para NLog, você pode selecionar Trace, Debug, Info, Warn, Error, Fatalou Off. Consulte Níveis de registro para obter uma descrição dos níveis disponíveis no Orchestrator.
Você pode habilitar a depuração no NLog para garantir que ele esteja funcionando corretamente. Por padrão, o NLog é definido como Off; ele é habilitado configurando a seguinte seção do arquivo UiPath.Orchestrator.dll.config:
<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=""><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=""> 

Os atributos que devem ser definidos são:

  • internalLogLevel - o nível de registro em log desejado
  • internalLogFile - o local do arquivo de log

Por exemplo:

<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"><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"> 
Observação:
O perfil do usuário sob o qual o Orchestrator está em execução deve ter acesso ao caminho especificado no atributo internalLogFile.

Réplica SomenteLeitura do Orchestrator

Features.Queues.QueryUseReadOnlyReplica

Defina o valor como true se você quiser permitir a consulta da réplica somente leitura para itens de fila.
O valor padrão é false.

Monitoring.UseReadOnlyReplica

Defina o valor como true se você quiser recuperar dados de monitoramento da réplica somente leitura.
O valor padrão é false.

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.