- Démarrage
- Prérequis
- Prérequis matériels
- Prérequis logiciels
- Serveur Web sur une seule machine (Web Server on a Single Machine)
- Déploiement multinœud
- Haute disponibilité (High Availability)
- Récupération d'urgence (Disaster Recovery) - Active/Passive
- Récupération d'urgence (Disaster Recovery) - Deux centres de données actifs (Two Active Data Centers)
- Déploiement dans le cloud (Deployment in the Cloud)
- Meilleures pratiques
- Installation
- Mise à jour en cours
- Serveur d'identité
- Module complémentaire haute disponibilité
Prérequis matériels
La configuration matérielle requise diffère entre votre environnement de développement et l'environnement de production. Bien que la même configuration matérielle requise que votre environnement de production puisse être utilisée à des fins de test et de développement, cela implique des coûts plus élevés et inutiles, en particulier dans les déploiements à grande échelle.
Cette configuration requise suppose un maximum de 100 robots Unattended s'exécutant simultanément. Deux machines peuvent être utilisées, l'une pour Orchestrator et (facultativement) Elasticsearch, et l'une pour SQL Server, configurées comme suit :
Serveur d'applications Web
Cœurs du processeur (>2 GHz) |
RAM (Go) |
Disque dur (Go) |
---|---|---|
4 |
4 |
150 |
SQL Server
Cœurs du processeur (>2 GHz) |
RAM (Go) |
Disque dur (Go) |
---|---|---|
4 |
8 |
300 |
Pour les environnements de production, il est fortement recommandé de fournir un serveur dédié pour chaque rôle :
- Application Web Orchestrator.
- Moteur de base de données SQL Server.
- Elasticsearch et Kibana.
Pour une installation à nœuds multiples, outre les conditions ci-dessus, les suivantes sont également requises :
-
Module complémentaire haute disponibilité (HAA) pour Orchestrator (au moins 3 nœuds HAA sont requis pour une réelle haute disponibilité et au moins 6 nœuds HAA pour la géo-redondance.
Remarque :Les déploiements d'Orchestrator multinœud utilisent le protocole RESP (REdis Serialization Protocol) pour la communication et peuvent donc être configurés à l'aide de n'importe quelle solution dépendant de ce protocole.
Le module HAA est la seule solution de ce type prise en charge par UiPath.
La configuration matérielle de chaque serveur requis dépend de la taille de votre déploiement, comme détaillé ci-dessous. La configuration matérielle requise présentée ici a été effectuée selon les tests dans lesquels un robot a été défini comme suit :
- des messages sont envoyés du Robot vers Orchestrator avec une fréquence de 1 message par seconde
- en moins de 60 secondes, le Robot envoie :
- 40 journaux de messages
- 2 pulsations
- 6 requêtes d'obtention d'actifs
- 6 requêtes d'ajout d'éléments de file d'attente
- 6 requêtes d'obtention d'éléments de file d'attente
Prise en charge de près de 250 Robots non assistés
Serveur d'applications Web
Nombre de Robots (Number of Robots) |
Cœurs de processeur (min 2 GHz) |
RAM (Go) |
Disque dur (Go) |
---|---|---|---|
<20 |
4 |
4 |
100 |
<50 |
4 |
4 |
100 |
<100 |
4 |
4 |
150 |
<200 |
4 |
4 |
200 |
<250 |
4 |
4 |
200 |
UiPath.Orchestrator.dll.config
. Pour ce faire, ajoutez le paramètre Max Pool Size=200
à la chaîne de connexion, de sorte qu’il ressemble à cet exemple :
<add name="Default" providerName="System.Data.SqlClient" connectionString="Server=SQL4142;Integrated Security=True;Database=UiPath;Max
Pool Size=200;" />
SQL Server
Nombre de Robots (Number of Robots) |
Cœurs de processeur (min 2 GHz) |
RAM (Go) |
Disque dur (Go) |
---|---|---|---|
<20 |
4 |
8 |
100 |
<50 |
4 |
8 |
200 |
<100 |
4 |
8 |
300 |
<200 |
8 |
8 |
SSD 400 |
<250 |
8 |
16 |
SSD 400 |
Les prérequis de l'espace disque dépendent fortement des points suivants :
- Si les files d'attente de travail sont utilisées ou non : dans le premier cas, cela dépend du nombre moyen de transactions ajoutées tous les jours/toutes les semaines et de la taille (nombre de champs, taille de chaque champ) de chaque transaction.
- De la période de rétention des éléments de la file d'attente correctement traités (le client doit implémenter sa propre politique de rétention).
- Si les messages consignés par les Robots sont enregistrés ou non dans la base de données. Dans le premier cas, un filtre peut être appliqué pour enregistrer uniquement dans la BD des niveaux spécifiques de messages (par exemple, enregistrez dans la BD les messages avec le niveau de journalisation Erreur (Error) et Critique(Critical), et enregistrez dans Elasticsearch les messages avec le niveau de journalisation Info, Avertissement(Warn) et Traçage (Trace)).
- Des fréquences des messages de journalisation : le développeur de type Robot utilise à volonté l'activité Message du journal des événements (Log Message), chaque fois qu'il estime qu'un message vaut la peine d'être consigné.
- De la période de rétention des anciens messages consignés (le client doit implémenter sa propre politique de rétention).
- De la valeur du niveau de journalisation configurée dans le robot. Par exemple, si le niveau de journalisation dans le Robot est configuré sur Info, seuls les messages avec les niveaux Info, Avertissement (Warn), Erreur (Error) et Critique(Critical) sont envoyés à Orchestrator. les messages avec les niveaux Débogage (Debug), Traçage (Trace) et Détaillé(Verbose) sont ignorés et ils ne seront pas transmis à Orchestrator.
Serveur Elasticsearch
Nombre de Robots (Number of Robots) |
Cœurs de processeur (min 2 GHz) |
RAM (Go) |
Disque dur (Go) |
---|---|---|---|
<20 |
4 |
4 |
100 |
<50 |
4 |
4 |
100 |
<100 |
4 |
8 |
150 |
<200 |
4 |
12 |
200 |
<250 |
4 |
12 |
300 |
Les prérequis de l'espace disque dépendent des points suivants :
- De la période de rétention (le client doit implémenter sa propre stratégie de rétention).
- Des fréquences des messages de journalisation : le développeur de type Robot utilise à volonté l'activité Message du journal des événements (Log Message), chaque fois qu'il estime qu'un message vaut la peine d'être consigné.
- De la valeur du niveau de journalisation configurée dans le robot. Par exemple, si le niveau de journalisation dans le Robot est configuré sur Info, seuls les messages avec les niveaux Info, Avertissement(Warn), “Erreur” (Error) et “Critique” (Critical) sont envoyés à Orchestrator. Les messages avec les niveaux “Débogage” (Debug) “Traçage” (Trace) et “Détaillé” (Verbose) sont ignorés et ils ne seront pas transmis à Orchestrator.
Remarque : pour plus de 50 robots, vous devez indiquer à la machine virtuelle Java utilisée par Elasticsearch d'utiliser 50 % de la RAM disponible, en définissant les arguments
-Xms
et-Xmx
sur la moitié de la quantité totale de mémoire. Cela se fait via la variable d'environnementES_JAVA_OPTS
ou en modifiant le fichierjvm.options
.
Prise en charge de 250 à 500 robots non assistés
Serveur d'applications Web
Nombre de Robots (Number of Robots) |
Cœurs de processeur (min 2 GHz) |
RAM (Go) |
Disque dur (Go) |
---|---|---|---|
<300 |
8 |
8 |
200 |
<400 |
8 |
8 |
220 |
<500 |
16 |
8 |
250 |
SQL Server
Nombre de Robots (Number of Robots) |
Cœurs de processeur (min 2 GHz) |
RAM (Go) |
Disque dur (Go) |
---|---|---|---|
<300 |
16 |
32 |
SSD 400 |
<400 |
16 |
32 |
SSD 500 |
<500 |
16 |
32 |
SSD 600 |
Pour plus de 300 Robots, pensez à ne pas enregistrer tous les messages consignés dans la base de données SQL Server. Enregistrez dans la BD uniquement les messages avec le niveau de journalisation Erreur (Error) et Critique(Critical). Enregistrez tous les messages (à savoir Erreur(Error) et Critique(Critical) ) dans Elasticsearch.
Serveur Elasticsearch
Nombre de Robots (Number of Robots) |
Cœurs de processeur (min 2 GHz) |
RAM (Go) |
Disque dur (Go) |
---|---|---|---|
<300 |
4 |
12 |
300 |
<400 |
4 |
16 |
500 |
<500 |
4 |
16 |
600 |
Prise en charge de plus de 500 robots non assistés
Si Orchestrator doit prendre en charge plus de 500 robots exécutés simultanément, vous devez fournir au moins 2 nœuds Orchestrator et au moins 1 nœud HAA dans une batterie de serveurs, sous un équilibreur de charge réseau (Network Loa Balancer). Chaque nœud doit comprendre les prérequis matériels en fonction du nombre de Robots qu'il gère par requête à partir de l'équilibreur de charge. Mais, n'oubliez pas que SQL Server reste une machine unique (même avec Groupes de disponibilité Always On (Always On Availability Groups), le réplica principal est celui qui est chargé de toutes les requêtes d'E/S). Les opérations suivantes sont donc requises
- Passez la RAM de SQL Server à 64 Go.
- Enregistrez UNIQUEMENT les niveaux de journalisation Erreur(Error) et Critique(Critical) à partir du Robot dans la BD.
SQL Server
Nombre de Robots (Number of Robots) |
Cœurs de processeur (min 2 GHz) |
RAM (Go) |
Disque dur (Go) |
---|---|---|---|
500 |
16 |
64 |
SSD 800 |
Pour SQL Server Édition Standard, 16 cœurs de processeur représentent le maximum utilisé par l'édition Standard. Pour une machine virtuelle, veillez à que ce nombre de cœurs soit obtenu par 4 sockets virtuels avec 4 cœurs chacun (et pas par 2 sockets avec 8 cœurs ou 8 sockets avec 2 cœurs). Pour l'édition Enterprise, la combinaison pour obtenir 16 nœud n'importe pas.
Port |
Description |
---|---|
443 | Port par défaut pour la communication entre les utilisateurs et Orchestrator avec les Robots connectés. |
1433 | Port par défaut pour la communication entre Orchestrator et la machine exécutant SQL Server. |
9200 | Communication entre Orchestrator et Elasticsearch. |
9300 | Communication entre les nœuds Elasticsearch, le cas échéant. |
5601 | Port par défaut utilisé par le plugin Kibana, le cas échéant. |
3389 | Requis pour l'automatisation RDP, nécessaire pour les robots haute densité. |