orchestrator
2023.10
false
UiPath logo, featuring letters U and I in white

Guía de instalación de Orchestrator

Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Última actualización 5 de dic. de 2024

UiPath.Orchestrator.dll.config

El archivo UiPath.Orchestrator.dll.config (C:\Program Files (x86)\UiPath\Orchestrator) define los parámetros, la configuración y las preferencias aplicadas en tu implementación de Orchestrator.
Importante:
  • Cualquier cambio a los parámetros de este archivo se sobrescribe al actualizar.

  • Solo los administradores deben cambiar los valores de estos parámetros.

  • Recomendamos que se restaure manualmente el sitio web tras realizar los cambios en UiPath.Orchestrator.dll.config.
  • Los parámetros que no se documentan en esta página no deben cambiarse o tener homólogos en las páginas de Ajustes.

  • Todos los parámetros distinguen entre mayúsculas y minúsculas.

Ajustes de la aplicación

Configuración avanzada de la instalación

EncryptionKeyPerTenant.Enabled

Te permite utilizar diferentes claves de cifrado por tenant, en función de una cuenta de Microsoft Azure Key Vault. Pueden atribuirse los siguientes valores:

  • false - utiliza una única clave de cifrado en toda la instancia de Orchestrator. Este es el valor predeterminado.
  • true: Utiliza una clave de cifrado diferente para cada tenant, lo que mejora la seguridad de tu tenant y ofrece una mejor segregación de los datos confidenciales.
Si habilitas esta función, también deberás completar el EncryptionKeyPerTenant.KeyProviderparámetro , así como los que se encuentran en la sección SecureAppSettings.

EncryptionKeyPerTenant.KeyProvider

Permite indicar en qué aplicación de gestión de claves se van a almacenar las claves de cifrado generadas por cada tenant desde Orchestrator. Establece esta opción como AzureKeyVault para utilizar una versión predeterminada de Microsoft Azure Key Vault. No proporcionamos licencias de Azure Key Vault. Ten en cuenta que también debes configurar los parámetros descritos en la sección SecureAppSettings. Si EncryptionKeyPerTenant.Enabled está establecido en false, este parámetro no se utiliza.

Los cambios aquí realizados a los ajustes de cifrado deben replicarse en el archivo appsettings.Production.json de Identity Server, de acuerdo con la siguiente equivalencia de campos:

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

Colas

Nota: para aplicar cambios relacionados con las programaciones de trabajos internos, sigue los pasos en Actualizar programaciones de trabajos internos.

inProgressMaxNumberOfMinutes

La cantidad máxima de tiempo que los elementos en la cola pueden mostrar el estado En curso. Tras ese tiempo, el estado de los elementos en la cola cambia a Abandonados. De forma predeterminada, está fijado en 1440 minutos (24 horas).

QueuesStatisticsScheduleCron

La frecuencia de actualización de las estadísticas de los elementos en cola en las páginas Panel y Transacciones, y en la ventana Gráfico. Se actualizan cada minuto de forma predeterminada.

UpdateUncompletedItemsJobCron

La frecuencia de búsqueda en la base de datos de las colas que deban ser trasladadas a Abandonadas. De forma predeterminada, este parámetro está fijado en cada hora.

Queue.MaxSlaInMinutes

El valor máximo al que puede ajustarse el SLA, expresado en minutos. El valor es, de forma predeterminada, 129 600 minutos (90 días), y se muestra de forma predeterminada en UiPath.Orchestrator.dll.config, incluidos los casos de actualización.

Queue.MaxSchemaFileSizeInKilobytes

El tamaño máximo del archivo del esquema JSON con el que se validan los datos y la salida de los elementos de la cola, en KB. Esta configuración no aparece por defecto en el archivo UiPath.Orchestrator.dll.config.

Queue.SlaReadaheadTimeLimitHours

La cantidad de tiempo en la que deben transcurrir los plazos de los elementos en cola para que los elementos se tengan en cuenta al realizar las predicciones de SLA. El valor predeterminado es 24 horas. Este parámetro no se muestra en UiPath.Orchestrator.dll.configde forma predeterminada.

Queue.MaxSpecificDataSizeInKiloBytes

El tamaño máximo del contenido de Datos específicos para los nuevos elementos en la cola, en kilobytes. En instalaciones de Orchestrator desde cero, este parámetro está oculto y tiene un valor predeterminado de 1024 (1 MB). En caso de actualización, este parámetro es visible y tiene un valor de 204 800 (200 MB).

Queue.ProcessActivationSchedule

La cantidad de tiempo entre la comprobación de los elementos de la cola no procesados. Por defecto, está establecido en 30 minutos. Para ajustar el intervalo de verificación, especifica un valor entre 0 y 59, reinicia el IIS y, a continuación, elimina el desencadenador de la cola existente y vuelve a crearlo.

Alertas

Nota: para aplicar cambios relacionados con las programaciones de trabajos internos, sigue los pasos de Actualizar las programaciones de trabajos internos.

DailyAlertMailJobCron

Permite configurar una expresión Cron que controla cuándo se envían alertas de correo electrónico diarias. Esto solo funciona si se habilitan las alertas de correo electrónico. El informe contiene todas las alertas de gravedad de tipo Fatal y Error generadas el día anterior. Por defecto, se envía todos los días a las 7:00.

Alerts.Email.Enabled

Este parámetro solo es relevante para los nuevos tenants y está establecido en false de forma predeterminada. Puedes establecerlo en true para habilitar automáticamente las alertas de correo electrónico para el tenant que estás a punto de crear.

Sin embargo, una vez creado el tenant, cualquier cambio en este parámetro ya no se tendrá en cuenta. En su lugar, la configuración se puede alternar a través de la casilla de verificación Habilitar alertas por correo electrónico en la página Configuración . Para obtener más información, consulta la página Habilitar correos electrónicos de alerta .

NotificationDistributerJobCron

La frecuencia con la que se envían notificaciones de alerta a la interfaz. Las alertas se envían, de forma predeterminada, cada 10 segundos.

PeriodicErrorMailJobCron

Permite configurar una expresión Cron que controla la frecuencia con la que se envían alertas de correo electrónico periódicas. Esto solo funciona si se habilitan las alertas de correo electrónico. El valor predeterminado es cada 10 minutos, por lo que el informe contiene las alertas de gravedad de tipo Fatal y Error generadas en los últimos 10 minutos. Si no se ha generado ninguna alerta, no se envía ningún informe.

PasswordComplexity

Controla las reglas de validación de la complejidad de la contraseña y se expresa mediante expresiones regulares. La complejidad se aplica a todas las contraseñas (incluida la contraseña del administrador del host) de forma predeterminada. No obstante, cada tenant puede personalizar la complejidad de su contraseña de inicio de sesión de usuario en la pestaña de Seguridad de la página de Ajustes. De forma predeterminada, las contraseñas deben contener un mínimo de 8 caracteres, y al menos una letra y un número.

SystemJobs.DetectNotRespondingRobots.MaxAlertCount

Permite limitar el número de alertas que se envían cuando los UiPath Robots no responden. Este parámetro puede resultar útil si tu instancia de Orchestrator trata con un número muy grande de UiPath Robots y la mayoría de ellos dejan de responder a menudo. Ten en cuenta que no aparece por defecto en el archivo de configuración. Por ejemplo, si quieres limitar a 10 el número de alertas que recibes de los UiPath Robots que no responden, añade <add key="SystemJobs.DetectNotRespondingRobots.MaxAlertCount" value="10" /> al archivo UiPath.Orchestrator.dll.config, debajo del resto de parámetros de alerta. Si aplicas esta configuración, ten en cuenta que, cuando el número total de alertas supere la cifra configurada, se producirá una advertencia en el visor de eventos, como: Alerts not published: total number of unresponsive sessions (21) is bigger than the configured max allowed (10)..

SystemJobs.LicenseExpirationAlert.DaysBefore

Te permite definir los intervalos de tiempo antes de la fecha de caducidad de la licencia en los que recibirás alertas por correo electrónico. El valor predeterminado es 180,90,30,14,7,1, lo que significa que recibirás alertas por correo electrónico 6 veces: 180, 90, 30, 14, 7 y 1 día antes de que caduque tu licencia. Puedes definir un número menor de valores para reducir la frecuencia de las alertas por correo electrónico. Esto puede hacerse, por ejemplo, añadiendo la siguiente clave al archivo UiPath.Orchestrator.dll.config: <add key="SystemJobs.LicenseExpirationAlert.DaysBefore" value="90,30,14" />.

Implementación

Orchestrator utiliza un repositorio compuesto. Los metadatos de los paquetes se guardan en la base de datos SQL para agilizar las búsquedas y los filtrados. Los paquetes se guardan en la ubicación especificada mediante los parámetros Storage.Type y Storage.Location.
Nota: No se admite el uso de comandos de copiar/pegar en la carpeta dedicada a los paquetes.

Storage.Type

Define el destino donde se guardan los paquetes y los medios de ejecución. Puede completarse con los siguientes 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 la ubicación concreta donde se guardan los paquetes y los medios de ejecución.

Importante:
El parámetro Storage.Location es obligatorio cuando:
  • actualizar desde cualquier versión anterior a la 2020.10 de Orchestrator, y
  • el anterior NuGet.Repository.Typeera Legacy, y
  • el anterior NuGet.Packages.Path no utilizó el valor predeterminado.

Destino

Ubicación

SistemaDeArchivos

Proporciona una ruta absoluta utilizando el siguiente formato: RootPath=C:\FolderName\AnotherFolderName.
Ejemplo: <add key="Storage.Location" value="RootPath=C:\FolderName\AnotherFolderName" />.

En la carpeta proporcionada, se creará la siguiente estructura de carpeta:

Orchestrator-Host\Libraries: una carpeta dedicada a las bibliotecas almacenadas en la fuente del host.
Orchestrator-[tenantKey] - Una carpeta para cada tenant. La clave de tenant encontrada en la base de datos identifica al tenant. Por ejemplo Orchestrator-12ab1234-a567-456b-a12b-ab3456b123ab.

Por cada carpeta del tenant, se crean otros tres subdirectorios:

\ExecutionMedia

\Packages

\Libraries

Los archivos se guardan en sus carpetas correspondientes en la ubicación especificada. De forma predeterminada, se almacenan en la siguiente ruta: C:\Program Files (x86)\UiPath\Orchestrator\Storage.

Azure

Proporcionar una cadena de conexión.

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

Amazon

  • Proporcionar una cadena de conexión.
Ejemplo: <add key="Storage.Location" value="EndpointRegion=eu-west-3;accessKey=AKIAZGUEIGXUJ3BBI4MW;secretKey=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;useHttp=false" />.
  • Para deshabilitar el acceso público a los depósitos Amazon S3 recién creados, añade BlockPublicAccess=true a la cadena de conexión. Ten en cuenta que esto no afecta a los depósitos existentes.
Ejemplo: <add key="Storage.Location" value="EndpointRegion=eu-west-3;accessKey=AKIAZGUEIGXUJ3BBI4MW;secretKey=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;useHttp=false;BlockPublicAccess=true" />.
  • Para usar las credenciales Amazon S3 predeterminadas, elimina AccessKey y SecretKey y en su lugar añade UseDefaultCredentials=true. Esto te permite usar el Rol de IAM de la máquina en una VM de Amazon EC2.
Ejemplo: <add key="Storage.Location" value="EndpointRegion=eu-west-3;UseDefaultCredentials=true" />.

MinIO

Proporcionar una cadena de conexión.

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

Ejemplo

<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\" />

La configuración anterior da instrucciones a Orchestrator:

  • para que almacene los metadatos del paquete en la base de datos SQL;
  • para que conserve los propios archivos en el almacenamiento de Azure Blob en la ubicación indicada por la cadena de conexión DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net;
  • para usar la convención de denominación predeterminada para el nombre del contenedor Azure - Orchestrator-tenantKey.
    Importante:

    Si tiene más de 99 tenants en Orchestrator, tiene dos opciones para evitar el límite de la cuenta del depósito de AWS S3.

    • Almacena los datos en un solo depósito externo, como se indica en la sección siguiente.
    • Aumenta el límite de cuentas del depósito AWS S3 predeterminado para que coincida con el número de tenants.

    Esto es necesario porque se crea un depósito independiente para cada tenant.

Almacenamiento de datos de Orchestrator en un solo depósito externo

Para usar un único depósito con su propio proveedor de almacenamiento externo, añade los siguientes parámetros a la cadena de conexión correspondiente:

  • BucketName - obligatorio. Permite que Orchestrator almacene todos los tenants en un único depósito. Requiere que el nombre de depósito sea como se ha establecido en el proveedor de almacenamiento. Para esto, el almacenamiento externo debe existir antes de instalar Orchestrator.
  • CanCreateBucket: Opcional. Si se establece como verdadero, permite que Orchestrator cree el depósito en el almacenamiento externo en tu nombre. El valor predeterminado es Falso.
Nota: al usar este parámetro, asegúrate de conceder a Orchestrator los permisos adecuados para crear un depósito en el almacenamiento externo. De lo contrario, la instalación fallará.
  • ContentPrefix : opcional. Especifica la ruta de los datos de Orchestrator dentro del almacenamiento externo. Por ejemplo, orchestrator/data.
Nota: Estos parámetros se aplican a las cadenas de conexión de proveedores de almacenamiento externo, como Azure, Amazon o Minio. No se aplican al almacenamiento de FileSystem.

Ejemplo: uso de un depósito único con un proveedor de almacenamiento externo propio

<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

La clave de licencia de tu cuenta de NuGet. Si las actividades y paquetes se almacenan en la misma fuente de NuGet, el valor de este parámetro debe ser idéntico al de NuGet.Activities.ApiKey. El valor predeterminado se utiliza en la propagación inicial de la base de datos. Ten en cuenta que también se aceptan cadenas arbitrarias.

NuGet.Activities.ApiKey

La clave de licencia de tu cuenta de NuGet. Si las actividades y los paquetes se almacenan en la misma fuente de NuGet, el valor de este parámetro debe ser idéntico al de NuGet.Packages.ApiKey. Ten en cuenta que también se aceptan cadenas arbitrarias.

Se puede realizar la sincronización de paquetes entre múltiples nodos de Orchestrator y la interfaz supervisando el sistema de archivos o utilizando Redis. Esto se puede configurar utilizando la siguiente configuración. La forma recomendada es a través de Redis.

Processes.AllowUpdateWithRunningJobs

Especifica si puedes eliminar un proceso con trabajos en ejecución o pendientes asociados. Ten en cuenta que este parámetro está oculto de forma predeterminada. Están disponibles los siguientes valores:

  • true - Los procesos se pueden eliminar con trabajos en ejecución o pendientes asociados.
  • false: Los procesos no se pueden eliminar con trabajos en ejecución o pendientes asociados. En esta instancia, al intentar eliminar un proceso se muestra el siguiente mensaje de error: "En estos momentos no se puede modificar este proceso porque hay trabajos activos asociados". (#1666)". Este es el valor predeterminado.
Por ejemplo, si quieres poder eliminar tus procesos con un trabajo asociado en ejecución, añade <add key="Processes.AllowUpdateWithRunningJobs" value="true" /> en el archivo UiPath.Orchestrator.dll.config.

Deployment.Libraries.AllowTenantPublish

Permite especificar si los tenants que utilizan la fuente del host pueden o no subir bibliotecas a la fuente. Están disponibles los siguientes valores:

  • true: las bibliotecas subidas en el nivel de tenant se propagan a la fuente del host. Este es el valor predeterminado.
  • false: las bibliotecas subidas en el nivel de tenant no se propagan a la fuente del host. No obstante, ten en cuenta que los usuarios tienen acceso a las bibliotecas existentes en la transmisión.

También se puede configurar desde la interfaz de usuario. La opción correspondiente, Permitir a los usuarios tenant subir a la fuente, se puede encontrar en el nivel de host, en la página de Ajustes.

Depósitos de almacenamiento

Buckets.ContentSecurityPolicy

Se utiliza para indicar dominios más allá de aquellos de confianza a los que Orchestrator puede realizar solicitudes. Se pueden introducir varios valores, en forma de lista, separados por comas. Este parámetro anula los ajustes de Orchestrator correspondientes a Azure y AWS, así que debes asegurarte de añadir Azure y/o AWS, si procede. Este parámetro no aparece de forma predeterminada en el archivo UiPath.Orchestrator.dll.config.

Buckets.AvailableProviders

Se utiliza para controlar los proveedores que pueden utilizarse al crear depósitos de almacenamiento. Los proveedores disponibles son: Orchestrator, Amazon, Azure, Minio, proveedores de almacenamiento compatibles con S3 y Sistema de archivos. Se pueden introducir varios valores separados por comas.

Nota: de forma predeterminada, esta clave no se muestra en el archivo UiPath.Orchestrator.dll.config, y solo se seleccionan los siguientes proveedores: Orchestrator, Amazon, Azure, Minio y S3Compatible. El comportamiento por defecto es específico tanto para instalaciones limpias como actualizaciones. Si la clave es visible, los proveedores disponibles se limitan a los especificados como valores Buckets.AvailableProviders.

Ejemplo: para utilizar solamente Orchestrator, Amazon y Azure como proveedores de depósito de almacenamiento, añade la siguiente clave:

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

Buckets.FileSystem.Allowlist

Ofrece una forma de controlar el uso de depósitos de FileSystem. Los ajustes no tienen ningún valor configurado de forma predeterminada. Por esta razón, junto con el hecho de que FileSystem viene deshabilitado de forma predeterminada tanto en nuevas instalaciones como en actualizaciones, en principio no se pueden utilizar rutas de FileSystem. Por motivos de seguridad, para utilizar la función de FileSystem, un administrador debe habilitar primero la opción FileSystem y, a continuación, permitir explícitamente el acceso a una lista de carpetas o recursos compartidos de red atribuyendo valores a Buckets.FileSystem.Allowlist.
Se pueden introducir varios valores, separados por el carácter |. Tenga en cuenta que las rutas deben estar completamente cualificadas, ya sea con una unidad de disco o una ruta UNC (p. ej. c:\, c: est, \\servershare\shared), y cada uno de ellos representa un prefijo permitido para cualquier depósito. Puede crearse un depósito en esa ruta particular o en cualquier subtrazo.
Importante: Teniendo en cuenta que la creación de una lista de permisos de FileSystem a través de la Buckets.FileSystem.Allowlistconfiguración tiene una serie de implicaciones de seguridad, se recomienda encarecidamente que consultes Utilizar la lista de permisos de almacenamiento de FileSystem de forma segura antes de continuar.

Autorización

AcceptedRootUrls

Te permite añadir una lista de URL de confianza. Si no se le atribuye ningún valor a este ajuste, nadie puede acceder a Orchestrator. Si quieres añadir múltiples URL, hazlo sin espacios y separa los elementos mediante comas (,), como en "https://server1,https://server2".

Auth.Bearer.Robot.Expire

La cantidad de tiempo tras la que caduca el token al portador de tu Robot. De forma predeterminada, está establecido en 30 minutos.

Auth.DisabledPermissions

Permite configurar los permisos para que se desactiven desde la interfaz de usuario y se ignoren al utilizar la API. Ten en cuenta que este parámetro está oculto por defecto. Los permisos deben añadirse como se utilizan en la API, y deben estar separados por comas. Por ejemplo, si quieres deshabilitar los permisos de Eliminación en las Bibliotecas y Máquinas, debes añadir la siguiente clave: <add key="Auth.DisabledPermissions" value="Machines.Delete,Libraries.Delete" />.

Auth.RememberMe.Enabled

Te permite configurar si se muestra o no la casilla Recuérdame en la página de Inicio de sesión. El parámetro está establecido como true, de forma predeterminada, lo que significa que se muestra la casilla de verificación. Ajústalo a false para ocultarlo. Esta configuración no se muestra por defecto en el archivo UiPath.Orchestrator.dll.config.

Auth.AllowChangePassword

Te permite configurar si un usuario puede cambiar su contraseña a través de la API. Esta configuración no se muestra de manera predeterminada en el archivo UiPath.Orchestrator.dll.config. Los valores disponibles son true (valor predeterminado) y false.

Auth.AllowSelfEmailUpdate

Permite configurar si un usuario puede cambiar su dirección de correo electrónico desde la sección General, en la página de Perfil. De forma predeterminada, el parámetro está establecido en true, lo que significa que se puede actualizar. Establece el parámetro como false para que el campo solo sea de lectura. Esta configuración no se muestra en el archivo UiPath.Orchestrator.dll.config de forma predeterminada.

ExternalAuth.AccessTokenAuth.Enabled

Te permite configurar si puedes autenticarte en Orchestrator utilizando un token de acceso al portador emitido por Auth0. Este ajuste no se muestra en el archivo UiPath.Orchestrator.dll.config de forma predeterminada. Están disponibles los siguientes valores:
  • true: el usuario puede realizar solicitudes autenticadas utilizando un token de acceso emitido por Auth0. Esto solo se tiene en cuenta si se establece una audiencia válida para el parámetro ExternalAuth.AccessTokenAuth.Audience.
  • false: El usuario no puede realizar solicitudes autenticadas utilizando un token de acceso emitido por Auth0. Este es el valor predeterminado.

ExternalAuth.AccessTokenAuth.Audience

Te permite controlar el público objetivo del token de acceso. Este parámetro debe establecerse en una audiencia válida, que se utiliza para cotejar con la audiencia del token Auth0. Por ejemplo, si quieres establecer la audiencia como https://cloud.uipath.com, debes añadir la siguiente clave: <add key="ExternalAuth.AccessTokenAuth.Audience" value="https://cloud.uipath.com" />. Esta configuración no se muestra en el archivo UiPath.Orchestrator.dll.config de forma predeterminada.

ExternalAuth.ShowPII

Permitir que se muestre la PII de Orchestrator añadiendo la siguiente clave: <add key="ExternalAuth.ShowPII" value="true" />. La clave no se muestra de forma predeterminada en UiPath.Orchestrator.dll.config, y el comportamiento predeterminado no permite que se muestre la PII.

RestrictBasicAuthentication

EnableBasicAuthenticationForHostTenant

Load balancer

Estos ajustes solo deben modificarse si utilizas un equilibrador de carga.

LoadBalancer.UseRedis

Utiliza Redis como base de datos para distribuir mensajes y caché a y desde todos los equipos conectados a través de tu equilibrador de carga. De forma predeterminada, está establecido en false.

LoadBalancer.Redis.ConnectionString

Solo se puede utilizar si LoadBalancer.UseRedis está establecido en true. Una cadena de conexión que te permite configurar tu servidor Redis, que contiene la URL del servidor, la contraseña y el puerto utilizado con Redis. Todos los nodos del clúster HAA deben añadirse en la cadena de conexión.

También es posible habilitar las conexiones cifradas SSL entre los nodos de Orchestrator y el servicio Redis. Para obtener más información, consulta la página de configuración de StackExchange.Redis . Ejemplos:

  • con SSL habilitado:n <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" />
  • sin 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" />

Almacén de contraseñas

Plugins.SecureStores

Este ajuste debe actualizarse para incluir los complementos de cualquier tienda de credenciales que uses. Puedes elegir entre los siguientes: CyberArk, CyberArk CCP, Almacén de claves de Azure, Thycotic Secret Server, BeyondTrust y HashiCorp Vault. Los complementos de almacén de credenciales están ubicados en la carpeta \Orchestrator\Plugins de tu directorio de instalación. Por ejemplo:
  • Almacén único: <add key="Plugins.SecureStores" value="UiPath.Orchestrator.CyberArk.dll"/>
  • Almacenes múltiples: <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" />
    Cuando se actualiza una instancia de Orchestrator con una integración existente de CyberArk, este ajuste se rellena automáticamente con el complemento CyberArk. En todas las demás instalaciones, el valor está vacío de forma predeterminada.

Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath

Permite que el complemento CyberArk busque CLIPasswordSDK64.exe en una ruta de instalación personalizada. Por ejemplo, si el directorio de instalación de CyberArk es D:\CustomFolder\, debes añadir la siguiente clave: <add key="Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath" value="D:\CustomFolder\CLIPasswordSDK64.exe"/>. El valor predeterminado de esta configuración de la aplicación es C:\Program Files (x86)\CyberArk\ApplicationPasswordSdk\CLIPasswordSDK64.exe.

Plugins.SecureStores.CyberArk.UsePowerShellCLI

Permite recuperar credenciales desde un almacén de CyberArk al utilizar la autenticación de ruta. La clave está oculta por defecto. El valor predeterminado es false. Añade la siguiente clave para habilitarlo: <add key="Plugins.SecureStores.CyberArk.UsePowerShellCLI" value="true"/>.

Plugins.SecureStores.CyberArkCCP.KeyStorageFlags

Habilita la posibilidad de elegir dónde almacenar y cómo importar la clave privada del certificado de cliente configurado para un almacén de credenciales CyberArk CCP.

Los valores que pueden establecerse para este parámetro se describen aquí, siendo DefaultKeySet la opción predeterminada.
Ten en cuenta que EphemeralKeySet no funcionará en máquinas Windows. Recomendamos utilizar MachineKeySet en su lugar.

Autenticación de Azure AD

La configuración de la autenticación de Azure AD se ha trasladado a la página de proveedores externos de Identity Server.

Autenticación de Active Directory

La configuración para la autenticación de Active Directory se realiza después de la instalación desde el portal de administración de Orchestrator.

Para ver las instrucciones, consulta la página Configuración de la integración de Active Directory.

Registros

Logs.RobotLogs.ReadTarget

Permite configurar la fuente desde la que Orchestrator lee y completa los registros (p. ej., database o robotelasticbuffer).

RobotsLogs.Flush.Interval

Esta opción te permite cambiar el intervalo de descarga del punto final de SubmitLogs. Ten en cuenta que no se muestra por defecto en UiPath.Orchestrator.dll.config. A menos que se especifique lo contrario, su valor es de 0 segundos. El siguiente ejemplo muestra cómo establecer un intervalo de descarga de 60 segundos, por lo que el UiPath Robot enviará registros al servidor cada 60 segundos.
<add key="RobotsLogs.Flush.Interval" value="60" /><add key="RobotsLogs.Flush.Interval" value="60" />
Importante: Si el robot se desconecta antes de que se complete el intervalo de descarga, el último lote de registros se envía la próxima vez que se conecte a Orchestrator.

RobotsLogs.Flush.BatchSize

El propósito de esta configuración es ajustar el tamaño de la descarga para el punto final de SubmitLogs. De forma predeterminada, no se muestra en UiPath.Orchestrator.dll.config. A menos que se especifique lo contrario, su valor es de 100 entradas de mensajes de registro, lo que se traduce en que el UiPath Robot envía lotes de 100 registros al servidor.
<add key="RobotsLogs.Flush.BatchSize" value="100" /><add key="RobotsLogs.Flush.BatchSize" value="100" />

Logs.RequestAbortedLogBehavior

Especifica el comportamiento de registro para las excepciones de cancelación que se lanzan al cancelar una operación en ejecución. Se generan, por ejemplo, al hacer clic en un botón y, antes de que se ejecute la operación, se hace clic en otro diferente. Ten en cuenta que este parámetro está oculto de forma predeterminada. Están disponibles los siguientes valores:

  • Ignore: todas las excepciones de cancelación se ignoran si se han anulado las solicitudes correspondientes. Este es el valor predeterminado.
  • Info: las excepciones de cancelación se registran con el nivel de gravedad de Información.
  • None: las excepciones de cancelación se registran con el nivel de gravedad del Error.
Por ejemplo, si no quieres que se registre ninguna excepción de cancelación, añade <add key="Logs.RequestAbortedLogBehavior" value="Ignore" /> en el archivo de configuración.

Logs.Elasticsearch.SharedIndex

Te permite iniciar sesión en el mismo índice para todos los tenants. Debe establecerse en el mismo valor que se utiliza para el parámetro index en el destino NLog. Por ejemplo, <add key="Logs.Elasticsearch.SharedIndex" value="robotlogs" />. Para obtener más detalles, consulta la sección Elasticsearch .
Nota:

Este parámetro está oculto de forma predeterminada.

Logs.Elasticsearch.EnableFolderIdFilter

Controla la visibilidad de los registros generados antes de 2019.10 que la carpeta no puede filtrar en la página de Registros. El parámetro está establecido como true de forma predeterminada, por lo que los registros están ocultos. Establece el parámetro como false para que se muestren: <add key="Logs.Elasticsearch.EnableFolderIdFilter" value="false" />

Logs.Elasticsearch.Username

El nombre de usuario necesario para leer los registros en Elasticsearch. Ten en cuenta que debes configurar este parámetro solo si la autenticación de Elasticsearch está habilitada y no utilizas un destino NLog. Al configurar el parámetro, asegúrate de que su valor coincida con la configuración del servidor de Elasticsearch. Para obtener más información, consulta Autenticación de X-Pack.

Logs.Elasticsearch.Password

El nombre de usuario necesario para leer los registros en Elasticsearch. Ten en cuenta que debes configurar este parámetro solo si la autenticación de Elasticsearch está habilitada y no utilizas un destino NLog. Al configurar el parámetro, asegúrate de que su valor coincida con la configuración del servidor de Elasticsearch. Para obtener más información, consulta Autenticación de X-Pack.

Logs.Elasticsearch.OAuthEnabled

Establece este parámetro como true para habilitar OAuth2 y utilizar un mecanismo de autenticación basado en tokens para leer los registros de los robots en Elasticsearch, como alternativa al sistema de usuario y contraseña. Por defecto, este parámetro está establecido en false.

Cuando se habilita la autenticación OAuth, sigue siendo necesario proporcionar el nombre de usuario y la contraseña como en el método de autenticación predeterminado. Esto es necesario porque el token inicial se genera en base a esas credenciales.

Para obtener instrucciones detalladas sobre cómo configurar la autenticación OAuth2 para Elasticsearch, consulta la sección Autenticación OAuth2 , parte de la Autenticación de X-Pack.

Logs.Elasticsearch.OAuthExpireInSeconds

Permite establecer el tiempo (en segundos) antes de que el token de acceso utilizado para leer los registros del robot en Elasticsearch caduque y se actualice. Su valor por defecto y recomendado es de 1200 segundos (20 minutos), y su valor máximo es de 3600 segundos (60 minutos). Para invalidar un token, puedes usar el botón dedicado disponible en la interfaz de usuario de Orchestrator.

Antes de cambiar la validez del token, asegúrate de que Logs.Elasticsearch.OAuthEnabled esté establecido en true y de que hayas configurado correctamente el servidor de Elasticsearch. Para obtener más información, consulta Autenticación OAuth2.

Logs.Elasticsearch.DisableProductCheckStatus

Te permite seleccionar una versión de Elasticsearch anterior a la 7.16.3. Para ello, debe establecerse en true.
Este parámetro está oculto y su valor predeterminado es false.
Funciona en conjunto con disableProductCheckStatus en el archivo Nlog, que también está oculto y false de forma predeterminada. También debe establecerse en true para habilitar la función.

Webhooks

Hay más configuración de webhooks disponible en Webhooks AppSettings.json.

Webhooks.VerifyAvailability.Enabled

Comprueba si un destino webhook es accesible al configurarlo en la interfaz de usuario. Por defecto, está establecido en true, lo que significa que la función está habilitada.

Adaptabilidad

Scalability.Heartbeat.PeriodSeconds

El intervalo de tiempo, expresado en segundos, en el que el Robot envía un latido a Orchestrator, informando a este de su estado. De forma predeterminada, está establecido en 30 segundos.

Scalability.Heartbeat.FailureThreshold

El número de latidos fallidos sucesivamente enviados por un UiPath Robot hasta que se marca como que no responde en Orchestrator. Por defecto, está establecido en 4, lo que significa que después de 2 minutos de latidos fallidos (4 x 30 segundos = 2 minutos), se marca que ese UiPath Robot no responde.

Scalability.SignalR.Enabled

Especifica si el servicio de UiPath Robot debe suscribirse a los canales SignalR de Orchestrator. De forma predeterminada, está establecido en true. Este parámetro se utiliza en la propagación inicial de la base de datos. Para realizar cambios tras la instalación, utiliza la página Ajustes con permisos de tenant o de host.

Scalability.SignalR.Transport

Especifica el protocolo de transporte utilizado para conectarse a los canales SignalR de Orchestrator. Se pueden atribuir los siguientes valores (cualquier combinación bitwise OR):

  • WebSocketTransport = 1
  • ServerSentEventsTransport = 2
  • LongPollingTransport = 4
  • Valor por defecto: 7 (WebSocketTransport | ServerSentEventsTransport | LongPollingTransport)

Este parámetro se utiliza en la propagación inicial de la base de datos. Para realizar cambios tras la instalación, utiliza la página Ajustes con permisos de tenant o de host.

Scalability.AzureSignalR.ConnectionString

Ayuda a habilitar el servicio de Azure SignalR, lo que facilita la comunicación directa entre tu flota de UiPath Robots y el servicio SignalR

Orchestrator ya no lo intermedia. Esta opción solo se debe utilizar si tienes una instancia de Orchestrator alojada en Azure. Se puede utilizar junto con la clave Scalability.AzureSignalR.ConnectionCount. Este parámetro está habilitado en nuestra oferta de Cloud. No se muestra por defecto en el archivo UiPath.Orchestrator.dll.config.
Ten en cuenta que, si se habilita, los UiPath Robots con una versión inferior a 2019.2 solo dependen del protocolo de latido para comunicarse con Orchestrator, por lo que los robots captan cualquier comando dado desde Orchestrator solo cada 30 segundos. Para habilitar este parámetro, completa su valor con la cadena de conexión del servicio de Azure. Ejemplo: <add key="Scalability.AzureSignalR.ConnectionString" value="Endpoint=https://test.signalr.net;AccessKey=M1ug+sBu07hyyi12AgyJ52SEd4OgC2Mm6BvllVHCC9c=;Version=1.0;" />.

Scalability.AzureSignalR.ConnectionCount

Permite cambiar el número de conexiones (por hub) entre el servidor y el servicio SignalR de Azure. El valor predeterminado es 5. Ejemplo: <add key="Scalability.AzureSignalR.ConnectionCount" value="7" />. Esta configuración no se muestra por defecto y no se puede utilizar sin la clave Scalability.AzureSignalR.ConnectionString.

Scalability.SignalR.RequireStickySessions

Habilita las sesiones sticky. Si se establece como true, se habilitan todos los transportes y Orchestrator supone que las sesiones sticky del equilibrador de carga están habilitadas. Habilitar las sesiones sticky en UiPath.Orchestrator.dll.config, sin habilitarlas en el equilibrador de carga, dará como resultado conexiones de SignalR fallidas.

Análisis

Telemetry.Enabled

Habilita o deshabilita la recopilación de datos de uso y rendimiento que UiPath utiliza para ayudar a diagnosticar problemas y mejorar Orchestrator. Para obtener más detalles sobre las prácticas de privacidad de UiPath, consulta la declaración de privacidad. Están disponibles los siguientes valores:

  • true - La función de telemetría está habilitada. Este es el valor predeterminado.
  • false - La función de telemetría está deshabilitada.

También es posible activar o desactivar la recopilación de datos de rendimiento y uso al instalar o actualizar tu instancia de Orchestrator, como se describe en la página Desactivar la telemetría .

Grabación multimedia

MediaRecording.Enabled

Establécelo como false para deshabilitar la función de grabación. Por defecto, está establecido en true, lo que significa que la función está habilitada. El almacenamiento de archivos se configura mediante los parámetros Storage.Type y Storage.Location.

VideoRecording.MaxDurationSeconds.Default

Te permite cambiar la duración predeterminada de una grabación de vídeo, que es de 3 minutos.

Solo se puede cambiar a través de una llamada a la API, no desde la interfaz.

VideoRecording.MaxDurationSeconds.Limit

Te permite cambiar la duración máxima de una grabación de vídeo.

Solo se puede cambiar a través de una llamada a la API, no desde la interfaz.

Paginación

Pagination.Limits.Enabled

Establecido como true de forma predeterminada en Cloud Platform y en las instalaciones desde cero de instancias de Orchestrator en las propias instalaciones. Añade un valor $top predeterminado para todas las llamadas a los puntos finales de la API con parámetros de paginación (p. ej. odata/Users).

Desencadenadores

Triggers.DisableWhenFailedCount

Puedes configurar un desencadenador para que se desactive automáticamente tras un número determinado de inicios fallidos y de que no se produzcan ejecuciones con éxito en un número específico de días. En este contexto, Triggers.DisableWhenFailedCount te permite ajustar el número de ejecuciones fallidas, mientras que Triggers.DisableWhenFailingSinceDays permite cambiar el número de días. Por defecto, el valor Triggers.DisableWhenFailedCount es de 10, y el valor Triggers.DisableWhenFailingSinceDays es de 1, por lo que el desencadenador se deshabilita tras 10 intentos de ejecución sin éxito si no se han producido ejecuciones con éxito durante el último día.
Para evitar que los desencadenadores se desactiven cuando fallan, debes establecer Triggers.DisableWhenFailedCount como 0.

Un desencadenador se deshabilita automáticamente si experimenta 10 lanzamientos fallidos consecutivos y no se ha lanzado correctamente en las últimas 24 horas.

Triggers.JobsCountStrategy

Permite elegir la estrategia de recuento de trabajos para los que se inician mediante desencadenadores. Oculto por defecto. Las siguientes opciones están disponibles:

  • PerProcess: un desencadenador inicia el número de trabajos requerido teniendo en cuenta cualquier trabajo pendiente del proceso especificado. Por ejemplo, dos desencadenadores definidos para el mismo proceso inician 3 y 5 trabajos respectivamente. Si el primer desencadenador inicia 3 trabajos en un momento dado, cuando se activa el segundo desencadenador se lanzan 2 trabajos para llegar a los 5 trabajos necesarios. Añade la siguiente clave en el archivo de configuración para utilizar esta estrategia: <add key="Triggers.JobsCountStrategy" value="PerProcess" />. Este es el valor predeterminado.
  • PerTrigger: un desencadenador inicia el número de trabajos requerido teniendo en cuenta cualquier trabajo existente iniciado previamente por ese mismo desencadenador. Por ejemplo, se define un desencadenador para iniciar 9 trabajos en un momento dado. Si se han completado 2 trabajos correctamente en el momento en que se desactiva este desencadenador de nuevo, Orchestrator inicia otros 2 trabajos para llegar a los 9 trabajos necesarios. Añade la siguiente clave en el archivo de configuración para utilizar esta estrategia: <add key="Triggers.JobsCountStrategy" value="PerTrigger" />.
  • NoLimit: el desencadenador inicia el número de trabajos requerido independientemente de cualquier trabajo existente y pendiente. Por ejemplo, se define un desencadenador para iniciar 5 trabajos en un momento dado. La segunda vez que se desactiva el desencadenador, se inician otros 5 trabajos. Añade la siguiente clave en el archivo de configuración para utilizar esta estrategia: <add key="Triggers.JobsCountStrategy" value="NoLimit" />.

Features.QueueTriggers.PendingJobsStrategy

Te permite elegir el método de cálculo para el número de trabajos adicionales que se desencadenarán cuando se añadan los nuevos artículos a una cola. Esto se hace restando el número de trabajos en un estado determinado de la cantidad máxima de trabajos dirigidos que se van a crear.

Las siguientes opciones están disponibles:

  • True : esta es la opción predeterminada. Se adapta mejor para casos en los que quieres que Orchestrator asuma que todos los trabajos en ejecución ya han migrado artículos en cola fuera del estado Nuevo.

    El número se calcula así:

    Máximo de trabajos adicionales a crear en función de los artículos en cola disponibles nuevamente = número máximo de trabajos pendientes y en ejecución permitidos de forma simultánea menos número de trabajos en estado Pendiente.

  • False: esta opción es la más adecuada para casos en los que quieres que Orchestrator asuma que todos los trabajos en ejecución aún tienen que mover artículos en cola fuera del estado Nuevo.

    El número se calcula así:

    Máximo de trabajos adicionales a crear en función de los artículos en cola disponibles nuevamente = número máximo de trabajos pendientes y en ejecución permitidos de forma simultánea menos el número de trabajos en uno de estos estados: Pendiente,Reanudado,En ejecución, Detenido,Terminado.

Otros

PreventAutoRefresh.Enabled

Controla si la página Trabajos en el menú de Supervisión se actualiza automáticamente por cada trabajo recién creado. La clave <add key="PreventAutoRefresh.Enabled" value="true" /> se puede añadir para restringir la actualización automática de la página cuando se ejecutan trabajos. La clave no se muestra de forma predeterminada, y el valor predeterminado es false, por lo que Orchestrator actualiza la página automáticamente por cada nuevo trabajo.
Está página se actualiza cuando se aplican filtros o cambian los estados de los trabajos, independientemente del parámetro PreventAutoRefresh.Enabled.

Features.ClassicFolders.Enabled

Controla si el modelo de carpetas clásicas está habilitado. El valor predeterminado es,false lo que significa que las carpetas clásicas están deshabilitadas y solo están disponibles las carpetas modernas. Este parámetro está oculto de forma predeterminada.

Jobs.TerminatingJobsTimeout

Configura el tiempo transcurrido hasta que los trabajos en Terminación son susceptibles de ser marcados como Fallidos. El valor predeterminado es 1440, lo que significa que los trabajos no pueden marcarse como Fallidos hasta que hayan pasado en estado de Terminación al menos un día. Este parámetro está oculto de forma predeterminada.

Jobs.TerminatingJobsCleanupCron

Configura una expresión Cron que controle la frecuencia del trabajo en segundo plano que marca los trabajos en Terminación como Fallidos. Los trabajos no pueden marcarse como Fallidos a menos que hayan estado en estado de Terminación, como mínimo, la duración establecida en el parámetro Jobs.TerminatingJobsTimeout. Los valores predeterminados son 0 0 0/3 1/1 * ? * para Jobs.TerminatingJobsCleanupCron, y 1440 para Jobs.TerminatingJobsTimeout, lo que significa que el trabajo en segundo plano se ejecuta cada tres horas y solo pasan a Fallido los trabajos que hayan pasado en estado de Terminación al menos un día. Este parámetro está oculto de forma predeterminada.

PW.StopExploringCron

Configura una expresión Cron que controle la frecuencia en que un trabajo en segundo plano comprueba si los usuarios que exploran los espacios de trabajo personales siguen teniendo los permisos necesarios (Ver y Editar en Carpetas) para explorarlos. El valor predeterminado es 0 25 * ? * *, lo que significa que el trabajo en segundo plano se ejecuta en el minuto 25 de cada hora. Si no tienen los permisos necesarios, se finalizan sus sesiones de exploración. Este parámetro está oculto de forma predeterminada.

Features.LongRunning.Enabled

Configura si los flujos de trabajo de ejecución prolongada son compatibles en tu instancia o no. Añade la siguiente clave para habilitarlo: <add key="Features.LongRunning.Enabled" value="true" />.

Tasks.ModuleEnabled

Configura si la función Acciones está habilitada en tu instancia. Añade la siguiente clave para habilitarlo: <add key="Tasks.ModuleEnabled" value="true" />. Este ajuste hace que la característica esté disponible a nivel de instancia. Para configurarlo en una base tenant, sigue estos pasos. El parámetro Features.LongRunning.Enabled debe establecerse como true para que este ajuste surta efecto.

Features.SmartCardAuthentication.Enabled

Configura si la autenticación con tarjeta inteligente está habilitada en tu instancia o no. Añade la siguiente clave para habilitarlo: <add key="Features.SmartCardAuthentication.Enabled" value="true" />.

OData.BackwardsCompatible.Enabled

Te permite controlar la forma en que se analizan los caracteres especiales en la API de Orchestrator. Si se establece como true, se analizan los caracteres especiales en el cuerpo de las solicitudes y respuestas. De forma predeterminada, este parámetro está oculto y establecido como false.

NotRespondingRobotsJobStartDelay

Te permite establecer un retardo, en segundos, de la primera comprobación sobre el estado de tus Robots realizada tras una actualización. Este parámetro no se muestra en UiPath.Orchestrator.dll.config de forma predeterminada.

Upload.Queues.MaxNumberOfItems

Permite reducir el número máximo de elementos que se pueden subir al mismo tiempo utilizando la función de carga masiva. El valor predeterminado es 15000. Ten en cuenta que este parámetro no se muestra por defecto en UiPath.Orchestrator.dll.config.

Processes.FilterOutDeleted

Permite optimizar la forma en que Orchestrator recupera los procesos. La optimización se consigue eliminando las verificaciones innecesarias de los procesos huérfanos cuyos paquetes asociados fueron eliminados. Esto mejora el rendimiento general de tu instancia, especialmente si se trata de una implementación grande. Están disponibles los siguientes valores:

  • false: la recuperación de paquetes está optimizada; no se realizan verificaciones para los procesos huérfanos.
  • true: La recuperación de paquetes no está optimizada.
Ten en cuenta que este parámetro está oculto y establecido como true de forma predeterminada, por lo que la recuperación de procesos no está optimizada.

CertificatesStoreLocation

Especifica que el certificado para tu instancia de Orchestrator está instalado en el almacén de certificados de la máquina local utilizando la siguiente configuración: <add key="CertificatesStoreLocation" value="LocalMachine" />. Asegúrate de que AzureKeyVaultCertificateStoreLocationen appsettings.Production.json tiene el mismo valor.

ProxyIntegration.Enabled

Ofrece una forma de controlar la integración proxy. Por defecto, el parámetro no se muestra en UiPath.Orchestrator.dll.config, y su valor está establecido como true, por lo que la integración de proxy está habilitada a menos que se especifique lo contrario. Utiliza <add key="ProxyIntegration.Enabled" value="false"/> para deshabilitar la integración de proxy.

SecureAppSettings

Clave de cifrado

La clave de cifrado utilizada para proteger las contraseñas en los activos de credenciales. Si utilizas un entorno con un equilibrador de carga de red, esta clave debe ser la misma para todas las máquinas.

Los siguientes parámetros te permiten configurar tu Azure Key Vault, donde puedes almacenar tus claves de cifrado basadas en tenant. Ten en cuenta que estos parámetros solo pueden utilizarse si EncryptionKeyPerTenant.Enabled está establecido en true y EncryptionKeyPerTenant.KeyProvider está establecido en AzureKeyVault. Además, asegúrate de proporcionar todos los permisos de clave, secreto y certificado a tu instancia de Orchestrator, en las políticas de acceso de tu Azure Key Vault. Para ver el procedimiento completo, consulta la página Configurar clave de cifrado por tenant .

Azure.KeyVault.ClientId

El ID de la aplicación de tu instancia de Orchestrator. Puede encontrarse en Azure, en Registros de aplicaciones y debería tener el formato ae11aa1a-1234-1234-a123-a12a12aaa1aa. Esta configuración no se muestra de manera predeterminada en el archivo UiPath.Orchestrator.dll.config. <add key="Azure.KeyVault.ClientId" value="ae11aa1a-1234-1234-a123-a12a12aaa1aa" />Ejemplo: .

Azure.KeyVault.CertificateThumbprint

La huella digital generada por Azure para el certificado de Orchestrator. Puedes encontrar este valor en Azure en Servicios de aplicaciones > Tu instancia > Configuración del SSL > Certificados privados (o Certificados públicos). Esta configuración no se muestra de manera predeterminada en el archivo UiPath.Orchestrator.dll.config. <add key="Azure.KeyVault.CertificateThumbprint" value="1234123412341234123412341234124312341234" />Ejemplo: .

Azure.KeyVault.VaultAddress

El nombre DNS de tu Azure Key Vault. Puede localizarse en el Resumen de tu almacén, en el campo Nombre de DNS, y debería tener el formato https://CustomVaultName.vault.azure.net/. Esta configuración no se muestra de manera predeterminada en el archivo UiPath.Orchestrator.dll.config. Ejemplo: <add key="Azure.KeyVault.VaultAddress" value="https://CustomVaultName.vault.azure.net/" />.

Azure.KeyVault.DirectoryId

Indica el ID de directorio de tu organización como se muestra en el portal de Azure. Obligatorio si almacenas claves de cifrado por tenant en Azure Key Vault. Ejemplo: <add key="Azure.KeyVault.DirectoryId" value="c9d0e174-684e-469e-84ea-d32c863ad534" />.

Configuración del servidor de identidad

Esta sección contiene los ajustes para configurar los tokens de acceso S2S y los tokens de acceso de aprovisionamiento de UiPath Robot.

Integración

Para propagar los datos de forma segura a Identity Server, Orchestrator necesita un token de acceso para la autenticación de tokens. Este token se obtiene de Identity Server [mediante el flujo de credenciales del cliente (S2S). Se deben añadir las siguientes claves a UiPath.Orchestrator.dll.config:

IdentityServer.GroupMembershipCacheExpireHours

Te permite especificar la cantidad de tiempo, en horas, tras la cual expirará la caché de los grupos de Identity Server añadida a Orchestrator. Este parámetro no es visible de forma predeterminada, y su valor predeterminado es 1

IdentityServer.Integration.Enabled

Habilita/deshabilita la integración de Identity Server en Orchestrator. El valor está establecido como true de forma predeterminada.

IdentityServer.Integration.Authority

Te permite establecer la ubicación de Identity Server. De forma predeterminada, el valor está establecido en https://Orchestrator/Identity, donde Orchestrator es la dirección de instalación de tu Orchestrator.

IdentityServer.Integration.ClientId

Te permite establecer el ID de aplicación (ID de cliente) utilizado para generar tokens de acceso S2S registrados en Identity Server. El valor se genera en el momento de la instalación.

IdentityServer.Integration.ClientSecret

Te permite establecer el Secreto de cliente para que Identity Server reconozca la aplicación S2S de Orchestrator. El valor se genera en el momento de la instalación.

IdentityServer.Integration.AccessTokenCacheBufferInSeconds

Te permite establecer el tiempo en segundos antes de que caduque el buffer caché del token de acceso. El valor está establecido como 50 de forma predeterminada.

IdentityServer.Integration.UserOrchestratorApiAudience

Identity Server puede generar múltiples tokens de acceso con diferentes audiencias. Las solicitudes API de Orchestrator pueden autorizarse utilizando tokens de acceso a los usuarios que tengan esta audiencia. El valor está establecido como OrchestratorApiUserAccess de forma predeterminada.
<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 los tokens de acceso de credenciales de cliente (S2S) generados por Identity Server, Orchestrator necesita las siguientes claves para añadirlas a UiPath.Orchestrator.dll.config:

IdentityServer.Integration.S2SOrchestratorApiAudience

Te permite establecer la audiencia que Orchestrator comprobará al validar un token de acceso S2S. El valor está establecido como OrchestratorApiS2SAccess de forma predeterminada.
Asegúrate de que UiPath.Orchestrator.dll.config también contenga las siguientes claves preexistentes con sus valores establecidos en true:

MultiTenancy.AllowHostToAccessTenantApi

Cuando se establece como true, permite a los usuarios host acceder a datos específicos de otros tenants. El valor está establecido como true de forma predeterminada.

MultiTenancy.TenantResolvers.HttpGlobalIdHeaderEnabled

Cuando Orchestrator recibe una petición de la API autorizada mediante un token de acceso S2S, la configuración de true permite identificar al tenant leyendo la ID global del tenant en el encabezado de la solicitud de la 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 acceso de aprovisionamiento de UiPath Robots

Orchestrator actúa como generador de tokens para UiPath Robots. Los UiPath Robots utilizan el punto final de Orchestrator para generar un token de acceso. El token de acceso se envía a las actividades que pueden utilizar diferentes recursos, como AI Fabric. Con la integración de Identity Service con Orchestrator, Identity Server se encarga de la generación de tokens de acceso.

Actualización de la configuración del servidor

Esta sección contiene parámetros para configurar el servidor de actualización.

UpdateServer.CheckUpdates.PollingInterval

Con qué frecuencia comprueba si hay actualizaciones el cliente. El valor por defecto es de 180 minutos.

UpdateServer.CheckUpdates.DefaultForceInstallAfterMinutes

Después de cuántos minutos se inicia una actualización forzada si se ha pospuesto la actualización. El valor predeterminado es de 1440 minutos.

UpdateServer.CheckUpdates.ScheduledForceInstallAfterMinutes

Después de cuántos minutos se inicia una actualización forzada si se ha pospuesto la actualización. Esto es específico para las actualizaciones programadas. El valor predeterminado es de 10 minutos.

UpdateServer.CheckUpdates.MaxRetries

Cuántas veces se vuelve a intentar una actualización fallida. El valor predeterminado es 3.

UpdateServer.UpdateRequest.RetryStepMinutes

Cómo se realiza el reintento en función de la serie temporal.

Ejemplo:

  • Primer reintento: después del valor configurado en minutos.
  • Segundo reintento: después de dos veces el valor configurado en minutos.
  • Tercer reintento: después de cuatro veces el valor configurado en minutos.

Configuración de registro

Registros de robot

Esta es la clave UiPath.Orchestrator.dll.config correspondiente: <logger name="Robot.*" writeTo="database,robotElasticBuffer" final="true" />. Se utiliza para configurar los mensajes de registro generados por los Robots. Hay que configurar los siguientes parámetros:
  • writeTo: la ubicación en la que se escriben los mensajes de registro generados por el UiPath Robot.Están disponibles los siguientes valores:
    • database: los registros se envían a la base de datos SQL de Orchestrator. Este es uno de los valores por defecto.
    • robotElasticBuffer : los registros se envían a Elasticsearch. Este es el segundo valor predeterminado. Recuerde que esto requiere una configuración adicional. Para obtener más detalles, consulta la sección Elasticsearch .

      Al tener registros enviados tanto a la base de datos SQL de Orchestrator como la de Elasticsearch, puedes tener registros no rechazados. Elimina uno de los valores para dejar de registrar en esa ubicación.

  • final: un marcador que indica que se debe realizar cuando se encuentra una coincidencia entre un mensaje registrado y el nombre del registrador. Cuando se fija en true, no busca otra coincidencia. Cuando se establece como false, se marcan otras reglas que coinciden con la misma fuente de origen. De forma predeterminada, está establecido en true.

Registros de supervisión

Esta es la clave UiPath.Orchestrator.dll.config correspondiente: <logger name="Monitoring.*" writeTo="monitoring" minlevel="Warn" final="true" />. Se utiliza para configurar los registros de error que se muestran en la página de Supervisión. Ten en cuenta que si eliminas esta regla o se altera target, no se mostrarán los registros de error en la página de Supervisión.

Registros de excepciones empresariales

Esta es la clave UiPath.Orchestrator.dll.config correspondiente: <logger name="BusinessException.*" minlevel="Info" writeTo="businessExceptionEventLog" final="true" />. Se utiliza para configurar los registros de las excepciones empresariales lanzadas. Por ejemplo, los problemas de validación (p. ej. Invalid username) o los conflictos empresariales (p. ej. License expired).

Otros registros

Esta es la clave UiPath.Orchestrator.dll.config correspondiente: <logger name="*" minlevel="Info" writeTo="eventLog" />. Se utiliza para configurar todos los demás registros aparte de los descritos anteriormente, incluidos los generados por Orchestrator.
Nota: si acumulas más de 2 millones de registros de robot a la semana en la base de datos SQL, el rendimiento podría degradarse después de unos meses sin limpiar los registros más antiguos.Para grandes sumas de registros, te recomendamos que utilices Elasticsearch.

Ajustes adicionales

Más información sobre ajustes adicionales.

Búsqueda elástica

El siguiente destino de NLog debe rellenarse según tu configuración de 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: la URL de Elasticsearch; ten en cuenta que debes incluir el protocolo y el puerto, como http://elastic_server:9200. Puedes eliminar la necesidad de un equilibrador de carga cumplimentando este parámetro con la URL de Elasticseach de cada nodo, como uri="http://elastic-node1:9200,http://elastic-node2:9200,http://elastic-node3:9200".
  • excludedProperties: los datos que no quieres guardar en Elasticsearch.
  • index: el formato del índice de registro, que puede ser exclusivo de cada tenant o común para todos los tenants. Detalles a continuación.
  • requireAuth: establecido como true para habilitar la autenticación cuando Orchestrator se vincula a Elasticsearch.
  • username: especifica el nombre de usuario utilizado para iniciar sesión en Elasticsearch. Es necesario configurarla si requireAuth está establecido como true y OAuthEnabled está establecido como false.
  • password: especifica la contraseña utilizada para iniciar sesión en Elasticsearch. Es necesario configurarla si requireAuth está establecido como true y OAuthEnabled está establecido como false.
  • OAuthEnabled : establece este parámetro en true para habilitar OAuth2 y utilizar un mecanismo de autenticación basado en tokens para el destino Nlog para Elasticsearch. Al habilitar esto por primera vez, debes proporcionar tu nombre de usuario y contraseña actuales para generar el token inicial. Para que este parámetro surta efecto, debes asegurarte de que Logs.Elasticsearch.OAuthEnabled también está establecido en true y de que has configurado correctamente el servidor de Elasticsearch. Para obtener más información, consulta Autenticación de X-Pack

    sección.

Configuración del índice

  • Índice index="${event-properties:item=indexName}-${date:format=yyyy.MM}"individual: se utiliza un índice separado para cada tenant, por lo que los registros específicos de un tenant se generan y se recuperan en función de un identificador único de tenant. En este caso, indexName, que se atribuye al nombre del tenant. Esta es la configuración predeterminada. En este caso, los registros se generan por mes.
  • Índice compartido: se utiliza index="robotlogs-${date:format=yyyy.MM.dd}"un índice para todos los tenants, por lo que todos los registros utilizan el mismo índice independientemente del tenant. En este caso, los registros se generan por día. Para utilizar un índice compartido, también debes añadir la siguiente clave en UiPath.Orchestrator.dll.config: <add key="Logs.Elasticsearch.SharedIndex" value="robotlogs" />. Asegúrate de establecer el mismo valor que el obtenido en el parámetro index del NLog de destino.
    Los registros que se generen utilizando un índice individual se conservan si se cambia a un índice compartido. No obstante, los registros que se generen utilizando un índice compartido se perderán al elegir uno individual.
Nota: el patrón de nombre del índice de registros de robots elásticos en Orchestrator debe coincidir con las siguientes ubicaciones:
  • La sección de configuración de destino NLog name="robotElastic" index="robot-logs-${date:format=yyyy-MM}" desde UiPath.Orchestrator.dll.config.
  • El registro LoggingIndex de la tabla de la base de datos de Orchestrator dbo.Settings.Asegúrate de que el registro coincida con el patrón de índice de la configuración de destino NLog.robot-logs-${date:format=yyyy-MM}).

Registrar eventos en la base de datos

Para almacenar registros de eventos del sistema en la base de datos en lugar de en el visor de eventos, sigue estos pasos:

  1. Crea una nueva tabla de base de datos, por ejemplo:

    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)
    En la consulta anterior, creamos una tabla llamada EventLogs con las siguientes columnas:
    • Id: poner en espera un número de identificación para cada registro, aquí comenzando con 1 e incrementando el valor con cada registro añadido;
    • Timestamp: poner en espera la hora en la que se registró cada evento;
    • Level: poner en espera el nivel de registro numérico de cada evento;
    • Message: poner en espera el mensaje de cada evento, si corresponde;
    • Exception: poner en espera la excepción registrada para cada evento, si corresponde.
      Nota: puedes utilizar cualquier nombre para tu tabla y eliminar cualquier columna de la consulta anterior o añadir otras que se adapten a tus necesidades.
  2. En el archivo UiPath.Orchestrator.dll.config, añade un nuevo destino de 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>
    Se pueden definir parameter correspondientes para que los datos se añadan en cada columna de la base de datos, en este ejemplo @timestamp, @level, @message y @exception.
  3. Por último, asocia el destino creado recientemente con la clasificación de registros NLog de todos los mensajes de Orchestrator, desde arriba, añadiendo lo siguiente:

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

Habilitar la depuración de NLog

NLog es una plataforma ampliable de código abierto que se configura fácilmente para una gran variedad de plataformas .NET. Con NLog, puedes almacenar o transferir datos de registros a cualquier número de destinos predeterminados o personalizados, como un archivo local, un registro de eventos, un correo electrónico o una base de datos.

Importante: Los destinos NLog personalizados no se migran automáticamente durante una actualización. Debes migrarlos a los servicios de Identity Server y Webhooks manualmente. Para obtener más información, consulta la documentación deNLog en Identity Server.
Aunque existe cierta superposición, NLog y Orchestrator tienen varios niveles de registro diferenciados. Para NLog, puedes seleccionar Trace, Debug, Info, Warn, Error, Fatal o Off. Para obtener una descripción de los niveles disponibles en Orchestrator, consulta la página Niveles de registro .
Puedes habilitar la depuración en NLog para asegurarte de que funciona correctamente. La opción predeterminada de NLog es Off. Se habilita configurando la siguiente sección del archivo 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=""> 

Los atributos que se deben establecer son:

  • internalLogLevel: el nivel de registro deseado
  • internalLogFile: la ubicación del archivo de registro

Por ejemplo:

<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"> 
Nota:
El perfil de usuario en el que se ejecuta Orchestrator debe tener acceso a la ruta especificada en el atributo internalLogFile.

Retención de vídeos grabados

Puedes optar por mantener grabaciones de las ejecuciones de trabajos en la base de datos de Orchestrator durante siete días y eliminarlas automáticamente. Para ello, debes establecer el parámetro VideoRecording.RetentionJobEnabled en true.

Réplica de solo lectura de Orchestrator

Features.Queues.QueryUseReadOnlyReplica

Establezca el valor en true si desea permitir la consulta de la réplica de solo lectura para los artículos en cola.
El valor predeterminado es false.

Monitoring.UseReadOnlyReplica

Establezca el valor en true si desea recuperar los datos de supervisión de la réplica de solo lectura.
El valor predeterminado es false.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.