- Erste Schritte
- Anforderungen
- Best Practices
- Installation
- Wird aktualisiert
- Identity Server
- Fehlerbehebung bei Startfehlern
Installationsanleitung für den Orchestrator
UiPath.Orchestrator.dll.config
UiPath.Orchestrator.dll.config
-Datei (C:\Program Files (x86)\UiPath\Orchestrator
) definiert die Parameter, Einstellungen und Präferenzen, die auf Ihre Orchestrator-Bereitstellung angewendet werden.
-
Alle Änderungen an den Parametern in dieser Datei werden beim Upgrade überschrieben.
-
Nur Administratoren sollten die Werte dieser Parameter ändern.
-
Es wird empfohlen, die Website manuell neu zu starten, nachdem Sie Änderungen an
UiPath.Orchestrator.dll.config
vorgenommen haben. -
Parameter, die auf dieser Seite nicht dokumentiert sind, dürfen nicht geändert werden, es sei denn, Sie hätten Gegenstücke auf den Seiten für die Einstellungen.
-
Bei allen Parametern wird Groß-/Kleinschreibung berücksichtigt.
EncryptionKeyPerTenant.Enabled
-Ermöglicht Ihnen die Verwendung unterschiedlicher Verschlüsselungsschlüssel pro Mandant basierend auf einem Microsoft Azure Key Vault-Konto. Folgende Werte können zugewiesen werden:
false
- Verwendet einen einzelnen Verschlüsselungsschlüssel für die gesamte Orchestrator-Instanz. Dies ist der Standardwert.true
- Verwendet für jeden Mandanten einen anderen Verschlüsselungsschlüssel, verbessert die Sicherheit Ihrer Mandanten und sorgt für eine bessere Trennung Ihrer empfindlichen Daten.
EncryptionKeyPerTenant.KeyProvider
sowie diejenigen im Abschnitt SecureAppSettings ausfüllen.
EncryptionKeyPerTenant.KeyProvider
AzureKeyVault
festlegen, wenn ein vorkonfigurierter Microsoft Azure Key Vault verwendet werden soll. Wir bieten keine Azure Key Vault-Lizenzen an. Bitte beachten Sie, dass Sie auch die im Abschnitt SecureAppSettings beschriebenen Parameter konfigurieren müssen. Wenn EncryptionKeyPerTenant.Enabled
auf false
festgelegt ist, wird dieser Parameter nicht verwendet.
Änderungen, die hier an den Verschlüsselungseinstellungen vorgenommen werden, müssen in der Identity Server-Datei appsettings.Production.json entsprechend der folgenden Feldäquivalenz gespiegelt werden:
UiPath.Orchestrator.dll.config von Orchestrator |
„appsettings.Production.json“ für Identity Server |
---|---|
EncryptionKeyPerTenant.Enabled |
EncryptionKeyPerTenant |
Azure.KeyVault.VaultAddress |
AzureKeyVaultAddress |
Azure.KeyVault.CertificateThumbprint |
AzureKeyVaultCertificateThumbprint |
Azure.KeyVault.ClientId |
AzureKeyVaultClientId |
Azure.KeyVault.DirectoryId |
AzureKeyVaultDirectoryId |
EncryptionKeyPerTenant.KeyProvider |
MultiTenantEncryptionKeyProvider |
inProgressMaxNumberOfMinutes
Die maximale Zeitdauer, die Warteschlangenobjekte im Status In Bearbeitung verbringen können. Nach dieser Zeit ändert sich der Status der Warteschlangenobjekte in Abgebrochen. Standardmäßig wird dieser Wert auf 1440 Minuten festgelegt (24 Stunden).
QueuesStatisticsScheduleCron
Die Häufigkeit, mit der die Statistiken von Warteschlangenobjekten auf den Seiten Dashboard und Transaktionen sowie im Fenster Diagramm aktualisiert werden. Standardmäßig werden Sie jede Minuten aktualisiert.
UpdateUncompletedItemsJobCron
Die Häufigkeit der Suche in der Datenbank nach Warteschlangen, die in „Abgebrochen“ verschoben werden müssen. Standardmäßig ist dieser Parameter auf jede Stunde eingestellt.
Queue.MaxSlaInMinutes
UiPath.Orchestrator.dll.config
angezeigt, auch in Update-Szenarien.
Queue.MaxSchemaFileSizeInKilobytes
UiPath.Orchestrator.dll.config
angezeigt.
Queue.SlaReadaheadTimeLimitHours
UiPath.Orchestrator.dll.config
angezeigt.
Queue.MaxSpecificDataSizeInKiloBytes
Die maximale Größe des Inhalts spezifischer Daten für neue Warteschlangenelemente in Kilobyte. Bei sauberen Orchestrator-Installationen ist dieser Parameter ausgeblendet und hat den Standardwert 1024 (1 MB). In Upgradeszenarien ist dieser Parameter sichtbar und hat den Wert 204800 (200 MB).
Queue.ProcessActivationSchedule
Der Zeitraum zwischen den Überprüfungen für nicht verarbeitete Warteschlangenelemente. Standardmäßig ist dieser Wert auf 30 Minuten festgelegt. Um das Prüfintervall anzupassen, geben Sie einen Wert zwischen 0 und 59 an, starten Sie IIS neu, löschen Sie dann den vorhandenen Warteschlangentrigger, und erstellen Sie ihn neu.
DailyAlertMailJobCron
Ermöglicht das Konfigurieren eines Cron-Ausdrucks, der steuert, wann tägliche E-Mail-Benachrichtigungen gesendet werden. Dies funktioniert nur, wenn E-Mail-Benachrichtigungen aktiviert sind. Der Bericht enthält alle am Vortag generierten Warnungen mit den Schweregraden Schwerwiegend und Fehler. Standardmäßig wird er jeden Tag um 7 Uhr gesendet.
Alerts.Email.Enabled
false
festgelegt. Damit dies funktioniert, müssen Sie auch die E-Mail-bezogenen Einstellungen auf der Seite Einstellungen konfigurieren. Der Standardwert wird beim anfänglichen Seeding der Datenbank verwendet. Wenn Sie den Wert später ändern, werden E-Mail-Warnungen nicht umgeschaltet.
NotificationDistributerJobCron
Die Häufigkeit, mit der Warnungsbenachrichtigungen an die Schnittstelle gesendet werden. Standardmäßig werden Warnungen alle 10 Sekunden gesendet.
PeriodicErrorMailJobCron
Ermöglicht das Konfigurieren eines CRON-Ausdruck, der die Häufigkeit steuert, mit der regelmäßige E-Mail-Benachrichtigungen gesendet werden. Dies funktioniert nur, wenn E-Mail-Benachrichtigungen aktiviert sind. Der Standardwert ist alle 10 Minuten, d. h. der Bericht enthält in den letzten 10 Minuten generierte Warnungen mit den Schweregraden Schwerwiegend und Fehler. Wenn keine Warnungen generiert wurden, wird kein Bericht gesendet.
PasswordComplexity
Steuert die Validierungsregeln für die Kennwortkomplexität und wird mit regulären Ausdrücken ausgedrückt. Die Komplexität gilt standardmäßig für alle Kennwörter (einschließlich des Hostadministrators). Dennoch kann jeder Mandant die Komplexität seines Benutzeranmeldekennworts auf der Registerkarte Sicherheit auf der Seite Einstellungen anpassen. Standardmäßig müssen Kennwörter mindestens 8 Zeichen sowie mindestens einen Buchstaben und eine Ziffer enthalten.
SystemJobs.DetectNotRespondingRobots.MaxAlertCount
<add key="SystemJobs.DetectNotRespondingRobots.MaxAlertCount" value="10" />
in der Datei UiPath.Orchestrator.dll.config
unter allen anderen Warnparametern hinzu. Wenn Sie diese Einstellung übernehmen, beachten Sie bitte, dass in Event Viewer eine Warnmeldung ausgegeben wird, wenn die Gesamtanzahl der Warnungen höher ist als die konfigurierte, zum Beispiel: 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
und bedeutet, dass Sie 6 Mal E-Mail-Benachrichtigungen erhalten: 180, 90, 30, 14, 7 und 1 Tag(e), bevor Ihre Lizenz abläuft. Sie können weniger Werte definieren, um die Häufigkeit der E-Mail-Benachrichtigungen zu reduzieren. Dies ist zum Beispiel durch Hinzufügen des folgenden Schlüssels in der Datei UiPath.Orchestrator.dll.config
möglich: <add key="SystemJobs.LicenseExpirationAlert.DaysBefore" value="90,30,14" />
.
Storage.Type
und Storage.Location
angegeben sind.
Storage.Type
Definiert das Ziel, auf dem Pakete und Ausführungsmedien gespeichert werden. Kann mit den folgenden Zielen aufgefüllt werden:
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
Definiert den tatsächlichen Speicherort, an dem Pakete und Ausführungsmedien gespeichert werden.
Storage.Location
ist obligatorisch, wenn:
- ein Upgrade von einer Version von Orchestrator vor 2020.10 vorgenommen wird, und
- der vorherige
NuGet.Repository.Type
warLegacy
und - der vorherige
NuGet.Packages.Path
nicht den Standardwert verwendet hat.
Ziel |
Ort |
---|---|
FileSystem |
Geben Sie einen absoluten Pfad mit dem folgenden Format an:
RootPath=C:\FolderName\AnotherFolderName .
Beispiel:
<add key="Storage.Location" value="RootPath=C:\FolderName\AnotherFolderName" /> .Im bereitgestellten Ordner wird die folgende Ordnerstruktur erstellt: Orchestrator-Host\Libraries - Ein Ordner, der den im Hostfeed gespeicherten Bibliotheken gewidmet ist.
Orchestrator-[tenantKey] -Ein Ordner für jeden Mandanten. Der Mandant wird durch den Mandantenschlüssel identifiziert, der in der Datenbank gefunden wurde. Zum Beispiel Orchestrator-12ab1234-a567-456b-a12b-ab3456b123ab .
Für jeden Mandantenordner werden drei weitere Unterverzeichnisse erstellt:
Dateien werden in den dedizierten Ordnern am angegebenen Speicherort gespeichert. Standardmäßig werden sie unter folgendem Pfad gespeichert:
C:\Program Files (x86)\UiPath\Orchestrator\Storage .
|
Azure |
Geben Sie eine Verbindungszeichenfolge an. Beispiel:
<add key="Storage.Location" value="DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net" /> . |
Amazon |
Geben Sie eine Verbindungszeichenfolge an. Beispiel:
<add key="Storage.Location" value="EndpointRegion=eu-west-3;accessKey=AKIAZGUEIGXUJ3BBI4MW;secretKey=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;useHttp=false" /> . |
Minio |
Geben Sie eine Verbindungszeichenfolge an. Beispiel:
<add key="Storage.Location" value="host=localhost:9001;accessKey=YVKYFJ0ZY246KDKP0634;secretKey=bdBEk2ubhIFsTNPuQ80PjKL+oqZBj67HoSWBFnw1" /> . |
Beispiel
<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\" />
Durch die obige Konfiguration wird Orchestrator angewiesen:
- die Paketmetadaten in der SQL-Datenbank zu speichern,
- die eigentlichen Dateien im Azure Blob Speicher an dem mit dem Verbindungsstring
DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net
angegebenen Speicherort abzulegen, -
die Standard-Namenskonvention für den Azure-Behälternamen -
Orchestrator-tenantKey
- zu verwenden.Wichtig: Wenn Sie in Orchestrator mehr als 99 Mandanten haben, müssen Sie Ihr Standard-AWS S3 Bucket-Kontolimit passend für die Mandantenanzahl erhöhen. Dies ist erforderlich, weil für jeden Mandanten ein separater Bucket erstellt wird. Dies ist erforderlich, da für jeden Mandanten ein separater Bucket erstellt wird.
NuGet.Packages.ApiKey
NuGet.Activities.ApiKey
sein. Der Standardwert wird beim ersten Seeding der Datenbank verwendet. Bitte beachten Sie, dass beliebige Zeichenfolgen auch akzeptiert werden.
NuGet.Activities.ApiKey
NuGet.Packages.ApiKey
sein. Bitte beachten Sie, dass beliebige Zeichenfolgen auch akzeptiert werden.
Die Paketsynchronisierung zwischen mehreren Orchestrator-Knoten und der Schnittstelle kann entweder durch Überwachen des Dateisystems oder unter Verwendung von Redis erfolgen. Dies kann mithilfe der Konfiguration unten eingestellt werden. Wir empfehlen die Verwendung von Redis.
Processes.AllowUpdateWithRunningJobs
Gibt an, ob Sie einen Prozess löschen können, während diesem laufende oder anstehende Aufträge zugeordnet sind. Bitte beachten Sie, dass dieser Parameter per Standard ausgeblendet ist. Die folgenden Werte sind verfügbar:
true
- Prozesse können gelöscht werden, während laufende oder anstehende Jobs zugeordnet sind.false
- Prozesse können nicht gelöscht werden, während ihnen laufende oder anstehende Aufträge zugeordnet sind. Der Versuch, einen Prozess zu löschen, zeigt in diesem Fall die folgende Fehlermeldung an: „Das Ändern dieses Prozesses ist momentan nicht möglich, da aktive Aufträge mit diesem verknüpft sind. (#1666)". Dies ist der Standardwert.
<add key="Processes.AllowUpdateWithRunningJobs" value="true" />
in der Datei UiPath.Orchestrator.dll.config
hinzu.
Deployment.Libraries.AllowTenantPublish
Hier können Sie angeben, ob die Mandanten, die den Hostfeed verwenden, Bibliotheken in den Feed hochladen können oder nicht. Die folgenden Werte sind verfügbar:
true
- Bibliotheken, die auf Mandantenebene hochgeladen werden, werden an den Hostfeed weitergegeben. Dies ist der Standardwert.false
- Bibliotheken, die auf Mandantenebene hochgeladen werden, werden an den Hostfeed weitergegeben. Beachten Sie jedoch, dass Benutzer Zugriff auf die vorhandenen Bibliotheken im Feed haben.
Sie können dies auch über die Benutzeroberfläche konfigurieren. Die entsprechende Option, Mandantenbenutzern das Hochladen in den Feed erlauben finden Sie auf der Hostebene auf der Seite Einstellungen.
Buckets.ContentSecurityPolicy
UiPath.Orchestrator.dll.config
angezeigt.
Buckets.AvailableProviders
Wird verwendet, um zu überprüfen, welche Anbieter zum Erstellen von Speicher-Buckets genutzt werden können. Die verfügbaren Anbieter sind: Orchestrator, Amazon, Azure, Minio, S3-kompatible Speicheranbieter und das Dateisystem. Mehrere Werte können durch Kommas getrennt eingegeben werden.
UiPath.Orchestrator.dll.config
angezeigt und nur die folgenden Anbieter werden ausgewählt: Orchestrator
, Amazon
, Azure
, Minio
und S3Compatible
. Das Standardverhalten gilt sowohl für Neuinstallationen als auch für Upgrades. Wenn der Schlüssel sichtbar ist, sind die verfügbaren Anbieter auf diejenigen beschränkt, die als Buckets.AvailableProviders
-Werte angegeben sind.
Beispiel: Um nur den Orchestrator, Amazon und Azure als Speicher-Bucket-Anbieter zu verwenden, fügen Sie den folgenden Schlüssel hinzu:
<add key="Buckets.AvailableProviders" value="Orchestrator,Amazon,Azure" />
<add key="Buckets.AvailableProviders" value="Orchestrator,Amazon,Azure" />
Buckets.FileSystem.Allowlist
Buckets.FileSystem.Allowlist
Werte zuweist.
|
eingegeben werden. Beachten Sie, dass die Pfade vollqualifiziert sein müssen, entweder gerooted mit einem Laufwerk oder einem UNC-Pfad (z. B. c:\
, c: est
, \\servershare\shared
), und jeder von ihnen stellt ein Präfix dar, das für jeden beliebigen Bucket verwendet werden darf. Ein Bucket kann auf diesem bestimmten Pfad oder einem beliebigen Unterpfad erstellt werden.
Buckets.FileSystem.Allowlist
eine Reihe von Sicherheitsauswirkungen hat, sollten Sie sich unter Sichere Verwendung der FileSystem-Speicherzulassungsliste informieren, bevor sie fortfahren.
WindowsAuth.GroupMembershipCacheExpireHours
1
, d. h. Änderungen an der Verzeichnisgruppenmitgliedschaft werden für aktive Benutzersitzungen einmal pro Stunde mit dem Orchestrator synchronisiert.
AcceptedRootUrls
,
), wie hier "https://server1,https://server2"
.
Auth.Cookie.Expire
Die Zeitdauer in Minuten, nach der Sie automatisch abgemeldet werden. Standardmäßig ist dieser Wert auf 30 Minuten festgelegt.
Auth.Bearer.Robot.Expire
Die Zeitdauer, nach der das Bearer Token Ihres Roboters erlischt. Standardmäßig ist dieser Wert auf 30 Minuten festgelegt.
Auth.Cookie.ValidateInterval
60
Sekunden festgelegt. Dieser Parameter wird per Standard in der Datei UiPath.Orchestrator.dll.config
nicht angezeigt. Wenn Sie ihn beispielsweise auf 20 Sekunden festlegen möchten, fügen Sie den folgenden Schlüssel hinzu: <add key="Auth.Cookie.ValidateInterval" value="20"/>
.
Auth.DisabledPermissions
<add key="Auth.DisabledPermissions" value="Machines.Delete,Libraries.Delete" />
.
Auth.RememberMe.Enabled
true
festgelegt, was bedeutet, dass das Kontrollkästchen angezeigt wird. Setzen Sie ihn auf false
, um es auszublenden. Diese Einstellung wird in der Datei UiPath.Orchestrator.dll.config
standardmäßig nicht angezeigt.
Auth.AllowChangePassword
UiPath.Orchestrator.dll.config
standardmäßig nicht angezeigt. Die verfügbaren Werte sind true
(Standardwert) und false
.
Auth.AllowSelfEmailUpdate
true
festgelegt, d. h. eine Aktualisierung ist möglich. Legen Sie den Parameter auf false
fest, damit das Feld schreibgeschützt ist. Diese Einstellung wird standardmäßig nicht in der Datei UiPath.Orchestrator.dll.config
angezeigt.
ExternalAuth.AccessTokenAuth.Enabled
UiPath.Orchestrator.dll.config
nicht angezeigt. Die folgenden Werte sind verfügbar:
true
- Der Benutzer kann authentifizierte Anforderungen mithilfe eines von Auth0 ausgestellten Zugriffstokens stellen. Dies wird nur berücksichtigt, wenn Sie eine gültige Zielgruppe für den ParameterExternalAuth.AccessTokenAuth.Audience
festlegen.false
- Der Benutzer kann keine authentifizierten Anforderungen mithilfe eines von Auth0 ausgestellten Zugriffstokens stellen. Dies ist der Standardwert.
ExternalAuth.AccessTokenAuth.Audience
<add key="ExternalAuth.AccessTokenAuth.Audience" value="https://cloud.uipath.com" />
. Diese Einstellung wird nicht standardmäßig in der Datei UiPath.Orchestrator.dll.config
angezeigt.
ExternalAuth.ShowPII
<add key="ExternalAuth.ShowPII" value="true" />
. Der Schlüssel wird nicht standardmäßig in UiPath.Orchestrator.dll.config
angezeigt, und das Standardverhalten lässt keine PII-Anzeige zu.
RestrictBasicAuthentication
EnableBasicAuthenticationForHostTenant
Diese Einstellungen sollten nur dann modifiziert werden, wenn Sie einen Lastausgleich verwenden.
LoadBalancer.UseRedis
false
festgelegt.
LoadBalancer.Redis.ConnectionString
LoadBalancer.UseRedis
auf true
festgelegt ist. Ein Verbindungszeichenfolge, die es Ihnen ermöglicht, Ihren Redis-Server einzurichten. Sie enthält die URL des Servers, das Kennwort und den mit Redis verwendeten Port. Alle HAA-Clusterknoten sollten in der Verbindungszeichenfolge hinzugefügt werden.
Überdies besteht die Möglichkeit, mit SSL verschlüsselte Verbindungen zwischen den Orchestrator-Knoten und dem Redis-Dienst zu aktivieren. Weitere Informationen finden Sie hier. Beispiele:
- mit aktiviertem SSL -
<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" />
- ohne aktiviertes SSL -
<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
Ihres Installationsverzeichnisses. Beispiel:
- Einzelner Speicher:
<add key="Plugins.SecureStores" value="UiPath.Orchestrator.CyberArk.dll"/>
-
Mehrere Speicher:
<add key="Plugins.SecureStores" value="UiPath.Orchestrator.CyberArk.dll,UiPath.Orchestrator.SecureStore.CyberArkCCP.dll,UiPath.Orchestrator.AzureKeyVault.SecureStore.dll"/>
Hinweis: Beim Aktualisieren einer Orchestrator-Instanz mit einer vorhandenen CyberArk-Integration wird diese Einstellung mit dem CyberArk-Plugin vorab aufgefüllt. Für alle anderen Installationen ist der Einstellungswert standardmäßig leer.
Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath
CLIPasswordSDK64.exe
in einem benutzerdefinierten Installationspfad. Wenn beispielsweise D:\CustomFolder\
das CyberArk-Installationsverzeichnis ist, müssen Sie den folgenden Schlüssel hinzufügen: <add key="Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath" value="D:\CustomFolder\CLIPasswordSDK64.exe"/>
. Der Standardwert dieser App-Einstellung ist C:\Program Files (x86)\CyberArk\ApplicationPasswordSdk\CLIPasswordSDK64.exe
.
Plugins.SecureStores.CyberArk.UsePowerShellCLI
false
. Fügen Sie den folgenden Schlüssel hinzu, um ihn zu aktivieren: <add key="Plugins.SecureStores.CyberArk.UsePowerShellCLI" value="true"/>
.
Die Konfiguration für die Active Directory-Authentifizierung (Azure AD) erfolgt nach der Installation über das Verwaltungsportal des Orchestrators.
Die Konfiguration für die Active Directory-Authentifizierung erfolgt nach der Installation über das Verwaltungsportal des Orchestrators.
Anweisungen finden Sie auf der Seite Konfigurieren der Active Directory-Integration.
Logs.RobotLogs.ReadTarget
database
oder robotelasticbuffer
).
RobotsLogs.Flush.Interval
UiPath.Orchestrator.dll.config
angezeigt wird. Sofern nicht anders angegeben, beträgt der Wert 0 Sekunden. Das folgende Beispiel zeigt, wie ein Flush-Intervall von 60 Sekunden festgelegt wird, was bedeutet, dass der Roboter alle 60 Sekunden Protokolle an den Server sendet.
<add key="RobotsLogs.Flush.Interval" value="60" />
<add key="RobotsLogs.Flush.Interval" value="60" />
RobotsLogs.Flush.BatchSize
UiPath.Orchestrator.dll.config
angezeigt. Sofern nicht anders angegeben, beträgt der Wert 100 Protokollnachrichteneinträge, was bedeutet, dass der Roboter Batches von 100 Protokollen an den Server sendet.
<add key="RobotsLogs.Flush.BatchSize" value="100" />
<add key="RobotsLogs.Flush.BatchSize" value="100" />
Logs.RequestAbortedLogBehavior
Gibt das Protokollierungsverhalten für Abbruchausnahmen an, die beim Abbrechen eines ausgeführten Vorgangs ausgelöst werden. Diese werden z. B. generiert, wenn Sie auf eine Schaltfläche klicken und vor dem Ausführen des Vorgangs auf eine andere Schaltfläche klicken. Bitte beachten Sie, dass dieser Parameter per Standard ausgeblendet ist. Die folgenden Werte sind verfügbar:
Ignore
- Alle Abbruchausnahmen werden ignoriert, wenn die entsprechenden Anforderungen abgebrochen wurden. Dies ist der Standardwert.Info
- Abbruchausnahmen werden mit Info zum Schweregrad protokolliert.None
- Abbruchausnahmen werden mit Fehler-Schweregrad protokolliert.
<add key="Logs.RequestAbortedLogBehavior" value="Ignore" />
in der Konfigurationsdatei hinzufügen.
Logs.Elasticsearch.SharedIndex
index
im NLog-Ziel verwendet wird. Beispiel: <add key="Logs.Elasticsearch.SharedIndex" value="robotlogs" />
. Details finden Sie hier. Bitte beachten Sie, dass dieser Parameter per Standard ausgeblendet ist.
Logs.Elasticsearch.EnableFolderIdFilter
true
festgelegt, d. h., Protokolle sind ausgeblendet. Legen Sie false
fest, um sie anzuzeigen: <add key="Logs.Elasticsearch.EnableFolderIdFilter" value="false" />
Logs.Elasticsearch.Username
Der Benutzername, der zum Lesen von Protokollen in Elasticsearch erforderlich ist. Beachten Sie, dass Sie diesen Parameter nur konfigurieren müssen, wenn die Elasticsearch-Authentifizierung aktiviert ist und Sie kein NLog-Ziel verwenden. Stellen Sie beim Konfigurieren des Parameters sicher, dass sein Wert mit den Elasticsearch-Servereinstellungen übereinstimmt. Weitere Informationen finden Sie unter X-Pack-Authentifizierung.
Logs.Elasticsearch.Password
Der Benutzername, der zum Lesen von Protokollen in Elasticsearch erforderlich ist. Beachten Sie, dass Sie diesen Parameter nur konfigurieren müssen, wenn die Elasticsearch-Authentifizierung aktiviert ist und Sie kein NLog-Ziel verwenden. Stellen Sie beim Konfigurieren des Parameters sicher, dass sein Wert mit den Elasticsearch-Servereinstellungen übereinstimmt. Weitere Informationen finden Sie unter X-Pack-Authentifizierung.
Logs.Elasticsearch.OAuthEnabled
true
fest, um OAuth2 zu aktivieren und verwenden Sie einen tokenbasierten Authentifizierungsmechanismus zum Lesen von Roboterprotokollen in Elasticsearch als Alternative zum System mit Benutzer und Kennwort. Standardmäßig ist dieser Parameter auf false
festgelegt.
Wenn Sie die OAuth-Authentifizierung aktivieren, müssen Sie dennoch den Benutzernamen und das Kennwort wie bei der Standard-Authentifizierungsmethode angeben. Dies ist erforderlich, da das ursprüngliche Token basierend auf diesen Anmeldeinformationen generiert wird.
Ausführliche Anweisungen zum Konfigurieren der OAuth2-Authentifizierung für Elasticsearch finden Sie unter OAuth2-Authentifizierung.
Logs.Elasticsearch.OAuthExpireInSeconds
Ermöglicht Ihnen das Festlegen der Zeit (in Sekunden), bevor das Zugriffstoken, das zum Lesen von Roboterprotokollen in Elasticsearch verwendet wird, abläuft und aktualisiert wird. Der Standardwert beträgt die empfohlenen 1200 Sekunden (20 Minuten), der Maximalwert 3600 Sekunden (60 Minuten). Mit der eigens dafür vorhandenen Schaltfläche im Orchestrator können Sie ein Token ungültig machen.
Logs.Elasticsearch.OAuthEnabled
auf true
festgelegt ist und dass Sie den Elasticsearch-Server ordnungsgemäß konfiguriert haben. Weitere Informationen finden Sie unter OAuth2-Authentifizierung.
Logs.Elasticsearch.DisableProductCheckStatus
true
festgelegt werden.
false
.
disableProductCheckStatus
in der Nlog-Datei, die ebenfalls ausgeblendet ist, und standardmäßig mit false
. Er muss auch auf true
festgelegt werden, um die Funktion zu aktivieren.
Webhooks-Einstellungen wurden in die Dateiappsettings.json des Webhooks-Dienstes verschoben.
Scalability.Heartbeat.PeriodSeconds
30
Sekunde festgelegt.
Scalability.Heartbeat.FailureThreshold
4
festgelegt. Das bedeutet, dass ein Roboter nach 2 Minuten fehlgeschlagener Heartbeats (4 x 30 Sekunden = 2 Minuten) als nicht reagierend gekennzeichnet wird.
Scalability.SignalR.Enabled
true
festgelegt. Dieser Parameter wird beim ersten Seeding der Datenbank verwendet. Um nach der Installation Änderungen vorzunehmen, verwenden Sie die Seite Einstellungen auf Mandanten- oder Hostebene.
Scalability.SignalR.Transport
Gibt das Transportprotokoll an, das verwendet wird, um sich mit den SignalR-Kanälen von Orchestrator zu verbinden. Folgende Werte können zugeordnet werden (in beliebiger Kombination - bitweise ODER):
- WebSocketTransport = 1
- ServerSentEventsTransport = 2
- LongPollingTransport = 4
- Standardwert: 7 (WebSocketTransport | ServerSentEventsTransport | LongPollingTransport)
Dieser Parameter wird beim ersten Seeding der Datenbank verwendet. Um Nach der Installation Änderungen vorzunehmen, verwenden Sie die Seite Einstellungen auf Mandanten- oder Host-Ebene.
Scalability.AzureSignalR.ConnectionString
Unterstützt Sie bei der Aktivierung von Azure SignalR Service und erleichtert die direkte Kommunikation zwischen Ihrer Roboterflotte und dem SignalR-Dienst
Scalability.AzureSignalR.ConnectionCount
verwendet werden. Dieser Parameter ist in unserem Cloud-Angebot aktiviert. Wird in der Datei UiPath.Orchestrator.dll.config
standardmäßig nicht angezeigt.
<add key="Scalability.AzureSignalR.ConnectionString" value="Endpoint=https://test.signalr.net;AccessKey=M1ug+sBu07hyyi12AgyJ52SEd4OgC2Mm6BvllVHCC9c=;Version=1.0;" />
.
Scalability.AzureSignalR.ConnectionCount
5
. Beispiel: <add key="Scalability.AzureSignalR.ConnectionCount" value="7" />
. Diese Einstellung wird standardmäßig nicht angezeigt und kann nicht ohne den Scalability.AzureSignalR.ConnectionString
-Schlüssel verwendet werden.
Scalability.SignalR.RequireStickySessions
true
festgelegt ist, sind alle Transporte aktiviert, und Orchestrator geht davon aus, dass Sticky Sessions auf dem Lastenausgleich aktiviert sind. Wenn Sie Sticky Sessions in UiPath.Orchestrator.dll.config
aktivieren, ohne sie auf dem Lastenausgleich zu aktivieren, führt dies zu fehlerhaften SignalR-Verbindungen.
Telemetry.Enabled
Aktiviert oder deaktiviert die Nutzungs- und Leistungsdatensammlung, die UiPath bei Diagnoseproblemen und zur Verbesserung von Orchestrator verwendet. Ausführliche Informationen zu den UiPath Datenschutzpraktiken siehe Datenschutzerklärung. Die folgenden Werte sind verfügbar:
true
- Die Telemetriefunktion ist deaktiviert. Dies ist der Standardwert.false
- Die Telemetriefunktion ist deaktiviert.
Überdies besteht die Möglichkeit, dass Sie sich beim Installieren oder Aktualisieren Ihrer Orchestrator-Instanz für oder gegen die Leistungs- und Nutzungsdatensammlung entscheiden, wie hier beschrieben.
MediaRecording.Enabled
false
festlegen. Standardmäßig auf true
festgelegt. Das bedeutet, dass die Funktion aktiviert ist. Der Speicher wird mit den Parametern Storage.Type
und Storage.Location
definiert.
Pagination.Limits.Enabled
true
festgelegt. Fügt einen Standardwert $top
für alle Aufrufe von API-Endpunkten mit Paginierungsparametern hinzu (z. B. odata/Users
).
Triggers.DisableWhenFailedCount
Triggers.DisableWhenFailedCount
die Anzahl der fehlgeschlagenen Ausführungen anpassen, während Triggers.DisableWhenFailingSinceDays
Ihnen ermöglicht, die Anzahl der Tage zu ändern. Standardmäßig ist der Triggers.DisableWhenFailedCount
-Wert 10 und der Triggers.DisableWhenFailingSinceDays
-Wert 1, was bedeutet, dass der Trigger nach 10 erfolglosen Starts deaktiviert wird, wenn am letzten Tag keine erfolgreichen Ausführungen vorhanden waren.
Triggers.DisableWhenFailedCount
auf 0 festlegen.
Ein Trigger wird automatisch deaktiviert, wenn er 10 aufeinanderfolgende fehlgeschlagene Starts aufweist und in den letzten 24 Stunden nicht erfolgreich gestartet wurde.
Triggers.JobsCountStrategy
Ermöglicht es Ihnen, die Strategie für die Auftragsanzahl für Aufträge auszuwählen, die über Trigger gestartet werden. Standardmäßig ausgeblendet. Folgende Optionen stehen zur Verfügung:
PerProcess
- Ein Trigger startet die erforderliche Anzahl von Aufträgen unter Berücksichtigung ausstehender Aufträge für den angegebenen Prozess. Beispielsweise starten zwei Trigger, die für denselben Prozess definiert sind, 3 bzw. 5 Aufträge. Wenn der erste Trigger 3 Aufträge zu einem bestimmten Zeitpunkt startet, wenn der zweite Trigger ausgelöst wird, werden 2 Aufträge gestartet, um die 5 erforderlichen Aufträge zu erreichen. Fügen Sie den folgenden Schlüssel in der Konfigurationsdatei hinzu, um diese Strategie zu verwenden:<add key="Triggers.JobsCountStrategy" value="PerProcess" />
. Dies ist der Standardwert.PerTrigger
- Ein Trigger startet die erforderliche Anzahl von Aufträgen unter Berücksichtigung vorhandener Aufträge, die zuvor von demselben Trigger gestartet wurden. Beispielsweise wird ein Trigger definiert, um 9 Aufträge zu einem bestimmten Zeitpunkt zu starten. Wenn 2 Aufträge bis zum erneuten Auslösen dieses Triggers erfolgreich abgeschlossen wurden, startet Orchestrator weitere 2 Aufträge, um die 9 erforderlichen Aufträge zu erreichen. Fügen Sie den folgenden Schlüssel in der Konfigurationsdatei hinzu, um diese Strategie zu verwenden:<add key="Triggers.JobsCountStrategy" value="PerTrigger" />
.NoLimit
- Der Auslöser startet die erforderliche Anzahl von Aufträgen, unabhängig von vorhandenen ausstehenden Aufträgen. Beispielsweise wird ein Trigger definiert, um 5 Aufträge zu einem bestimmten Zeitpunkt zu starten. Beim zweiten Auslösen des Triggers werden weitere 5 Aufträge gestartet. Fügen Sie den folgenden Schlüssel in der Konfigurationsdatei hinzu, um diese Strategie zu verwenden:<add key="Triggers.JobsCountStrategy" value="NoLimit" />
.
QueueTriggers.PendingJobsStrategy
Ermöglicht Ihnen die Auswahl der Berechnungsmethode für die Anzahl zusätzlicher Aufträge, die ausgelöst werden sollen, wenn neue Elemente zu einer Warteschlange hinzugefügt werden. Dazu wird die Zahl der Arbeitsplätze in einem bestimmten Status von der angestrebten Höchstzahl der zu schaffenden Arbeitsplätze abgezogen.
Die folgenden Optionen sind verfügbar:
-
True
– Das ist die Standardoption. Diese Option eignet sich am besten für Fälle, in denen der Orchestrator davon ausgehen soll, dass alle ausgeführten Aufträge Warteschlangenelemente bereits aus dem Status Neu verschoben haben. Die Zahl wird wie folgt berechnet:Maximale Anzahl zusätzlicher Aufträge, die basierend auf neu verfügbaren Warteschlangenelementen erstellt werden können = die maximale Anzahl der gleichzeitig zulässigen ausstehenden und laufenden Aufträge – die Anzahl der Aufträge im Status Ausstehend.
-
False
– Diese Option eignet sich am besten für Fälle, in denen der Orchestrator davon ausgehen soll, dass alle ausgeführten Aufträge Warteschlangenelemente noch aus dem Status Neu verschieben müssen. Die Zahl wird wie folgt berechnet:Maximale zusätzliche Aufträge, die basierend auf neu verfügbaren Warteschlangenelementen erstellt werden können = die maximale Anzahl der gleichzeitig zulässigen ausstehenden und laufenden Aufträge die Anzahl der Aufträge in einem der folgenden Zustände: Pending,Resumed,Running,Stopping,Terminating.
PreventAutoRefresh.Enabled
<add key="PreventAutoRefresh.Enabled" value="true" />
kann hinzugefügt werden, um die automatische Aktualisierung der Seite einzuschränken, wenn Aufträge ausgeführt werden. Der Schlüssel wird standardmäßig nicht angezeigt, und der Standardwert ist false
. Dies bedeutet, dass der Orchestrator die Seite für jeden neuen Auftrag automatisch aktualisiert.
PreventAutoRefresh.Enabled
.
QueueActivation.TriggerCache.Expiration.Minutes
Steuern Sie, wie einfache Quarztrigger für Warteschlangen mit zugeordneten Warteschlangentriggern generiert werden.
- Wenn auf
0
festgelegt, wird für jedes Element, das in einer Warteschlange hinzugefügt wird, ein Quarztrigger generiert. - Wenn der Wert größer als 0 ist, prüft das System, ob bereits ein Quarztrigger für diese Warteschlange erstellt wurde und verhindert, dass ein anderer Trigger erstellt wird. Die Einschränkung wird entfernt, wenn die Bedingungen der Warteschlangen-Trigger erfüllt sind. Wenn der Warteschlangentrigger dies nicht tut, wird die Einschränkung entsprechend dem für den Parameter
QueueActivation.TriggerCache.Expiration.Minutes
festgelegten Wert entfernt. Der Standardwert ist5
.
Features.ClassicFolders.Enabled
false
eingestellt, was bedeutet, dass klassische Ordner deaktiviert sind und nur moderne Ordner verfügbar sind. Dieser Parameter ist standardmäßig ausgeblendet.
Jobs.TerminatingJobsTimeout
1440
, d. h., Aufträge können nicht als „Fehlgeschlagen“ markiert werden, es sei denn, sie befinden sich mindestens einen Tag lang in einem Beenden-Status. Dieser Parameter ist standardmäßig ausgeblendet.
Jobs.TerminatingJobsCleanupCron
Jobs.TerminatingJobsTimeout
festgelegte Dauer in einem Beenden-Status. Die Standardwerte sind 0 0 0/3 1/1 * ? *
für Jobs.TerminatingJobsCleanupCron
und 1440
für Jobs.TerminatingJobsTimeout
, d. h., der Hintergrundauftrag wird einmal alle drei Stunden ausgeführt und ändert nur die Aufträge in „Fehlgeschlagen“, die sich mindestens einen Tag lang im Beenden-Status befinden. Dieser Parameter ist standardmäßig ausgeblendet.
PW.StopExploringCron
0 25 * ? * *
, d. h. der Hintergrundauftrag wird in Minute 25 jeder Stunde ausgeführt. Wenn sie nicht über die erforderlichen Berechtigungen verfügen, werden die Erkundungssitzungen beendet. Dieser Parameter ist standardmäßig ausgeblendet.
Features.LongRunning.Enabled
<add key="Features.LongRunning.Enabled" value="true" />
.
Tasks.ModuleEnabled
<add key="Tasks.ModuleEnabled" value="true" />
. Mit dieser Einstellung wird die Funktion auf Instanzebene verfügbar. Um sie pro Mandant zu konfigurieren, führen Sie die hier angegebenen Schritte aus. Der Parameter Features.LongRunning.Enabled
muss auf true
gesetzt werden, damit diese Einstellung wirksam wird.
Features.SmartCardAuthentication.Enabled
<add key="Features.SmartCardAuthentication.Enabled" value="true" />
.
OData.BackwardsCompatible.Enabled
true
werden Sonderzeichen im Hauptteil von Anforderungen und Antworten geparst. Standardmäßig ist dieser Parameter ausgeblendet und auf false
festgelegt.
NotRespondingRobotsJobStartDelay
UiPath.Orchestrator.dll.config
angezeigt.
Upload.Queues.MaxNumberOfItems
15000
. Bitte beachten Sie, dass dieser Parameter nicht standardmäßig in UiPath.Orchestrator.dll.config
angezeigt wird.
Processes.FilterOutDeleted
Ermöglicht die Optimierung der Art und Weise, in der Orchestrator Prozesse abruft. Die Optimierung wird durch das Entfernen unnötiger Überprüfungen für verwaiste Prozesse erreicht, deren zugehörige Pakete gelöscht wurden. Dadurch wird die Gesamtleistung Ihrer Instanz verbessert, insbesondere wenn es sich um eine große Bereitstellung handelt. Die folgenden Werte sind verfügbar:
false
- Der Paketabruf ist optimiert, Überprüfungen werden für verwaiste Prozesse nicht durchgeführt.true
- Der Paketabruf ist nicht optimiert.
true
festgelegt ist, was bedeutet, dass der Prozessabruf nicht optimiert ist.
CertificatesStoreLocation
<add key="CertificatesStoreLocation" value="LocalMachine" />
. Stellen Sie sicher, dass AzureKeyVaultCertificateStoreLocation
in appsettings.Production.json den gleichen Wert hat.
ProxyIntegration.Enabled
UiPath.Orchestrator.dll.config
angezeigt und sein Wert ist auf true
festgelegt, was bedeutet, dass die Proxyintegration aktiviert ist, sofern nicht anders angegeben. Verwenden Sie <add key="ProxyIntegration.Enabled" value="false"/>, um die Proxyintegration zu deaktivieren.
Der Verschlüsselungsschlüssel, der zum Schützen der Kennwörter in Anmeldeinformationsassets verwendet wird. Wenn Sie eine Umgebung mit einem Netzwerklastausgleich verwenden, sollte dieser Schlüssel für alle Maschinen derselbe sein.
EncryptionKeyPerTenant.Enabled
auf true
und EncryptionKeyPerTenant.KeyProvider
auf AzureKeyVault
festgelegt sind. Darüber hinaus müssen Sie darauf achten, dass Sie alle Schlüssel, geheimen und Zertifikatsberechtigungen für Ihre Orchestrator-Instanz in den Zugriffsrichtlinien (Access policies) Ihres Azure Key Vault angeben. Die vollständige Beschreibung dieser Prozedur finden Sie auf dieser Seite.
ae11aa1a-1234-1234-a123-a12a12aaa1aa
sein. Diese Einstellung wird per Standard in der Datei UiPath.Orchestrator.dll.config
nicht angezeigt. Beispiel: <add key="Azure.KeyVault.ClientId" value="ae11aa1a-1234-1234-a123-a12a12aaa1aa" />
.
UiPath.Orchestrator.dll.config
nicht angezeigt. Beispiel: <add key="Azure.KeyVault.CertificateThumbprint" value="1234123412341234123412341234124312341234" />
.
https://CustomVaultName.vault.azure.net/
sein. Diese Einstellung wird per Standard in der Datei UiPath.Orchestrator.dll.config
nicht angezeigt. Beispiel: <add key="Azure.KeyVault.VaultAddress" value="https://CustomVaultName.vault.azure.net/" />
.
<add key="Azure.KeyVault.DirectoryId" value="c9d0e174-684e-469e-84ea-d32c863ad534" />
.
Dieser Abschnitt enthält Einstellungen für die Konfiguration der SSO-Anmeldung, S2S-Zugriffstoken und Zugriffstoken für die Roboterbereitstellung.
Mit den folgenden Parametern können Sie die SSO-Anmeldung über Identity Server konfigurieren:
ExternalAuth.System.OpenIdConnect.Enabled
true
festgelegt.
ExternalAuth.System.OpenIdConnect.Authority
https://Orchestrator/Identity
festgelegt, wobei Orchestrator
die Installationsadresse Ihres Orchestrators ist.
ExternalAuth.System.OpenIdConnect.ClientId
Ermöglicht es Ihnen, die registrierte Orchestrator-Anwendungs-ID (clientId) für den registrierten Insider Identity Server festzulegen. Der Wert wird zur Installationszeit generiert und in Identity Server gespeichert.
ExternalAuth.System.OpenIdConnect.ClientSecret
Ermöglicht es Ihnen, den geheimen Clientschlüssel für die Orchestrator-Anwendung festzulegen, der vom externen Authentifizierungssystem erkannt wird. Der Wert wird zur Installationszeit generiert und in Identity Server gespeichert.
ExternalAuth.System.OpenIdConnect.RedirectUri
http://Orchestrator/signinsystemopenidconnect
.
ExternalAuth.System.OpenIdConnect.PostLogoutRedirectUri
Die Adresse, an die Identity Server umleitet, nachdem sich ein Benutzer bei Orchestrator abgemeldet hat. Dieser Wert wird automatisch mit Ihrer Orchestrator-URL aufgefüllt.
UiPath.Orchestrator.dll.config
folgende Schlüssel enthalten:
<add key="ExternalAuth.System.OpenIdConnect.Enabled" value="true" />
<add key="ExternalAuth.System.OpenIdConnect.Authority" value="https://Orchestrator/Identity" />
<add key="ExternalAuth.System.OpenIdConnect.ClientId" value="orchestrator" />
<add key="ExternalAuth.System.OpenIdConnect.ClientSecret" value="49C1A7E1-0C79-4A89-A3D6-A37998FB86B0" />
<add key="ExternalAuth.System.OpenIdConnect.RedirectUri" value="https://Orchestrator/signinsystemopenidconnect" />
<add key="ExternalAuth.System.OpenIdConnect.PostLogoutRedirectUri" value="https://Orchestrator/" />
<add key="ExternalAuth.System.OpenIdConnect.Enabled" value="true" />
<add key="ExternalAuth.System.OpenIdConnect.Authority" value="https://Orchestrator/Identity" />
<add key="ExternalAuth.System.OpenIdConnect.ClientId" value="orchestrator" />
<add key="ExternalAuth.System.OpenIdConnect.ClientSecret" value="49C1A7E1-0C79-4A89-A3D6-A37998FB86B0" />
<add key="ExternalAuth.System.OpenIdConnect.RedirectUri" value="https://Orchestrator/signinsystemopenidconnect" />
<add key="ExternalAuth.System.OpenIdConnect.PostLogoutRedirectUri" value="https://Orchestrator/" />
UiPath.Orchestrator.dll.config
hinzugefügt werden:
IdentityServer.Integration.Enabled
true
festgelegt.
IdentityServer.Integration.Authority
https://Orchestrator/Identity
festgelegt, wobei Orchestrator
die Installationsadresse Ihres Orchestrators ist.
IdentityServer.Integration.ClientId
Ermöglicht Ihnen das Festlegen der Anwendungs-ID (Client-ID), die zum Generieren von S2S-Zugriffstoken verwendet wird, die in Identity Server registriert sind. Der Wert wird zur Installationszeit generiert.
IdentityServer.Integration.ClientSecret
Ermöglicht es Ihnen, den geheimen Clientschlüssel für die Orchestrator S2S-Anwendung festzulegen, die von Identity Server erkannt wird. Der Wert wird zur Installationszeit generiert.
IdentityServer.Integration.AccessTokenCacheBufferInSeconds
50
festgelegt.
IdentityServer.Integration.UserOrchestratorApiAudience
OrchestratorApiUserAccess
festgelegt.
<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
hinzufügen:
IdentityServer.S2SIntegration.Enabled
UiPath.Orchestrator.dll.config
.
IdentityServer.Integration.S2SOrchestratorApiAudience
OrchestratorApiS2SAccess
festgelegt.
UiPath.Orchestrator.dll.config
auch die folgenden bereits vorhandenen Schlüssel enthält, deren Werte auf true
gesetzt sind:
MultiTenancy.AllowHostToAccessTenantApi
true
festgelegt, können die Hostbenutzer auf die spezifischen Daten anderer Mandanten zugreifen. Standardmäßig ist der Wert auf true
festgelegt.
MultiTenancy.TenantResolvers.HttpGlobalIdHeaderEnabled
true
zu, dass Orchestrator den Mandanten identifiziert, indem die globale Mandanten-ID aus dem Anforderungsheader der API gelesen wird.
<add key="IdentityServer.S2SIntegration.Enabled" value="true" />
<add key="IdentityServer.Integration.S2SOrchestratorApiAudience" value="OrchestratorApiS2SAccess" />
<add key="MultiTenancy.AllowHostToAccessTenantApi" value="true" />
<add key="MultiTenancy.TenantResolvers.HttpGlobalIdHeaderEnabled" value="true" />
<add key="IdentityServer.S2SIntegration.Enabled" value="true" />
<add key="IdentityServer.Integration.S2SOrchestratorApiAudience" value="OrchestratorApiS2SAccess" />
<add key="MultiTenancy.AllowHostToAccessTenantApi" value="true" />
<add key="MultiTenancy.TenantResolvers.HttpGlobalIdHeaderEnabled" value="true" />
Orchestrator fungiert als Token-Generator für Roboter. Roboter rufen den Orchestrator-Endpunkt auf, um ein Zugriffstoken zu generieren. Das Zugriffstoken wird dann an Aktivitäten übergeben, die verschiedene Ressourcen aufrufen können, z. B. AI Fabric. Mit der Integration von Identity Service in Orchestrator übernimmt Identity Server die Generierung der Zugriffstoken.
UiPath.Orchestrator.dll.config
-Schlüssel: <logger name="Robot.*" writeTo="database,robotElasticBuffer" final="true" />
. Er wird verwendet, um Protokollmeldungen zu konfigurieren, die von Robotern generiert werden. Folgende Parameter müssen konfiguriert werden:
-
writeTo
- Der Ort, an dem vom Roboter generierte Protokollnachrichten geschrieben werden. Die folgenden Werte sind verfügbar:database
- An die Orchestrator-SQL-Datenbank werden Protokolle gesendet. Dies ist einer der Standardwerte.-
robotElasticBuffer
- Protokolle werden an Elasticsearch gesendet. Dies ist der zweite Standardwert. Bitte vergessen Sie nicht, dass weitere Einstellungen dazu erforderlich sind. Details finden Sie hier.Wenn Sie die Protokolle sowohl zur Orchestrator-SQL-Datenbank als auch zu ElasticSearch schicken, erhalten Sie Protokolle, die nicht zurückgewiesen werden können. Löschen Sie einen der Werte, um die Protokollierung an diesem Speicherplatz anzuhalten.
final
- Ein Kennzeichen, das angibt, was zu tun ist, wenn eine Übereinstimmung zwischen einer protokollierten Meldung und dem Namen des Protokollierers gefunden wird. Wenn Sie auftrue
festgelegt ist, wird nach keiner weiteren Übereinstimmung gesucht. Wenn Sie auffalse
festgelegt ist, werden andere Regeln, die mit der gleichen Quelle übereinstimmen überprüft. Standardmäßig ist sie auf festgelegttrue
.
UiPath.Orchestrator.dll.config
-Schlüssel: <logger name="Quartz.*" minlevel="Info" writeTo="eventLogQuartz" final="true" />
. Er wird verwendet, um Protokollmeldungen zu konfigurieren, die von Zeitplänen generiert werden.
quartz.jobStore.clustered
auf true
festlegen.
UiPath.Orchestrator.dll.config
-Schlüssel: <logger name="Monitoring.*" writeTo="monitoring" minlevel="Warn" final="true" />
. Er wird verwendet, um die Fehlerprotokolle zu konfigurieren, die auf der Seite Überwachung angezeigt werden. Hinweis: Wenn Sie diese Regel entfernen oder das target
ändern, werden auf der Seite Überwachung keine Fehlerprotokolle angezeigt.
UiPath.Orchestrator.dll.config
-Schlüssel: <logger name="BusinessException.*" minlevel="Info" writeTo="businessExceptionEventLog" final="true" />
. Er wird verwendet, um die Protokolle für ausgelöste Geschäftsausnahmen zu konfigurieren. Zum Beispiel Validierungsprobleme (z. B. Invalid username
) oder Geschäftskonflikte (z. B. License expired
).
UiPath.Orchestrator.dll.config
-Schlüssel: <logger name="*" minlevel="Info" writeTo="eventLog" />
. Er wird verwendet, um alle anderen Protokolle außer den oben beschriebenen zu konfigurieren, einschließlich der von Orchestrator generierten Protokolle.
Erfahren Sie mehr über zusätzliche Einstellungen.
Das folgende NLog-Ziel muss entsprechend Ihrer ElasticSearch-Konfiguration ausgefüllt werden:
<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
- die Elasticsearch-URL; beachten Sie, dass Sie das Protokoll und den Port einschließen müssen, z. B.http://elastic_server:9200
. Sie können die Notwendigkeit eines Lastenausgleichs entfernen, indem Sie diesen Parameter mit der Elasticseach-URL jedes Knotens ausfüllen, z. B.uri="http://elastic-node1:9200,http://elastic-node2:9200,http://elastic-node3:9200"
.excludedProperties
– Daten, die nicht in ElasticSearch gespeichert werden sollen.index
- das Format des Protokollierungsindexes, der entweder pro Mandant eindeutig oder von allen Mandanten gemeinsam verwendet werden kann. Details unten.requireAuth
– auftrue
festlegen, um die Authentifizierung beim Verbinden des Orchestrators mit Elasticsearch zu aktivieren.username
– Geben Sie den Benutzernamen an, der zum Anmelden bei Elasticsearch verwendet wird. Sie müssen ihn konfigurieren, wennrequireAuth
auftrue
festgelegt ist undOAuthEnabled
auffalse
.password
– Geben Sie das Kennwort an, das zum Anmelden bei Elasticsearch verwendet wird. Sie müssen es konfigurieren, wennrequireAuth
auftrue
festgelegt ist undOAuthEnabled
auffalse
.OAuthEnabled
– Legen Sie diesen Parameter auftrue
fest, um OAuth2 zu aktivieren und einen tokenbasierten Authentifizierungsmechanismus für das Nlog-Ziel für Elasticsearch zu verwenden. Wenn Sie dies zum ersten Mal aktivieren, müssen Sie Ihren aktuellen Benutzernamen und Ihr Kennwort angeben, um das ursprüngliche Token zu generieren. Damit dieser Parameter wirksam wird, müssen Sie sicherstellen, dassLogs.Elasticsearch.OAuthEnabled
auch auftrue
festgelegt ist und Sie den Elasticsearch-Server ordnungsgemäß konfiguriert haben. Weitere Informationen finden Sie unter X-Pack-Authentifizierung.
- Enzelindex -
index="${event-properties:item=indexName}-${date:format=yyyy.MM}"
Für jeden Mandanten wird ein separater Index verwendet, d. h., dass Protokolle, die für einen Mandanten spezifisch sind, basierend auf einem eindeutigen Mandantenbezeichner generiert und abgerufen werden, in diesem FallindexName
, der standardmäßig der Name des Mandanten ist. Dies ist die Standardkonfiguration. In diesem Fall werden Protokolle pro Monat generiert. -
Gemeinsam verwedeter Index -
index="robotlogs-${date:format=yyyy.MM.dd}"
Ein Index wird für alle Mandanten verwendet, d. h., alle Protokolle verwenden denselben Index unabhängig vom Mandanten. In diesem Fall werden Protokolle pro Tag generiert. Um einen Index gemeinsam zu verwenden, müssen Sie auch den folgenden Schlüssel inUiPath.Orchestrator.dll.config
hinzufügen:<add key="Logs.Elasticsearch.SharedIndex" value="robotlogs" />
. Stellen Sie sicher, dass Sie ihn auf den gleichen Wert wie für den Parameterindex
im NLog-Ziel festlegen.Wichtig: Protokolle, die mit einem Einzelindex generiert werden, werden beibehalten, wenn Sie zu einem gemeinsam verwendeten Index wechseln. Protokolle, die mit einem gemeinsam verwendeten Index generiert werden, gehen jedoch verloren, wenn Sie zu einem Einzelindex wechseln.
- Der NLog-Zielkonfigurationsabschnitt
name="robotElastic" index="robot-logs-${date:format=yyyy-MM}"
vonUiPath.Orchestrator.dll.config
. - Der
LoggingIndex
-Datensatz aus derdbo.Settings
-Tabelle der Orchestrator-Datenbank. Stellen Sie sicher, dass der Datensatz mit dem Indexmuster aus der NLog-Zielkonfiguration übereinstimmt (d. h.robot-logs-${date:format=yyyy-MM}
).
Führen Sie die folgenden Schritte aus, um Systemereignisprotokolle in der Datenbank anstelle der Ereignisanzeige zu speichern:
-
Erstellen Sie eine neue Datenbanktabelle, zum Beispiel:
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)In der obigen Abfrage erstellen wir eine Tabelle mit dem NamenEventLogs
mit den folgenden Spalten:Id
- zum Speichern einer ID-Nummer für jedes Protokoll, die hier mit dem Wert1
, der sich mit jedem hinzugefügten Protokoll erhöht;Timestamp
- zum Speichern der Zeit, zu der jedes Ereignis protokolliert wurde;Level
- zum Speichern der numerischen Protokollierungsebene jedes Ereignisses;Message
- zum Speichern der Meldung jedes Ereignisses, falls zutreffend;-
Exception
- zum Speichern der Ausnahme für jedes protokollierte Ereignis, falls zutreffend.Hinweis: Sie können einen beliebigen Namen für Ihre Tabelle verwenden und beliebige Spalten aus der obigen Abfrage entfernen oder andere hinzufügen, um Ihren Bedürfnissen gerecht zu werden.
-
Fügen Sie in der
UiPath.Orchestrator.dll.config
-Datei ein neues NLog-Ziel hinzu:<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>Definieren eines entsprechendenparameter
für die Daten, die in jeder Datenbankspalte hinzugefügt werden sollen, in diesem Beispiel@timestamp
,@level
,@message
und@exception
. -
Zuletzt verknüpfen Sie das neu erstellte Ziel mit der NLog-Protokollierungsklassifizierung für alle Orchestrator-Meldungen von oben durch Hinzufügen von:
<logger name="*" minlevel="Info" writeTo="eventLog,eventLogDatabase" />
<logger name="*" minlevel="Info" writeTo="eventLog,eventLogDatabase" />
NLog ist eine einfach zu konfigurierende, erweiterungsfähige Open-Source-Protokollierungsplattform für eine Vielzahl von .NET-Plattformen. Mit NLog können Sie Protokollierungsdaten speichern oder an eine beliebige Anzahl vordefinierter oder benutzerdefinierter Ziele weitergeben, wie zum Beispiel an eine lokale Datei, ein Ereignisprotokoll, eine E-Mail-Adresse oder eine Datenbank.
Trace
, Debug
, Info
, Warn
, Error
, Fatal
oder Off
auswählen. Eine Beschreibung der verfügbaren Ebenen im Orchestrator finden Sie unter Protokollierungsebenen .
Off
festgelegt. Durch Konfigurieren des folgenden Abschnitts der Datei UiPath.Orchestrator.dll.config
wird es aktiviert:
<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="">
Die festzulegenden Attribute sind:
-
internalLogLevel
- die gewünschte Protokollierungsstufe -
internalLogFile
- der Speicherort der Protokolldatei
Zum Beispiel:
<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">
- App-Einstellungen
- Erweiterte Installationseinstellungen
- Warteschlangen
- Warnungen
- Bereitstellung
- Speicher-Buckets
- Autorisierung
- Load balancer
- Passworttresor
- Azure-AD-Authentifizierung
- Active Directory-Authentifizierung
- Protokolle
- Webhooks
- Skalierbarkeit
- Analytik
- Medienaufzeichnung
- Paginierung (Pagination)
- Auslöser
- Sonstige
- SecureAppSettings
Verschlüsselungsschlüssel
Azure.KeyVault.ClientId
Azure.KeyVault.CertificateThumbprint
Azure.KeyVault.VaultAddress
Azure.KeyVault.DirectoryId
- Identity Server-Einstellungen
- Einmaliges Anmelden (Single Sign-On, SSO)
- Integration
- Zugriffstoken für Roboterbereitstellung
- Konfiguration der Protokollierung
- Roboter-Protokolle
- Zeitplanprotokolle
- Überwachungsprotokolle
- Geschäftsausnahmeprotokolle
- Andere Protokolle
- Weitere Einstellungen
- Elasticsearch
- Indexkonfiguration
- Protokollieren von Ereignissen in der Datenbank
- Aktivieren von NLog Debugging