- Démarrage
- Prérequis
- Meilleures pratiques
- Installation
- Mise à jour en cours
- Serveur d'identité
- Résolution des erreurs de démarrage
UiPath.Orchestrator.dll.config
UiPath.Orchestrator.dll.config
(C:\Program Files (x86)\UiPath\Orchestrator
) définit les paramètres et les préférences appliqués à votre déploiement Orchestrator.
-
Toute modification apportée aux paramètres de ce fichier sera écrasée lors de la mise à niveau.
-
Seuls les Administrators doivent modifier les valeurs de ces paramètres.
-
Il est recommandé de redémarrer manuellement le site web après avoir apporté des modification à
UiPath.Orchestrator.dll.config
. -
Vous ne devez pas modifier les paramètres non documentés sur cette page, ou qui ont des homologues sur les pages de Paramètres (Settings).
-
Tous les paramètres sont sensibles à la casse.
EncryptionKeyPerTenant.Enabled
Permet d'utiliser des clés de chiffrement différentes par locataire, selon un compte Microsoft Azure Key Vault. Les valeurs suivantes peuvent être attribuées :
false
: utilise une clé de chiffrement unique dans l'instance entière d'Orchestrator. Il s'agit de la valeur par défaut.true
- Utilise une clé de chiffrement différente pour chaque locataire, renforçant ainsi la sécurité des locataires et fournissant une meilleure répartition des données sensibles.
EncryptionKeyPerTenant.KeyProvider
, ainsi que ceux de la section SecureAppSettings.
EncryptionKeyPerTenant.KeyProvider
AzureKeyVault
pour utiliser une instance de Microsoft Azure Key Vault préconfigurée. Nous ne fournissons pas de licences Azure Key Vault. Veuillez noter que vous devez également configurer les paramètres décrits dans la section SecureAppSettings . Si EncryptionKeyPerTenant.Enabled
est défini sur false
, ce paramètre n'est pas utilisé.
Les modifications apportées aux paramètres de chiffrement dans ce cas précis doivent être mises en miroir dans le fichier appsettings.Production.json du serveur d'identité, selon l'équivalence de champ suivante :
Orchestrator UiPath.Orchestrator.dll.config |
Identity Server appsettings.Production.json |
---|---|
EncryptionKeyPerTenant.Enabled |
EncryptionKeyPerTenant |
Azure.KeyVault.VaultAddress |
AzureKeyVaultAddress |
Azure.KeyVault.CertificateThumbprint |
AzureKeyVaultCertificateThumbprint |
Azure.KeyVault.ClientId |
AzureKeyVaultClientId |
Azure.KeyVault.DirectoryId |
AzureKeyVaultDirectoryId |
EncryptionKeyPerTenant.KeyProvider |
MultiTenantEncryptionKeyProvider |
inProgressMaxNumberOfMinutes
Le délai maximal pendant lequel les éléments de la file d'attente peuvent afficher l'état En cours (In Progress). Une fois ce délai écoulé, cet état passe à Abandonné (Abandoned). Par défaut, il est configuré sur 1 440 minutes (24 heures).
QueuesStatisticsScheduleCron
La fréquence de mise à jour des statistiques des éléments de la file d'attente dans Tableau de bord (Dashboard), sur la page Transactions et dans la fenêtre Graphique (Chart). Par défaut, elles sont mises à jour toutes les minutes.
UpdateUncompletedItemsJobCron
La fréquence de recherche des files d'attente dans la base de données qui doivent passer à Abandonné (Abandoned). Par défaut, ce paramètre est configuré sur toutes les heures.
Queue.MaxSlaInMinutes
UiPath.Orchestrator.dll.config
, y compris dans les scénarios de mise à jour.
Queue.MaxSchemaFileSizeInKilobytes
UiPath.Orchestrator.dll.config
.
Queue.SlaReadaheadTimeLimitHours
UiPath.Orchestrator.dll.config
.
Queue.MaxSpecificDataSizeInKiloBytes
La taille maximale, en kilooctets, du contenu de données spécifiques pour les nouveaux éléments de file d’attente. Pour les nouvelles installations d'Orchestrator, ce paramètre est masqué et présente une valeur par défaut de 1024 (1 Mo). Dans les scénarios de mise à niveau, ce paramètre est visible et présente une valeur de 204800 (200 Mo).
Queue.ProcessActivationSchedule
Le temps entre les vérifications pour les éléments de file d’attente non traités. Par défaut, il est configuré sur 30 minutes. Pour ajuster l’intervalle de vérification, spécifiez une valeur comprise entre 0 et 59, redémarrez l’IIS, puis supprimez le déclencheur de file d’attente existant et recréez-le.
DailyAlertMailJobCron
Permet de configurer une expression cron qui contrôle l'envoi des alertes quotidiennes par e-mail. Cela ne fonctionne que si les alertes par e-mail sont activées. Le rapport contient toutes les alertes de gravité, ayant un statut Fatal (Fatal) et Erreur (Error), générées le jour précédent. Par défaut, il est envoyé tous les jours à 7 heures du matin.
Alerts.Email.Enabled
false
. Vous pouvez le définir sur true
pour activer automatiquement les alertes par e-mail pour le locataire que vous êtes sur le point de créer.
Une fois le locataire créé, cependant, les modifications apportées à ce paramètre ne sont plus prises en compte. Au lieu de cela, le paramètre peut être activé via la case à cocher Activer les alertes par e-mail (Enable Alerts Email) de la page Paramètres (Settings). Plus de détails ici.
NotificationDistributerJobCron
La fréquence d'envoi des notifications d'alertes à l'interface. Les alertes sont envoyées par défaut toutes les 10 secondes.
PeriodicErrorMailJobCron
Permet de configurer une expression cron qui contrôle la fréquence d'envoi des alertes périodiques par e-mail. Cela ne fonctionne que si les alertes par e-mail sont activées. La valeur par défaut est toutes les 10 minutes, ce qui signifie que le rapport contient des alertes de gravité ayant le statut Fatal (Fatal) et Erreur (Error) générées au cours des 10 dernières minutes. Si aucune alerte n'a été générée, aucun rapport n'est envoyé.
PasswordComplexity
Contrôle les règles de validation pour la complexité du mot de passe et s'exprime à l'aide d'expressions régulières. La complexité s'applique par défaut à tous les mots de passe (y compris celui de l'administrateur hôte). Toutefois, chaque locataire peut personnaliser sa propre complexité de mot de passe de connexion utilisateur dans l'onglet Sécurité (Security) de la page Paramètres (Settings). Par défaut, les mots de passe doivent contenir au minimum 8 caractères et au minimum une lettre et un chiffre.
SystemJobs.DetectNotRespondingRobots.MaxAlertCount
<add key="SystemJobs.DetectNotRespondingRobots.MaxAlertCount" value="10" />
dans le fichier UiPath.Orchestrator.dll.config
, sous tous les autres paramètres d'alerte. Si vous appliquez ce paramètre, veuillez noter qu'un avertissement est généré dans l'observateur d'événements lorsque le nombre total d'alertes est supérieur à celui des alertes configurées, par exemple : Alerts not published: total number of unresponsive sessions (21) is bigger than the configured max allowed (10).
.
SystemJobs.LicenseExpirationAlert.DaysBefore
180,90,30,14,7,1
, impliquant que vous recevez les alertes par e-mail 6 fois : 180, 90, 30, 14, 7 et 1 jour avant l'expiration de votre licence. Pour réduire la fréquence des alertes par e-mail, vous pouvez définir moins de valeurs. Par exemple, vous pouvez le faire en ajoutant la clé suivante dans le fichier UiPath.Orchestrator.dll.config
: <add key="SystemJobs.LicenseExpirationAlert.DaysBefore" value="90,30,14" />
.
Storage.Type
et Storage.Location
.
Storage.Type
Définit la cible où les paquets et les supports d'exécution sont enregistrés. Vous pouvez la remplir à l'aide des cibles suivantes :
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
Définit l'emplacement réel où les paquets et les supports d'exécution sont enregistrés.
Storage.Location
est requis :
- lors de la mise à niveau de n’importe quelle version pré-2020.10 d’Orchestrator, et
- lorsque le
NuGet.Repository.Type
précédent a étéLegacy
, et - quand les
NuGet.Packages.Path
précédents n’ont pas utilisé la valeur par défaut.
Cible |
Emplacement |
---|---|
Système de fichiers |
Fournissez un chemin absolu en utilisant le format suivant :
RootPath=C:\FolderName\AnotherFolderName .
Exemple :
<add key="Storage.Location" value="RootPath=C:\FolderName\AnotherFolderName" /> .
Dans le dossier fourni, la structure de dossier suivante est créée : Orchestrator-Host\Libraries - Un dossier dédié aux bibliothèques stockées dans le flux hôte.
Orchestrator-[tenantKey] - Un dossier pour chaque locataire. Le locataire est identifié par la clé du locataire se trouvant dans la base de données. Par exemple, Orchestrator-12ab1234-a567-456b-a12b-ab3456b123ab .
Pour chaque dossier de locataire, trois autres sous-répertoires sont créés :
Les fichiers sont enregistrés dans les dossiers dédiés à l’emplacement spécifié. Par défaut, ils sont stockés sur le chemin suivant :
C:\Program Files (x86)\UiPath\Orchestrator\Storage .
|
Azure |
Fournissez une chaîne de connexion. Exemple :
<add key="Storage.Location" value="DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net" /> .
|
Amazon |
Exemple :
<add key="Storage.Location" value="EndpointRegion=eu-west-3;accessKey=AKIAZGUEIGXUJ3BBI4MW;secretKey=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;useHttp=false" /> .
Exemple :
<add key="Storage.Location" value="EndpointRegion=eu-west-3;accessKey=AKIAZGUEIGXUJ3BBI4MW;secretKey=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;useHttp=false;BlockPublicAccess=true" /> .
Exemple :
<add key="Storage.Location" value="EndpointRegion=eu-west-3;UseDefaultCredentials=true" /> .
|
Minio |
Fournissez une chaîne de connexion. Exemple :
<add key="Storage.Location" value="host=localhost:9001;accessKey=YVKYFJ0ZY246KDKP0634;secretKey=bdBEk2ubhIFsTNPuQ80PjKL+oqZBj67HoSWBFnw1" /> .
|
Exemple
<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 configuration ci-dessus indique à Orchestrator :
- de stocker les métadonnées de paquets dans la base de données SQL ;
- de conserver les fichiers réels dans le stockage blob Azure à l'emplacement indiqué par la chaîne de connexion
DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net
; -
d'utiliser la convention d'affectation de noms pour le nom du conteneur Azure -
Orchestrator-tenantKey
.Important :Si vous avez plus de 99 locataires dans Orchestrator, vous avez deux options pour éviter la limite de compte de compartiment AWS S3.
- Stockez vos données dans un compartiment externe unique, comme indiqué dans la section suivante.
- Augmentez votre limite de compte de compartiment AWS S3 par défaut pour correspondre au nombre de locataires.
Cela est nécessaire car un compartiment distinct est créé pour chaque locataire.
Stocker les données d'Orchestrator dans un seul compartiment externe
Pour utiliser un seul compartiment avec votre propre fournisseur de stockage externe, ajoutez les paramètres suivants à la chaîne de connexion correspondante :
BucketName
- Obligatoire. Permet à Orchestrator de stocker tous les locataires dans un seul compartiment. Il nécessite le nom du compartiment tel qu'il est défini dans votre fournisseur de stockage. Pour cela, votre stockage externe doit exister avant l'installation d'Orchestrator.CanCreateBucket
– Facultatif. S'il est défini sur true, il permet à Orchestrator de créer le compartiment dans votre stockage externe en votre nom. La valeur par défaut est Faux.
ContentPrefix
- facultatif. Spécifie le chemin de vos données Orchestrator à l'intérieur du stockage externe. Par exemple,orchestrator/data
.
Exemple : Utilisation d'un seul compartiment avec votre propre fournisseur de stockage externe
<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
NuGet.Activities.ApiKey
. La valeur par défaut est utilisée dans l'amorçage initial de la base de données. Notez que des chaînes arbitraires sont également acceptées.
NuGet.Activities.ApiKey
NuGet.Packages.ApiKey
. Notez que des chaînes arbitraires sont également acceptées.
La synchronisation du paquet entre plusieurs nœuds Orchestrator et l'interface peut s'effectuer en surveillant le système de fichiers ou en utilisant Redis. Vous pouvez utiliser la configuration ci-dessous. La méthode recommandée est via Redis.
Processes.AllowUpdateWithRunningJobs
Spécifie si vous pouvez supprimer un processus alors que des tâches en cours d'exécution ou en attente lui sont associées. Veuillez noter que ce paramètre est masqué par défaut. Les valeurs suivantes sont disponibles :
true
: des processus peuvent être supprimés lorsque des exécutions en cours ou en attente leur sont associées.false
: les processus ne peuvent pas être supprimés lorsque des exécutions en cours ou en attente leur sont associées. La tentative de modification d'un processus, dans ce cas, affiche le message d'erreur suivant : « La modification de ce processus n'est pas possible en ce moment, car des tâches actives lui sont associées. (#1666) ». Ceci est la valeur par défaut.
<add key="Processes.AllowUpdateWithRunningJobs" value="true" />
dans le fichier UiPath.Orchestrator.dll.config
.
Deployment.Libraries.AllowTenantPublish
Permet de spécifier si les locataires utilisant le flux hôte peuvent ou non télécharger des bibliothèques dans le flux. Les valeurs suivantes sont disponibles :
true
- Les bibliothèques téléchargées au niveau du locataire sont transmises au flux hôte. Ceci est la valeur par défaut.false
- Les bibliothèques téléchargées au niveau du locataire ne sont pas transmises au flux hôte. Cependant, veuillez noter que les utilisateurs ont accès aux bibliothèques existantes dans le flux.
Vous pouvez également configurer cela à partir de l'interface utilisateur. L'option correspondante, Autoriser les utilisateurs du locataire à télécharger dans le flux (Allow Tenant Users to Upload into the Feed), est disponible au niveau de l'hôte, sur la page Paramètres (Settings).
Buckets.ContentSecurityPolicy
UiPath.Orchestrator.dll.config
.
Buckets.AvailableProviders
Utilisé pour contrôler le nombre de fournisseurs qui peuvent être utilisés lors de la création de compartiments de stockage. Les fournisseurs disponibles sont : Orchestrato, Amazon, Azure, Minio, les fournisseurs de stockage compatibles S3 et le système de fichiers. Plusieurs valeurs peuvent être saisies sous forme de listes séparées par virgules.
UiPath.Orchestrator.dll.config
, et seuls les fournisseurs suivants sont sélectionnés : Orchestrator
, Amazon
, Azure
, Minio
et S3Compatible
.. Le comportement par défaut est spécifique aux nouvelles installations et aux mises à niveau. Si la clé est visible, les fournisseurs disponibles sont limités à ceux spécifiés en tant que valeurs Buckets.AvailableProviders
.
Exemple : pour utiliser uniquement Orchestrator, Amazon et Azure comme fournisseurs de compartiments de stockage, ajoutez la clé suivante :
<add key="Buckets.AvailableProviders" value="Orchestrator,Amazon,Azure" />
<add key="Buckets.AvailableProviders" value="Orchestrator,Amazon,Azure" />
Buckets.FileSystem.Allowlist
Buckets.FileSystem.Allowlist
.
|
. Notez que les chemins doivent être complets, être enracinés soit via un chemin drive, soit un chemin UNC (par exemple c:\
, c: est
, \\servershare\shared
), et chacun d’eux constituer un préfixe autorisé à être utilisé pour n’importe quel compartiment. Un compartiment peut être créé sur ce chemin particulier ou n’importe lequel de ses sous-chemins.
Buckets.FileSystem.Allowlist
comporte un ensemble d’implications en matière de sécurité, il est fortement conseillé de vous référer à la section Utiliser la liste d’autorisation de stockage FileSystem en toute sécurité avant de procéder.
AcceptedRootUrls
,
), par exemple, "https://server1,https://server2"
.
Auth.Bearer.Robot.Expire
Le délai après lequel le jeton du porteur de votre Robot expire. Par défaut, il est configuré sur 30 minutes.
Auth.DisabledPermissions
<add key="Auth.DisabledPermissions" value="Machines.Delete,Libraries.Delete" />
.
Auth.AllowChangePassword
Permet d’indiquer si un utilisateur peut modifier son mot de passe via une API. Ce paramètre n’est pas affiché par défaut dans le fichier UiPath.Orchestrator.dll.config
. Les valeurs disponibles sont true
(valeur par défaut) et false
.
Auth.AllowSelfEmailUpdate
true
Définissez le paramètre sur false
pour que le champ soit en lecture seule. Ce paramètre n'est pas affiché par défaut dans le fichier UiPath.Orchestrator.dll.config
.
ExternalAuth.AccessTokenAuth.Enabled
UiPath.Orchestrator.dll.config
. Les valeurs suivantes sont disponibles :
true
- L'utilisateur peut faire des demandes authentifiées en utilisant un jeton d'accès délivré par Auth0. Cela n'est pris en compte que si vous définissez un public valide pour le paramètreExternalAuth.AccessTokenAuth.Audience
.false
: l'utilisateur ne peut pas effectuer de requêtes authentifiées à l'aide d'un jeton d'accès émis par Auth0. Il s'agit de la valeur par défaut.
ExternalAuth.AccessTokenAuth.Audience
<add key="ExternalAuth.AccessTokenAuth.Audience" value="https://cloud.uipath.com" />
. Ce paramètre n'est pas affiché par défaut dans le fichier UiPath.Orchestrator.dll.config
.
ExternalAuth.ShowPII
<add key="ExternalAuth.ShowPII" value="true" />
. La clé n’est pas affichée par défaut dans UiPath.Orchestrator.dll.config
et le comportement par défaut ne permet pas d'afficher les PII.
RestrictBasicAuthentication
Déplacé vers appsettings.json du serveurd'identité.
EnableBasicAuthenticationForHostTenant
Déplacé vers appsettings.json du serveurd'identité.
Ces paramètres ne doivent être modifiés que si vous utilisez un équilibreur de charge.
LoadBalancer.UseRedis
false
.
LoadBalancer.Redis.ConnectionString
LoadBalancer.UseRedis
est défini sur true
. Une chaîne de connexion qui permet de configurer votre serveur Redis, qui contient l'URL du serveur, le mot de passe et le port utilisé avec Redis. Tous les nœuds de cluster HAA doivent être ajoutés dans la chaîne de connexion.
Il est également possible d'activer les connexions chiffrées en SSL entre les nœuds d'Orchestrator et le service Redis. Pour plus d'informations, cliquez ici. Exemples :
- avec SSL activé :
<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" />
- sans SSL activé :
<add key="LoadBalancer.Redis.ConnectionString" value="10.10.20.184:10000,10.10.24.148:10000,10.10.22.114:10000,password=12345678" />
Plugins.SecureStores
\Orchestrator\Plugins
de votre répertoire d'installation. Par exemple :
- Magasin unique :
<add key="Plugins.SecureStores" value="UiPath.Orchestrator.CyberArk.dll"/>
-
Plusieurs magasins :
<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" />
Remarque : Lors de la mise à niveau d'une instance Orchestrator avec une intégration CyberArk existante, ce paramètre est prérempli avec le plugin CyberArk. Pour toutes les autres installations, la valeur du paramètre est vide par défaut.
Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath
CLIPasswordSDK64.exe
dans un chemin d'installation personnalisé. Par exemple, si D:\CustomFolder\
est le répertoire d'installation de CyberArk, vous devez ajouter la clé suivante : <add key="Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath" value="D:\CustomFolder\CLIPasswordSDK64.exe"/>
. La valeur par défaut de ce paramètre d'application est C:\Program Files (x86)\CyberArk\ApplicationPasswordSdk\CLIPasswordSDK64.exe
.
Plugins.SecureStores.CyberArk.UsePowerShellCLI
false
. Ajoutez la clé suivante pour l’activer : <add key="Plugins.SecureStores.CyberArk.UsePowerShellCLI" value="true"/>
.
Plugins.SecureStores.CyberArkCCP.KeyStorageFlags
Permet de choisir où stocker et comment importer la clé privée du certificat client configuré pour un magasin d'identifiants CyberArk CCP.
DefaultKeySet
étant l'option par défaut.
EphemeralKeySet
ne fonctionne pas sur les machines Windows. Nous recommandons de plutôt utiliser MachineKeySet
.
La configuration de l’authentification Azure AD a été déplacée vers la page Fournisseurs externes d'Identity Server.
La configuration de l'authentification Active Directory est effectuée après l'installation à partir du portail de gestion (Management portal) d'Orchestrator.
Pour obtenir des instructions, consultez la page Configurer l'intégration d'Active Directory (Configuring the Active Directory integration).
Logs.RobotLogs.ReadTarget
database
ou robotelasticbuffer
RobotsLogs.Flush.Interval
UiPath.Orchestrator.dll.config
. Sauf indication contraire, sa valeur est de 0 seconde. L’exemple suivant montre comment définir un intervalle de nettoyage de 60 secondes, ce qui signifie que le robot envoie des journaux au serveur toutes les 60 secondes.
<add key="RobotsLogs.Flush.Interval" value="60" />
<add key="RobotsLogs.Flush.Interval" value="60" />
RobotsLogs.Flush.BatchSize
UiPath.Orchestrator.dll.config
. Sauf indication contraire, sa valeur est de 100 entrées de messages de journalisation, ce qui signifie que le Robot envoie des lots de 100 journalisations au serveur.
<add key="RobotsLogs.Flush.BatchSize" value="100" />
<add key="RobotsLogs.Flush.BatchSize" value="100" />
Logs.RequestAbortedLogBehavior
Indique le comportement de journalisation des exceptions d'annulation qui sont levées lors de l'annulation d'une opération qui s'exécutait. Celles-ci sont générées, par exemple, lorsque vous cliquez sur un bouton et avant que l'opération soit exécutée, vous cliquez sur un bouton différent. Veuillez noter que ce paramètre est masqué par défaut. Les valeurs suivantes sont disponibles :
Ignore
: toutes les exceptions d'annulation sont ignorées, si les requêtes correspondantes ont été abandonnées. Il s'agit de la valeur par défaut.Info
: les exceptions d'annulation sont consignées avec le niveau de gravité Info.None
: les exceptions d'annulation sont consignées avec le niveau de gravité Error.
<add key="Logs.RequestAbortedLogBehavior" value="Ignore" />
dans le fichier de configuration.
Logs.Elasticsearch.SharedIndex
index
dans la cible NLog. Par exemple, <add key="Logs.Elasticsearch.SharedIndex" value="robotlogs" />
. Vous trouverez plus de détails ici. Veuillez noter que ce paramètre est masqué par défaut.
Logs.Elasticsearch.EnableFolderIdFilter
true
par défaut, ce qui signifie que les journaux sont masqués. Définissez-le sur false
pour les afficher : <add key="Logs.Elasticsearch.EnableFolderIdFilter" value="false" />
Logs.Elasticsearch.Username
Le nom d'utilisateur requis pour lire les journaux dans Elasticsearch. Notez que vous devez configurer ce paramètre uniquement si l'authentification Elasticsearch est activée et que vous n'utilisez pas de cible NLog. Lors de la configuration du paramètre, assurez-vous que sa valeur correspond aux paramètres du serveur Elasticsearch. Pour plus de détails, consultez l'Authentification X-PACK.
Logs.Elasticsearch.Password
Le nom d'utilisateur requis pour lire les journaux dans Elasticsearch. Notez que vous devez configurer ce paramètre uniquement si l'authentification Elasticsearch est activée et que vous n'utilisez pas de cible NLog. Lors de la configuration du paramètre, assurez-vous que sa valeur correspond aux paramètres du serveur Elasticsearch. Pour plus de détails, consultez l'Authentification X-PACK.
Logs.Elasticsearch.OAuthEnabled
true
pour activer OAuth2 et utiliser un mécanisme d'authentification basé sur jeton pour lire les journaux du robot dans Elasticsearch, ce qui constitue une alternative au système d'authentification par utilisateur et mot de passe. Par défaut, ce paramètre est défini sur false
.
Lors de l'activation de l'authentification OAuth, vous devez toujours fournir le nom d'utilisateur et le mot de passe, comme dans la méthode d'authentification par défaut. Cela est nécessaire car le jeton initial est généré en fonction de ces informations d'identification.
Consultez Authentification OAuth2 pour obtenir des instructions détaillées sur la configuration de l'authentification OAuth2 pour Elasticsearch.
Logs.Elasticsearch.OAuthExpireInSeconds
Vous permet de définir le délai (en secondes) avant l'expiration et l'actualisation du jeton d'accès utilisé pour lire les journaux du robot dans Elasticsearch. Sa valeur par défaut recommandée est de 1200 secondes (20 minutes) et sa valeur maximale est de 3600 secondes (60 minutes). Pour invalider un jeton, vous pouvez utiliser le bouton dédié accessible sur l'interface utilisateur d'Orchestrator.
Logs.Elasticsearch.OAuthEnabled
est défini sur true
et que vous avez correctement configuré le serveur Elasticsearch. Pour plus de détails, consultez l'Authentification OAuth2.
Logs.Elasticsearch.DisableProductCheckStatus
true
.
false
.
disableProductCheckStatus
dans le fichier Nlog, qui est également masqué et false
par défaut. Il doit également être défini sur true
pour activer la fonctionnalité.
D’autres paramètres Webhooks sont disponibles dans Webhooks AppSettings.json.
Webhooks.VerifyAvailability.Enabled
true
par défaut, ce qui indique que la fonctionnalité est activée.
Scalability.Heartbeat.PeriodSeconds
30
secondes.
Scalability.Heartbeat.FailureThreshold
4
, impliquant qu'après 2 minutes de pulsations avortées (4 x 30 secondes = 2 minutes), un Robot est marqué comme ne répondant pas.
Scalability.SignalR.Enabled
true
. Ce paramètre est utilisé dans l'amorçage initial de la base de données. Pour effectuer des modifications après l'installation, utilisez la page Paramètres (Settings), au niveau du locataire ou de l'hôte.
Scalability.SignalR.Transport
Spécifie le protocole de transport utilisé pour se connecter aux canaux SignalR d'Orchestrator. Les valeurs suivantes peuvent être attribuées (toute combinaison - OR au niveau du bit) :
- WebSocketTransport = 1
- ServerSentEventsTransport = 2
- LongPollingTransport = 4
- Valeur par défaut : 7 (WebSocketTransport | ServerSentEventsTransport | LongPollingTransport)
Ce paramètre est utilisé dans l'amorçage initial de la base de données. Pour effectuer des modifications après l'installation, utilisez la page Paramètres au niveau du locataire ou de l'hôte.
Scalability.AzureSignalR.ConnectionString
Vous aide à activer le service Azure SignalR, facilitant la communication directe entre votre ensemble de Robots et le service SignalR
Scalability.AzureSignalR.ConnectionCount
. Ce paramètre est activé dans notre offre de Cloud. Il ne s'affiche pas par défaut dans le fichier UiPath.Orchestrator.dll.config
.
<add key="Scalability.AzureSignalR.ConnectionString" value="Endpoint=https://test.signalr.net;AccessKey=M1ug+sBu07hyyi12AgyJ52SEd4OgC2Mm6BvllVHCC9c=;Version=1.0;" />
.
Scalability.AzureSignalR.ConnectionCount
5
. Exemple : <add key="Scalability.AzureSignalR.ConnectionCount" value="7" />
. Ce paramètre n'est pas affiché par défaut dans le fichier, et ne peut pas être utilisé sans la clé Scalability.AzureSignalR.ConnectionString
.
Scalability.SignalR.RequireStickySessions
true
, tous les transports sont activés, et Orchestrator suppose que les sessions permanentes sont activées sur l' équilibreur de charge. L’activation de sessions permanentes dans UiPath.Orchestrator.dll.config
sans les activer sur l' équilibreur de charge entraînera l'échec des connexions SignalR.
Telemetry.Enabled
Active ou désactive la collecte de données d'utilisation et de performances qu'UiPath utilise pour aider à diagnostiquer les problèmes et à améliorer Orchestrator. Pour plus d'informations sur les pratiques de confidentialité d'UiPath, examinez la déclaration de confidentialité. Les valeurs suivantes sont disponibles :
true
: la fonctionnalité de télémétrie est activée. Il s'agit de la valeur par défaut.false
- la fonctionnalité de télémétrie est désactivée.
Il est également possible d'accepter ou de refuser la collecte de données de performances et d'utilisation lors de l'installation ou de la mise à jour de votre instance d'Orchestrator, comme décrit ici.
MediaRecording.Enabled
false
pour désactiver la fonctionnalité d'enregistrement. Par défaut, il est défini sur true
, impliquant que la fonctionnalité est activée. Le stockage des fichiers est configuré à l'aide des paramètres Storage.Type
et Storage.Location
.
Pagination.Limits.Enabled
true
pour Cloud Platform et les nouvelles installations des instances d'Orchestrator sur site. Ajoute une valeur $top
pour tous les appels vers les points de terminaison d'API avec des paramètres de pagination (par exemple, odata/Users
).
Triggers.DisableWhenFailedCount
Triggers.DisableWhenFailedCount
vous permet d'ajuster le nombre d'exécutions infructueuses tandis que Triggers.DisableWhenFailingSinceDays
vous permet de modifier le nombre de jours. Par défaut, la valeur Triggers.DisableWhenFailedCount
est définie sur 10 et la valeur Triggers.DisableWhenFailingSinceDays
sur 1, ce qui signifie que le déclencheur est désactivé après 10 tentatives infructueuses de lancement s'il n'y a pas eu d'exécutions réussies au cours de la journée précédente.
Triggers.DisableWhenFailedCount
sur 0.
Un déclencheur est automatiquement désactivé s’il connaît 10 échecs de lancement consécutifs et qu’il n’a pas été lancé avec succès au cours des dernières 24 heures.
Triggers.JobsCountStrategy
Active la stratégie de comptage des tâches pour les tâches lancées par le biais de déclencheurs. Masqué par défaut. Les options suivantes sont disponibles :
PerProcess
- Un déclencheur lance le nombre de tâches requises en tenant compte de toutes les tâches en attente pour le processus spécifié. Par exemple, deux déclencheurs définis pour le même processus lancent respectivement 3 et 5 tâches. Si le premier déclencheur lance 3 tâches à un moment donné, lorsque le second déclencheur est déclenché, 2 tâches sont lancées de manière à atteindre les 5 tâches requises. Ajoutez la clé suivante dans le fichier de configuration pour utiliser cette stratégie :<add key="Triggers.JobsCountStrategy" value="PerProcess" />
. Il s’agit de la valeur par défaut.PerTrigger
- Un déclencheur lance le nombre requis d’emplois en tenant compte des emplois existants précédemment lancés par ce même déclencheur. Par exemple, un déclencheur est défini pour lancer 9 emplois à un moment donné. Si 2 travaux ont été complétés avec succès au moment où ce déclencheur est déclenché à nouveau, Orchestrator lance 2 autres emplois afin d’atteindre les 9 emplois requis. Ajoutez la clé suivante dans le fichier config pour utiliser cette stratégie :<add key="Triggers.JobsCountStrategy" value="PerTrigger" />
.NoLimit
- Un déclencheur lance le nombre de tâches requises en tenant compte de toutes les tâches existantes précédemment lancées par ce même déclencheur. Par exemple, un déclencheur est défini pour lancer 9 tâches à un moment donné. Si 2 tâches ont été exécutées avec succès au moment où ce déclencheur est à nouveau déclenché, Orchestrator lance 2 autres tâches afin d'atteindre les 9 tâches requises. Ajoutez la clé suivante dans le fichier de configuration pour utiliser cette stratégie :<add key="Triggers.JobsCountStrategy" value="NoLimit" />
.
Features.QueueTriggers.PendingJobsStrategy
Permet de choisir la méthode de calcul du nombre de tâches supplémentaires à déclencher lorsque de nouveaux éléments sont ajoutés à une file d'attente. Cela se fait en soustrayant le nombre de tâches dans un certain état du nombre maximal ciblé de tâches à créer.
Les options suivantes sont disponibles :
-
True
- C'est l'option par défaut. Cette option convient mieux aux cas où vous souhaitez qu'Orchestrator suppose que toutes les tâches en cours d'exécution n'ont pas encore retiré les éléments de la file d'attente du statut Nouveau (New).Le nombre est calculé comme suit :
Nombre maximal de tâches supplémentaires à créer en fonction des éléments de file d'attente nouvellement disponibles = nombre maximal de tâches en attente et en cours d'exécution autorisés simultanément - nombre de tâches dans un état En attente (Pending).
-
False
: cette option convient mieux aux cas où vous souhaitez qu'Orchestrator suppose que toutes les tâches en cours d'exécution n'ont pas encore retiré les éléments de la file d'attente du statut Nouveau (New).Le nombre est calculé comme suit :
Nombre maximal de tâches supplémentaires à créer en fonction des éléments de file d'attente nouvellement disponibles = le nombre maximal de tâches en attente et en cours autorisées simultanément moins le nombre de tâches dans l'un des états suivants : Pending,Resumed,Running,Stopping,Terncing.
PreventAutoRefresh.Enabled
<add key="PreventAutoRefresh.Enabled" value="true" />
peut être ajoutée pour limiter la réactualisation automatique de la page lorsque des tâches sont en cours d'exécution. La clé n'est pas affichée par défaut, et la valeur par défaut est false
, ce qui signifie que Orchestrator actualise automatiquement la page pour chaque nouvelle tâche.
PreventAutoRefresh.Enabled
.
Features.ClassicFolders.Enabled
false
, ce qui signifie que les dossiers classiques sont désactivés et que seuls les dossiers modernes sont disponibles. Ce paramètre est masqué par défaut.
Jobs.TerminatingJobsTimeout
1440
, ce qui signifie que les tâches ne peuvent pas être marquées comme Défaillantes à moins qu’elles aient été en cours d'achèvement pendant au moins une journée. Ce paramètre est masqué par défaut.
Jobs.TerminatingJobsCleanupCron
Jobs.TerminatingJobsTimeout
. Les valeurs par défaut sont 0 0 0/3 1/1 * ? *
pour Jobs.TerminatingJobsCleanupCron
, et 1440
pour Jobs.TerminatingJobsTimeout
, ce qui signifie que la tâche en arrière-plan s’exécute une fois toutes les trois heures et que seules les tâches qui sont en cours d'achèvement pendant au moins un jour deviennent Défaillantes. Ce paramètre est masqué par défaut.
PW.StopExploringCron
0 25 * ? * *
, ce qui signifie que la tâche d'arrière-plan s'exécute à la 25 minute de chaque heure. S'ils ne disposent pas des autorisations requises, les sessions d'exploration sont arrêtées. Veuillez noter que ce paramètre est masqué par défaut.
Features.LongRunning.Enabled
<add key="Features.LongRunning.Enabled" value="true" />
.
Tasks.ModuleEnabled
<add key="Tasks.ModuleEnabled" value="true" />
. Ce paramètre rend la fonctionnalité disponible au niveau des instances. Pour le configurer sur une base par locataire, suivez les étapes ici. Le paramètre Features.LongRunning.Enabled
doit être défini sur true
pour prendre effet.
Features.SmartCardAuthentication.Enabled
<add key="Features.SmartCardAuthentication.Enabled" value="true" />
.
OData.BackwardsCompatible.Enabled
true
, les caractères spéciaux inclus dans le corps des requêtes et des réponses sont analysés. Par défaut, ce paramètre est masqué et défini sur false
.
NotRespondingRobotsJobStartDelay
UiPath.Orchestrator.dll.config
.
Upload.Queues.MaxNumberOfItems
15000
. Veuillez noter que ce paramètre n'est pas affiché par défaut dans UiPath.Orchestrator.dll.config
.
Processes.FilterOutDeleted
Permet d'optimiser la manière dont Orchestrator récupère les processus. L'optimisation est obtenue en supprimant les vérifications inutiles pour les processus orphelins dont les packages associés ont été supprimés. Cela améliore les performances globales de votre instance, surtout s'il s'agit d'un grand déploiement. Les valeurs suivantes sont disponibles :
false
- La récupération des packages est optimisée, aucune vérification n'est effectuée pour les processus orphelins.true
: la récupération des packages n'est pas optimisée.
true
, ce qui signifie que la récupération de processus n'est pas optimisée.
CertificatesStoreLocation
<add key="CertificatesStoreLocation" value="LocalMachine" />
. Assurez-vous que AzureKeyVaultCertificateStoreLocation
dans appsettings.Production.json a la même valeur.
ProxyIntegration.Enabled
UiPath.Orchestrator.dll.config
et sa valeur est définie sur true
, ce qui signifie que l'intégration du proxy est activée, sauf indication contraire. Utilisez <add key="ProxyIntegration.Enabled" value="false"/> pour désactiver l'intégration du proxy.
La clé de cryptage utilisée pour sécuriser les mots de passe dans les actifs d'identification. Si vous utilisez un environnement avec un équilibreur de charge du réseau, cette clé doit être la même pour toutes les machines.
EncryptionKeyPerTenant.Enabled
est défini sur true
et EncryptionKeyPerTenant.KeyProvider
défini sur AzureKeyVault
. En outre, assurez-vous de fournir toutes les autorisations de clé, de clé secrète et de certificat à votre instance d'Orchestrator, dans les stratégies d'accès de votre Azure Key Vault. Pour connaître la procédure complète, veuillez consulter cette page.
ae11aa1a-1234-1234-a123-a12a12aaa1aa
. Ce paramètre n'est pas affiché par défaut dans le fichier UiPath.Orchestrator.dll.config
. Exemple : <add key="Azure.KeyVault.ClientId" value="ae11aa1a-1234-1234-a123-a12a12aaa1aa" />
.
UiPath.Orchestrator.dll.config
. Exemple : <add key="Azure.KeyVault.CertificateThumbprint" value="1234123412341234123412341234124312341234" />
.
https://CustomVaultName.vault.azure.net/
. Ce paramètre n'est pas affiché par défaut dans le fichier UiPath.Orchestrator.dll.config
. Exemple : <add key="Azure.KeyVault.VaultAddress" value="https://CustomVaultName.vault.azure.net/" />
Cette section contient les paramètres de configuration des jetons d’accès S2S et des jetons d’accès d’enregistrement de robots.
UiPath.Orchestrator.dll.config
:
IdentityServer.GroupMembershipCacheExpireHours
1
IdentityServer.Integration.Enabled
true
.
IdentityServer.Integration.Authority
https://Orchestrator/Identity
, où Orchestrator
constitue l'adresse d'installation de votre Orchestrator.
IdentityServer.Integration.ClientId
Permet de définir l'ID d'application (Client Id) utilisé pour générer les jetons d'accès S2S enregistrés dans le Identity Server. Sa valeur est générée au moment de l’installation.
IdentityServer.Integration.ClientSecret
Permet de faire reconnaître la clé secrète du client de l’application Orchestrator S2S par le serveur d'identité. Sa valeur est générée au moment de l’installation.
IdentityServer.Integration.AccessTokenCacheBufferInSeconds
50
.
IdentityServer.Integration.UserOrchestratorApiAudience
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" />
UiPath.Orchestrator.dll.config
:
IdentityServer.Integration.S2SOrchestratorApiAudience
OrchestratorApiS2SAccess
.
UiPath.Orchestrator.dll.config
contient également les clés préexistantes suivantes avec leurs valeurs définies sur true
:
MultiTenancy.AllowHostToAccessTenantApi
true
, il permet aux utilisateurs hôtes d'accéder aux données spécifiques des autres locataires. Par défaut, sa valeur est définie sur true
.
MultiTenancy.TenantResolvers.HttpGlobalIdHeaderEnabled
true
permet à Orchestrator d'identifier le locataire en lisant l'ID global du locataire à partir de l'en-tête de demande de l'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" />
Orchestrator fait office de générateur de jetons auprès des Robots. Les Robots appellent le point de terminaison Orchestrator pour générer un jeton d'accès. Le jeton d'accès est ensuite transmis aux activités qui peuvent faire appel à différentes ressources, telles que AI Fabric. L'intégration de Identity Server à Orchestrator permet au serveur d'identité de prendre en charge la génération des jetons d'accès.
Cette section contient les paramètres de configuration du serveur de mise à jour.
Fréquence à laquelle le client vérifie les mises à jour. La valeur par défaut est 180 minutes.
Après combien de minutes démarre une mise à jour forcée si la mise à jour a été reportée. La valeur par défaut est 1 440 minutes.
Après combien de minutes démarre une mise à jour forcée si la mise à jour a été reportée. Ceci est spécifique aux mises à jour planifiées. La valeur par défaut est 10 minutes.
Combien de fois une mise à jour ayant échoué est relancée. La valeur par défaut est 3.
Comment la nouvelle tentative est effectuée en fonction des séries chronologiques.
Exemple :
- Première tentative : après la valeur configurée en minutes.
- Deuxième tentative : après deux fois la valeur configurée en minutes.
- Troisième tentative : après quatre fois la valeur configurée en minutes.
UiPath.Orchestrator.dll.config
correspondante : <logger name="Robot.*" writeTo="database,robotElasticBuffer" final="true" />
. Elle est utilisée pour configurer des messages du journal générés par des Robots. Vous devez configurer les paramètres suivants :
-
writeTo
: emplacement où les messages du journal générés par le Robot sont écrits. Les valeurs suivantes sont disponibles :database
: les journaux sont envoyés à la base de données SQL d'Orchestrator. Il s'agit de l'une des valeurs par défaut.-
robotElasticBuffer
: les journaux sont envoyés à Elasticsearch. Il s'agit de la deuxième valeur par défaut. N'oubliez pas que cela nécessite des paramètres supplémentaires. Détails ici.L'envoi de journaux à la base de données SQL d'Orchestrator et à Elasticsearch permet d'avoir des journaux de non-répudiation. Supprimez l'une des valeurs pour arrêter de vous connecter à cet emplacement.
final
: un indicateur qui spécifie la marche à suivre lorsqu'une correspondance entre un message consigné et le nom de l'enregistreur est trouvée. Lorsqu'il est configuré surtrue
, il ne recherche pas d'autre correspondance. Lorsqu'il est configuré surfalse
, d'autres règles correspondant à la même source sont vérifiées. Par défaut, il est configuré surtrue
.
UiPath.Orchestrator.dll.config
correspondante : <logger name="Monitoring.*" writeTo="monitoring" minlevel="Warn" final="true" />
. Elle est utilisée pour configurer les journaux d'erreurs affichés sur la page Surveillance (Monitoring). Notez que si vous supprimez cette règle ou que vous modifiez target
, aucun journal d'erreur ne s'affichera sur la page Surveillance (Monitoring).
UiPath.Orchestrator.dll.config
correspondante : <logger name="BusinessException.*" minlevel="Info" writeTo="businessExceptionEventLog" final="true" />
. Elle est utilisée pour configurer les journaux des exceptions métier levées. Par exemple, des problèmes de validation (par exemple Invalid username
) ou des conflits métier (par exemple License expired
).
UiPath.Orchestrator.dll.config
correspondante : <logger name="*" minlevel="Info" writeTo="eventLog" />
. Elle est utilisée pour configurer tous les autres journaux, outre ceux décrits ci-dessus, y compris ceux générés par Orchestrator.
En savoir plus sur les paramètres supplémentaires.
La cible NLog suivante doit être remplie en fonction de votre configuration d'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
: URL d'ElasticSearch ; notez que vous devez inclure le protocole et le port, par exemplehttp://elastic_server:9200
. Vous pouvez éviter de supprimer l'équilibreur de charge en remplissant ce paramètre avec l'URL d'Elasticsearch de chaque nœud, par exempleuri="http://elastic-node1:9200,http://elastic-node2:9200,http://elastic-node3:9200"
.excludedProperties
: données que vous ne souhaitez pas enregistrer dans ElasticSearch.index
: format de l'index de journalisation, qui peut être soit unique par locataire ou partagé entre tous les locataires. Détails ci-dessous.requireAuth
- Défini surtrue
pour activer l'authentification lors de la connexion d'Orchestrator à Elasticsearch.username
- Spécifiez le nom d'utilisateur utilisé pour se connecter à Elasticsearch. Vous devez le configurer sirequireAuth
est défini surtrue
et siOAuthEnabled
est défini surfalse
.password
- Spécifiez le mot de passe utilisé pour se connecter à Elasticsearch. Vous devez le configurer sirequireAuth
est défini surtrue
et siOAuthEnabled
est défini surfalse
.OAuthEnabled
: Définissez ce paramètre surtrue
pour activer OAuth2 et utiliser un mécanisme d'authentification basé sur jeton pour la cible Nlog d'Elasticsearch. Lors de la première activation, vous devez fournir votre nom d'utilisateur et votre mot de passe actuels afin de générer le jeton initial. Pour que ce paramètre prenne effet, vous devez vous assurer queLogs.Elasticsearch.OAuthEnabled
est également défini surtrue
et que vous avez correctement configuré le serveur Elasticsearch. Pour plus de détails, consultez l'Authentification X-PACK.
- Index individuel -
index="${event-properties:item=indexName}-${date:format=yyyy.MM}"
un index distinct est utilisé pour chaque locataire, ce qui implique que les journaux spécifiques à un locataire sont générés et récupérés en fonction d'un identificateur de locataire unique, dans ce cas,indexName
qui prend par défaut le nom du locataire. Il s'agit de la configuration par défaut. Dans ce cas, les journalisations sont générés par mois. -
Index partagé -
index="robotlogs-${date:format=yyyy.MM.dd}"
Un index est utilisé pour tous les locataires, ce qui signifie que toutes les journalisations, quel que soit le locataire, utilisent le même index. Dans ce cas, les journalisations sont générés par jour. Pour utiliser un index partagé, vous devez également ajouter la clé suivante dansUiPath.Orchestrator.dll.config
:<add key="Logs.Elasticsearch.SharedIndex" value="robotlogs" />
. Veillez à la configurer sur la même valeur que pour le paramètreindex
dans la cible NLog.Attention : les journaux générés à l'aide d'un index individuel sont conservés si vous passez à un index partagé. Cependant, les journaux générés à l'aide d'un index partagé sont perdus si vous passez à un index individuel.
- La section de configuration cible NLog
name="robotElastic" index="robot-logs-${date:format=yyyy-MM}"
deUiPath.Orchestrator.dll.config
. - L'enregistrement
LoggingIndex
de la tabledbo.Settings
de la base de données Orchestrator. Assurez-vous que l’enregistrement correspond au modèle d’index de la configuration cible NLog (autrement dit,robot-logs-${date:format=yyyy-MM}
).
Pour stocker les journaux des événements système dans la base de données plutôt que dans l'observateur d'événements, procédez comme suit :
-
Créez une table de base de données, par exemple :
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)Dans la requête ci-dessus, nous créons une table nomméeEventLogs
avec les colonnes suivantes :Id
: pour conserver un numéro d'ID pour chaque journal, en commençant ici par1
et en incrémentant la valeur avec chaque journal ajouté ;Timestamp
: pour conserver l'heure de journalisation de chaque événement ;Level
: pour conserver le niveau de journalisation numérique de chaque événement ;Message
: pour conserver le message de chaque événement, le cas échéant ;-
Exception
: pour conserver l'exception consignée pour chaque événement, le cas échéant.Remarque : Vous pouvez utiliser n'importe quel nom pour votre table et supprimer les colonnes de la requête ci-dessus ou en ajouter d’autres selon vos besoins.
-
Dans le fichier
UiPath.Orchestrator.dll.config
, ajoutez une cible 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>Définition d'unparameter
correspondant pour les données à ajouter dans chaque colonne de la base de données, dans cet exemple@timestamp
,@level
,@message
et@exception
. -
Enfin, associez la cible récemment créée à la classification de l'enregistreur NLog pour tous les messages d'Orchestrator, ci-dessus, en ajoutant :
<logger name="*" minlevel="Info" writeTo="eventLog,eventLogDatabase" />
<logger name="*" minlevel="Info" writeTo="eventLog,eventLogDatabase" />
NLog est une plate-forme de consignation en open source, à configuration simple et extensible pour tout un ensemble de plates-formes .NET. NLog permet de stocker ou de transmettre des données du journal à un certain nombre de cibles prédéfinies ou personnalisées, telles qu'un fichier local, un journal des événements, un e-mail ou une base de données.
Trace
, Debug
, Info
, Warn
, Error
, Fatal
ou Off
. Voir Niveaux de journalisation pour une description des niveaux disponibles dans Orchestrator.
Off
. Il est activé en configurant la section suivante du fichier 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="">
Les attributs qui doivent être définis sont les suivants :
-
internalLogLevel
: niveau de journalisation souhaité -
internalLogFile
: emplacement du fichier journal
Par exemple :
<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">
internalLogFile
.
Features.Queues.QueryUseReadOnlyReplica
true
si vous souhaitez autoriser l'interrogation du réplica en lecture seule pour les éléments de la file d'attente.
false
.
Monitoring.UseReadOnlyReplica
true
si vous souhaitez récupérer les données de surveillance à partir du réplica en lecture seule.
false
.
- Paramètres de l'application
- Paramètres d'installation avancés
- Files d'attente (Queues)
- Alertes
- Déploiement
- Compartiments de stockage
- Autorisation
- Load balancer
- Coffre de mot de passe
- Authentification Azure AD
- Authentification Active Directory
- Journaux (Logs)
- Webhooks
- Évolutivité
- Données analytiques
- Enregistrement multimédia
- Pagination
- Déclencheurs (Triggers)
- Autres
- SecureAppSettings
CléChiffrement
Azure.KeyVault.ClientId
Azure.KeyVault.CertificateThumbprint
Azure.KeyVault.VaultAddress
Azure.KeyVault.DirectoryId
- Paramètres du serveur d'identité
- Intégration
- Jetons d'accès d'approvisionnement des robots
- Paramètres du serveur de mise à jour
UpdateServer.CheckUpdates.PollingInterval
UpdateServer.CheckUpdates.DefaultForceInstallAfterMinutes
UpdateServer.CheckUpdates.ScheduledForceInstallAfterMinutes
UpdateServer.CheckUpdates.MaxRetries
UpdateServer.UpdateRequest.RetryStepMinutes
- Configuration de la journalisation
- Journal des évènements du Robot
- Journaux de surveillance
- Journaux des exceptions métier
- Autres journaux
- Paramètres supplémentaires
- Elasticsearch
- Configuration de l'index
- Journalisation des événements dans la base de données
- Activation du débogage NLog
- Orchestrator read-only replica