UiPath Documentation
automation-suite
2022.10
false
Guide d'installation d'Automation Suite
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Préparation d'Orchestrator

Pour migrer Orchestrator d'une version autonome vers Automation Suite, vous devez rassembler les paramètres et divers fichiers de l'installation autonome et les appliquer à l'installation d'Automation Suite.

Selon les configurations que vous utilisez dans Orchestrator, vous devrez peut-être préparer web.config, appSettings, le stockage, NLog, les magasins d'informations d'identification, les clés de chiffrement et la clé de chiffrement par locataire.

Présentation de la migration​

Pour migrer Orchestrator d'une version autonome vers Automation Suite, vous devez rassembler les paramètres et divers fichiers de l'installation autonome et les appliquer à l'installation d'Automation Suite.

Bien qu'une partie seulement des paramètres soit configurable au moment de l'installation, tous doivent être disponibles pour la configuration post-installation.

  • Pour configurer les paramètres au moment de l'installation, ajoutez-les dans le fichier cluster_config.json ;
  • La mise à jour des paramètres une fois l'installation terminée dépend de l'étendue du paramètre et de l'existence ou non d'une fonctionnalité destinée à la configuration dans les paramètres des applications.

You can store custom files that are needed inside the Orchestrator pods, such as assemblies or other storage files, in the built-in Ceph object store. The storage files are stored in a bucket for each tenant. The plugins are stored in the uipath bucket under orchestrator/plugins/nlog or orchestrator/plugins/securestore.

Vous pouvez ajouter une configuration personnalisée comme suit :

  • en modifiant les paramètres de l'application dans ArgoCD (paramètres prioritaires) ;
  • en modifiant les fichiers dans Kubernetes ConfigMap orchestrator-customconfig à partir de l'espace de noms uipath.

Préparation de web.config​

La plupart des paramètres web.config n'ont pas d'équivalent ou sont implémentés dans Automation Suite à l'aide d'autres mécanismes.

Les options que vous devez configurer sont les suivantes :

security.requestFiltering.requestLimits.maxAllowedContentLength
security.requestFiltering.requestLimits.maxAllowedContentLength

Notez la valeur de ce paramètre pour une utilisation ultérieure. Décidez si vous devez le configurer dans Automation Suite. Sa valeur par défaut est de 300 Mo.

Préparation des paramètres d'application​

Vous devrez peut-être migrer les modifications personnalisées apportées dans la section appSettings ou secureAppSettings du fichier de configuration UiPath.Orchestrator.dll.config. Vous pouvez ajouter des appSettings et secureAppSettings personnalisés à la carte de configuration orchestrator-customconfig.

Dans la section appSettings du fichier de configuration UiPath.Orchestrator.dll.config, identifiez tous les paramètres modifiés ou ajoutés. Enregistrez ces paramètres dans un fichier .json, afin qu'ils soient disponibles dans les étapes ultérieures.

Vous pouvez déchiffrer n'importe quelle section de configuration d'application protégée avec l'option de configuration protégée de l'interface en ligne de commande d'Orchestrator. Il vous suffit d'utiliser les paramètres que vous avez modifiés ou ajoutés et qui sont toujours pertinents dans Automation Suite.

Remarque :

You can create the appsettings.json file as shown in the following example:

{
  "ExampleSetting.Enabled": true,
  "ExampleSetting.Type": "BasicExample",
  "ExampleSetting.Count": 3
}
{
  "ExampleSetting.Enabled": true,
  "ExampleSetting.Type": "BasicExample",
  "ExampleSetting.Count": 3
}

Préparation du stockage​

Decide what you need for the storage migration and if your current storage configuration stays the same or if you would instead let Automation Suite manage the storage for you. Automation Suite offers the option to store the blobs in Ceph, which can be used in all Orchestrator pods. In the case of a migration, you must copy the existing files to the current blob storage.

Si vous utilisez un stockage de type FileSystem avec un dossier local, copiez les données du dossier de stockage vers un dossier sur un nœud d'Automation Suite. Ensuite, à l'aide d'un utilitaire tel que rclone , vous pouvez copier les données vers Orchestrator. Si vous utilisez Ceph, aucune autre configuration n'est requise, car il s'agit de l'option par défaut.

Si vous souhaitez utiliser le système de fichiers avec un partage réseau Windows, vous devez configurer le stockage dans l'application ArgoCD Orchestrator. Récupérez les données de connexion au partage réseau Windows depuis votre configuration Orchestrator actuelle à partir de la clé Storage.Location. Étant donné qu'Automation Suite s'exécute sur des machines Linux, vous ne pouvez pas compter sur l'authentification intégrée pour accéder au partage réseau, vous avez donc besoin des informations d'identification d'un compte qui peut y accéder.

Remarque :

Actuellement, seuls les partages réseau qui utilisent le protocole SMB sont pris en charge. Les partages réseau qui utilisent NFS ne sont pas pris en charge.

Si vous utilisez des options de stockage à distance telles qu'Azure, AWS ou Minio, assurez-vous d'ajouter les paramètres Storage.Location et Storage.Type au appsettings.json.

Préparation de NLog​

Vous pouvez effectuer les personnalisations suivantes sur NLog :

  • modifier les cibles existantes
  • ajouter de nouvelles cibles
  • ajouter des extensions NLog

Passez en revue la section NLog du fichier de configuration et créez la configuration personnalisée NLog. Pour activer le stockage des journaux d'évènements du robot dans Elasticsearch, vous pouvez fournir le nom d'utilisateur, le mot de passe et l'URI en tant que paramètres Automation Suite, et la cible est configurée automatiquement. Pour activer les scénarios personnalisés pour les journaux de robot, vous devez configurer la cible manuellement.

Si des extensions NLog sont nécessaires, créez un dossier contenant toutes les extensions et leurs dépendances.

Remarque :

For example, the folder could be named nlogextensions. By default, Orchestrator loads the following extensions, so you do not need to include them in the folder or the NLog configuration:

NLog.Targets.ElasticSearch
UiPath.Orchestrator.Logs.Elasticsearch
Microsoft.ApplicationInsights.NLogTarget
NLog.Extensions.AzureEventHub
NLog.Targets.ElasticSearch
UiPath.Orchestrator.Logs.Elasticsearch
Microsoft.ApplicationInsights.NLogTarget
NLog.Extensions.AzureEventHub

Créez le fichier nlog.custom.config contenant les sections standards : extensions, cibles et règles.

La section extensions est un tableau d'éléments qui spécifient les assemblys d'extension à l'aide de assemblyFile et le chemin de l'assembly par rapport au dossier nlogextensions.

Orchestrator définit les cibles et les règles NLog qui sont configurées ou partiellement configurées pour les cas d'utilisation courants. Lorsque la personnalisation est nécessaire pour ces cibles, il vous suffit d'inclure les propriétés modifiées dans la configuration NLog. Vous ne pouvez pas supprimer les propriétés existantes de la configuration prédéfinie ; vous pouvez cependant les modifier. Dans le pod Orchestrator, les cibles incluses par défaut sont définies à l'emplacement /opt/app-root/app/nlog.config.json.

Remarque :

Example: nlog.custom.config file that writes logs to Azure Blob:

{
  "NLog": {
    "autoReload": false,
    "throwConfigExceptions": false,
    "internalLogLevel": "Warn",
    "internalLogToConsole": true,
    "default-wrapper": {
      "type": "UiPrettyExceptionWrapper"
    },
    "extensions": [
      { "assembly": "UiPath.Orchestrator.Logs.DatabaseBulk.NLogTarget" }
    ],
    "targets": {
      "robotElasticBuffer": {
        "type": "BufferingWrapper",
        "flushTimeout": 5000,
        "target": {
          "type": "ElasticSearch",
          "name": "robotElastic",
          "requireAuth": false,
          "uri": "",
          "username": "",
          "password": "",
          "index": "${event-properties:item=indexName}-${date:format=yyyy.MM}",
          "documentType": "logEvent",
          "includeAllProperties": true,
          "layout": "${message}",
          "excludedProperties": "agentSessionId,tenantId,indexName"
        }
      },
      "serverElasticBuffer": {
        "type": "BufferingWrapper",
        "flushTimeout": 5000,
        "target": {
          "type": "ElasticSearch",
          "name": "serverElastic",
          "requireAuth": false,
          "uri": "",
          "username": "",
          "password": "",
          "index": "serverdiagnostics-${date:format=yyyy.MM}",
          "documentType": "logEvent",
          "includeAllProperties": true,
          "layout": "${machinename} ${message}"
        }
      },
      "database": {
        "type": "AsyncWrapper",
        "overflowAction": "Block",
        "queueLimit": 100,
        "fullBatchSizeWriteLimit": 2,
        "batchSize": 60,
        "timeToSleepBetweenBatches": 1,
        "optimizeBufferReuse": true,
        "target": {
          "type": "DatabaseBulk",
          "connectionString": "${ui-connection-strings:item=Default}",
          "tableName": "[dbo].[Logs]",
          "batchSize": "20",
          "parameters": [
            {
              "dbType": "BigInt",
              "name": "OrganizationUnitId",
              "propertyItem": "organizationUnitId"
            },
            {
              "dbType": "Int",
              "name": "TenantId",
              "propertyItem": "tenantId"
            },
            {
              "dbType": "DateTime",
              "name": "TimeStamp",
              "layout": "${date:format=yyyy-MM-dd HH\\:mm\\:ss.fff}"
            },
            {
              "dbType": "Int",
              "name": "Level",
              "propertyItem": "levelOrdinal"
            },
            {
              "dbType": "NVarChar",
              "name": "WindowsIdentity",
              "propertyItem": "windowsIdentity"
            },
            {
              "dbType": "NVarChar",
              "name": "ProcessName",
              "propertyItem": "processName"
            },
            {
              "dbType": "UniqueIdentifier",
              "name": "JobKey",
              "propertyItem": "jobId"
            },
            {
              "dbType": "NVarChar",
              "name": "Message"
            },
            {
              "dbType": "NVarChar",
              "name": "RawMessage",
              "propertyItem": "rawMessage"
            },
            {
              "dbType": "NVarChar",
              "name": "RobotName",
              "propertyItem": "robotName"
            },
            {
              "dbType": "BigInt",
              "name": "MachineId",
              "propertyItem": "machineId"
            },
            {
              "dbType": "UniqueIdentifier",
              "name": "UserKey",
              "propertyItem": "userKey"
            },
            {
              "dbType": "NVarChar",
              "name": "HostMachineName",
              "propertyItem": "machineName"
            }
          ]
        }
      },
      "monitoring": {
        "type": "AsyncWrapper",
        "overflowAction": "Block",
        "queueLimit": 100,
        "fullBatchSizeWriteLimit": 2,
        "batchSize": 60,
        "optimizeBufferReuse": true,
        "target": {
          "type": "DatabaseBulk",
          "connectionString": "${ui-connection-strings:item=Default}",
          "tableName": "[stats].[ErrorLogs]",
          "batchSize": "20",
          "parameters": [
            {
              "dbType": "BigInt",
              "name": "OrganizationUnitId",
              "propertyItem": "organizationUnitId"
            },
            {
              "dbType": "BigInt",
              "name": "TenantId",
              "propertyItem": "tenantId"
            },
            {
              "dbType": "DateTime",
              "name": "TimeStamp",
              "layout": "${date:format=yyyy-MM-dd HH\\:mm\\:ss.fff}"
            },
            {
              "dbType": "UniqueIdentifier",
              "name": "CorrelationId",
              "propertyItem": "Correlation"
            },
            {
              "dbType": "Int",
              "name": "Source",
              "propertyItem": "logSource"
            },
            {
              "dbType": "Int",
              "name": "Level",
              "propertyItem": "levelOrdinal"
            },
            {
              "dbType": "BigInt",
              "name": "RobotId",
              "propertyItem": "robotId"
            },
            {
              "dbType": "NVarChar",
              "name": "ProcessName",
              "propertyItem": "processName"
            },
            {
              "dbType": "UniqueIdentifier",
              "name": "JobKey",
              "propertyItem": "jobId"
            },
            {
              "dbType": "BigInt",
              "name": "QueueDefinitionId",
              "propertyItem": "queueId"
            },
            {
              "dbType": "NVarChar",
              "name": "Message"
            }
          ]
        }
      },
      "insightsRobotLogs": {
        "type": "AsyncWrapper",
        "overflowAction": "Block",
        "queueLimit": 100,
        "fullBatchSizeWriteLimit": 2,
        "batchSize": 60,
        "optimizeBufferReuse": true,
        "target": {
          "type": "DatabaseBulk",
          "connectionString": "${ui-connection-strings:item=Insights}",
          "tableName": "[dbo].[RobotLogs]",
          "batchSize": "20",
          "parameters": [
            {
              "dbType": "BigInt",
              "name": "OrganizationUnitId",
              "propertyItem": "organizationUnitId"
            },
            {
              "dbType": "Int",
              "name": "TenantId",
              "propertyItem": "tenantId"
            },
            {
              "dbType": "DateTime",
              "name": "TimeStamp",
              "layout": "${date:format=yyyy-MM-dd HH\\:mm\\:ss.fff}"
            },
            {
              "dbType": "NVarChar",
              "name": "WindowsIdentity",
              "propertyItem": "windowsIdentity"
            },
            {
              "dbType": "NVarChar",
              "name": "ProcessName",
              "propertyItem": "processName"
            },
            {
              "dbType": "UniqueIdentifier",
              "name": "JobKey",
              "propertyItem": "jobId"
            },
            {
              "dbType": "NVarChar",
              "name": "RawMessage",
              "propertyItem": "rawMessage"
            },
            {
              "dbType": "NVarChar",
              "name": "RobotName",
              "propertyItem": "robotName"
            },
            {
              "dbType": "BigInt",
              "name": "MachineId",
              "propertyItem": "machineId"
            },
            {
              "dbType": "NVarChar",
              "name": "Message"
            },
            {
              "dbType": "Int",
              "name": "LevelOrdinal",
              "propertyItem": "levelOrdinal"
            },
            {
              "dbType": "Int",
              "name": "NumCustomFields",
              "layout": "${ui-robot-logs-num-custom-fields}"
            }
          ]
        }
      },
      "stdout": {
        "type": "Console",
        "layout": {
          "type": "JsonLayout",
          "includeAllProperties": true,
          "Attributes": [
            {
              "name": "ts",
              "layout": "${longdate}"
            },
            {
              "name": "traceId",
              "layout": "${aspnet-TraceIdentifier}"
            },
            {
              "name": "level",
              "layout": "${level:upperCase=true}"
            },
            {
              "name": "logger",
              "layout": "${logger}"
            },
            {
              "name": "message",
              "layout": "${message}"
            },
            {
              "name": "exception",
              "layout": "${onexception:${ui-pretty-exception}}"
            }
          ]
        }
      }
    },
    "rules": {
      "10_Robot_Insights": {
        "logger": "Robot.*",
        "ruleName": "insightsRobotLogsRule",
        "minLevel": "Info",
        "writeTo": "insightsRobotLogs",
        "enabled": false,
        "final": false,
        "filters": {
          "defaultAction": "Ignore",
          "when": {
            "condition": "level >= LogLevel.Error or ends-with('${message}',' execution ended')",
            "action": "Log"
          }
        }
      },
      "20_Robot_Primary": {
        "logger": "Robot.*",
        "ruleName": "primaryRobotLogsTarget",
        "writeTo": "database",
        "minLevel": "Trace",
        "maxLevel": "Fatal",
        "final": true
      },
      "30_Business_Exceptions": {
        "logger": "BusinessException.*",
        "minLevel": "Info",
        "writeTo": "",
        "enabled": true,
        "final": true
      },
      "40_Monitoring": {
        "logger": "Monitoring.*",
        "minLevel": "Warn",
        "maxLevel": "Fatal",
        "writeTo": "monitoring",
        "final": true
      },
      "70_Final": {
        "logger": "*",
        "minLevel": "Info",
        "maxLevel": "Fatal",
        "writeTo": "stdout",
        "final": false
      }
    }
  }
}
{
  "NLog": {
    "autoReload": false,
    "throwConfigExceptions": false,
    "internalLogLevel": "Warn",
    "internalLogToConsole": true,
    "default-wrapper": {
      "type": "UiPrettyExceptionWrapper"
    },
    "extensions": [
      { "assembly": "UiPath.Orchestrator.Logs.DatabaseBulk.NLogTarget" }
    ],
    "targets": {
      "robotElasticBuffer": {
        "type": "BufferingWrapper",
        "flushTimeout": 5000,
        "target": {
          "type": "ElasticSearch",
          "name": "robotElastic",
          "requireAuth": false,
          "uri": "",
          "username": "",
          "password": "",
          "index": "${event-properties:item=indexName}-${date:format=yyyy.MM}",
          "documentType": "logEvent",
          "includeAllProperties": true,
          "layout": "${message}",
          "excludedProperties": "agentSessionId,tenantId,indexName"
        }
      },
      "serverElasticBuffer": {
        "type": "BufferingWrapper",
        "flushTimeout": 5000,
        "target": {
          "type": "ElasticSearch",
          "name": "serverElastic",
          "requireAuth": false,
          "uri": "",
          "username": "",
          "password": "",
          "index": "serverdiagnostics-${date:format=yyyy.MM}",
          "documentType": "logEvent",
          "includeAllProperties": true,
          "layout": "${machinename} ${message}"
        }
      },
      "database": {
        "type": "AsyncWrapper",
        "overflowAction": "Block",
        "queueLimit": 100,
        "fullBatchSizeWriteLimit": 2,
        "batchSize": 60,
        "timeToSleepBetweenBatches": 1,
        "optimizeBufferReuse": true,
        "target": {
          "type": "DatabaseBulk",
          "connectionString": "${ui-connection-strings:item=Default}",
          "tableName": "[dbo].[Logs]",
          "batchSize": "20",
          "parameters": [
            {
              "dbType": "BigInt",
              "name": "OrganizationUnitId",
              "propertyItem": "organizationUnitId"
            },
            {
              "dbType": "Int",
              "name": "TenantId",
              "propertyItem": "tenantId"
            },
            {
              "dbType": "DateTime",
              "name": "TimeStamp",
              "layout": "${date:format=yyyy-MM-dd HH\\:mm\\:ss.fff}"
            },
            {
              "dbType": "Int",
              "name": "Level",
              "propertyItem": "levelOrdinal"
            },
            {
              "dbType": "NVarChar",
              "name": "WindowsIdentity",
              "propertyItem": "windowsIdentity"
            },
            {
              "dbType": "NVarChar",
              "name": "ProcessName",
              "propertyItem": "processName"
            },
            {
              "dbType": "UniqueIdentifier",
              "name": "JobKey",
              "propertyItem": "jobId"
            },
            {
              "dbType": "NVarChar",
              "name": "Message"
            },
            {
              "dbType": "NVarChar",
              "name": "RawMessage",
              "propertyItem": "rawMessage"
            },
            {
              "dbType": "NVarChar",
              "name": "RobotName",
              "propertyItem": "robotName"
            },
            {
              "dbType": "BigInt",
              "name": "MachineId",
              "propertyItem": "machineId"
            },
            {
              "dbType": "UniqueIdentifier",
              "name": "UserKey",
              "propertyItem": "userKey"
            },
            {
              "dbType": "NVarChar",
              "name": "HostMachineName",
              "propertyItem": "machineName"
            }
          ]
        }
      },
      "monitoring": {
        "type": "AsyncWrapper",
        "overflowAction": "Block",
        "queueLimit": 100,
        "fullBatchSizeWriteLimit": 2,
        "batchSize": 60,
        "optimizeBufferReuse": true,
        "target": {
          "type": "DatabaseBulk",
          "connectionString": "${ui-connection-strings:item=Default}",
          "tableName": "[stats].[ErrorLogs]",
          "batchSize": "20",
          "parameters": [
            {
              "dbType": "BigInt",
              "name": "OrganizationUnitId",
              "propertyItem": "organizationUnitId"
            },
            {
              "dbType": "BigInt",
              "name": "TenantId",
              "propertyItem": "tenantId"
            },
            {
              "dbType": "DateTime",
              "name": "TimeStamp",
              "layout": "${date:format=yyyy-MM-dd HH\\:mm\\:ss.fff}"
            },
            {
              "dbType": "UniqueIdentifier",
              "name": "CorrelationId",
              "propertyItem": "Correlation"
            },
            {
              "dbType": "Int",
              "name": "Source",
              "propertyItem": "logSource"
            },
            {
              "dbType": "Int",
              "name": "Level",
              "propertyItem": "levelOrdinal"
            },
            {
              "dbType": "BigInt",
              "name": "RobotId",
              "propertyItem": "robotId"
            },
            {
              "dbType": "NVarChar",
              "name": "ProcessName",
              "propertyItem": "processName"
            },
            {
              "dbType": "UniqueIdentifier",
              "name": "JobKey",
              "propertyItem": "jobId"
            },
            {
              "dbType": "BigInt",
              "name": "QueueDefinitionId",
              "propertyItem": "queueId"
            },
            {
              "dbType": "NVarChar",
              "name": "Message"
            }
          ]
        }
      },
      "insightsRobotLogs": {
        "type": "AsyncWrapper",
        "overflowAction": "Block",
        "queueLimit": 100,
        "fullBatchSizeWriteLimit": 2,
        "batchSize": 60,
        "optimizeBufferReuse": true,
        "target": {
          "type": "DatabaseBulk",
          "connectionString": "${ui-connection-strings:item=Insights}",
          "tableName": "[dbo].[RobotLogs]",
          "batchSize": "20",
          "parameters": [
            {
              "dbType": "BigInt",
              "name": "OrganizationUnitId",
              "propertyItem": "organizationUnitId"
            },
            {
              "dbType": "Int",
              "name": "TenantId",
              "propertyItem": "tenantId"
            },
            {
              "dbType": "DateTime",
              "name": "TimeStamp",
              "layout": "${date:format=yyyy-MM-dd HH\\:mm\\:ss.fff}"
            },
            {
              "dbType": "NVarChar",
              "name": "WindowsIdentity",
              "propertyItem": "windowsIdentity"
            },
            {
              "dbType": "NVarChar",
              "name": "ProcessName",
              "propertyItem": "processName"
            },
            {
              "dbType": "UniqueIdentifier",
              "name": "JobKey",
              "propertyItem": "jobId"
            },
            {
              "dbType": "NVarChar",
              "name": "RawMessage",
              "propertyItem": "rawMessage"
            },
            {
              "dbType": "NVarChar",
              "name": "RobotName",
              "propertyItem": "robotName"
            },
            {
              "dbType": "BigInt",
              "name": "MachineId",
              "propertyItem": "machineId"
            },
            {
              "dbType": "NVarChar",
              "name": "Message"
            },
            {
              "dbType": "Int",
              "name": "LevelOrdinal",
              "propertyItem": "levelOrdinal"
            },
            {
              "dbType": "Int",
              "name": "NumCustomFields",
              "layout": "${ui-robot-logs-num-custom-fields}"
            }
          ]
        }
      },
      "stdout": {
        "type": "Console",
        "layout": {
          "type": "JsonLayout",
          "includeAllProperties": true,
          "Attributes": [
            {
              "name": "ts",
              "layout": "${longdate}"
            },
            {
              "name": "traceId",
              "layout": "${aspnet-TraceIdentifier}"
            },
            {
              "name": "level",
              "layout": "${level:upperCase=true}"
            },
            {
              "name": "logger",
              "layout": "${logger}"
            },
            {
              "name": "message",
              "layout": "${message}"
            },
            {
              "name": "exception",
              "layout": "${onexception:${ui-pretty-exception}}"
            }
          ]
        }
      }
    },
    "rules": {
      "10_Robot_Insights": {
        "logger": "Robot.*",
        "ruleName": "insightsRobotLogsRule",
        "minLevel": "Info",
        "writeTo": "insightsRobotLogs",
        "enabled": false,
        "final": false,
        "filters": {
          "defaultAction": "Ignore",
          "when": {
            "condition": "level >= LogLevel.Error or ends-with('${message}',' execution ended')",
            "action": "Log"
          }
        }
      },
      "20_Robot_Primary": {
        "logger": "Robot.*",
        "ruleName": "primaryRobotLogsTarget",
        "writeTo": "database",
        "minLevel": "Trace",
        "maxLevel": "Fatal",
        "final": true
      },
      "30_Business_Exceptions": {
        "logger": "BusinessException.*",
        "minLevel": "Info",
        "writeTo": "",
        "enabled": true,
        "final": true
      },
      "40_Monitoring": {
        "logger": "Monitoring.*",
        "minLevel": "Warn",
        "maxLevel": "Fatal",
        "writeTo": "monitoring",
        "final": true
      },
      "70_Final": {
        "logger": "*",
        "minLevel": "Info",
        "maxLevel": "Fatal",
        "writeTo": "stdout",
        "final": false
      }
    }
  }
}
Remarque :

Le dossier d'extensions nlogextensions est copié dans le magasin d'objets à l'emplacement connu des plugins. L'outil Orchestrator Configurator peut le faire automatiquement tout en mettant à jour la configuration NLog. Le script modifie automatiquement nlog.custom.config pour ajouter le préfixe /var/orchestrator/plugins/nlog/ à chaque assemblyFile du tableau d'extensions s'il n'est pas déjà préfixé.

Préparation des magasins d'informations d'identification​

Vous pouvez migrer des plug-ins personnalisés pour les magasins d'informations d'identification vers Automation Suite. Pour ce faire, mettez à jour la configuration dans la carte de configuration et copiez les assemblages de plug-ins dans le compartiment de magasin d'objets correspondant.

Remarque :
  • Les plugins doivent fonctionner sous Linux.
  • Les plugins ne doivent écrire sur aucun stockage, à l'exception de /tmp.

Les plug-ins de magasins d'informations d'identification suivants sont automatiquement déployés sur Orchestrator dans Automation Suite :

  • UiPath.Orchestrator.AzureKeyVault.SecureStore.dll
  • UiPath.Orchestrator.SecureStore.CyberArkCCP.dll
Remarque :

Automation Suite ne prend pas en charge CyberArk AIM, vous ne pouvez donc pas le migrer. Nous vous recommandons de migrer vers le magasin d'informations d'identification CyberArkCCP.

Si vous utilisez d'autres plug-ins Credential Stores, copiez-les dans un dossier, tel que securestoreplugins.

Ajoutez les paramètres du magasin d'identifiants dans le fichier appsettings.json comme suit :

  • pour désactiver les plugins par défaut, ajoutez la configuration Plugins.SecureStores.Default avec une valeur de string vide dans appsettings.json ;
  • ajoutez tous les plugins personnalisés au paramètre Plugins.SecureStores séparés par un ; dans appsettings.json ;
  • ajoutez les paramètres de plug-in personnalisés comme suit : Plugins.SecureStores.<<FriendlyName>>.<<SettingName>>.
Remarque :

Le dossier de plug-in securestoreplugins est copié dans le magasin d'objets à l'emplacement bien connu des plug-ins.

Les assemblies dans Plugins.SecureStores sont chargés à partir de ce dossier.

Les assemblies de Plugins.SecureStore.Default sont chargés à partir du dossier plugins dans le dossier de l'application Orchestrator.

Préparation de la clé de chiffrement​

Par défaut, lors de l'installation, Orchestrator génère une clé de chiffrement à utiliser pour les informations sensibles de la base de données. Vous devez migrer cette clé si vous souhaitez réutiliser une base de données sur un nouveau déploiement Orchestrator.

Pour récupérer la clé de chiffrement, procédez comme suit :

  1. Déchiffrez la section secureAppSettings du fichier UiPath.Orchestrator.dll.config , si nécessaire. Pour plus de détails, consultez les sections Chiffrement de UiPath.Orchestrator.dll.config
  2. Récupérez la clé de chiffrement à partir de UiPath.Orchestrator.dll.config. Pour plus de détails, consultez la section CléChiffrement (EncryptionKey).

Préparation de la clé de chiffrement par locataire​

Le certificat de clé de chiffrement est installé dans le magasin de certificats Windows. Vous devez fournir le certificat dans l'environnement Automation Suite afin qu'il soit disponible pour les pods Orchestrator.

Les paramètres CertificatesStoreLocation et Azure.KeyVault.CertificateThumbprint ne sont plus requis dans Automation Suite, mais vous pouvez utiliser le CertificatePassword si nécessaire.

Procédez comme suit :

  1. Passez en revue les paramètres d'application et obtenez les paramètres AzureKeyVault.*.
  2. Stockez les Azure.KeyVault.VaultAddress, Azure.KeyVault.ClientId et Azure.KeyVault.DirectoryId pour une utilisation ultérieure.
  3. Récupérez le certificat et, si nécessaire, le mot de passe du certificat.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour