- Überblick
- Anforderungen
- Installation
- Nach der Installation
- Migration und Upgrade
- Aktualisieren der Automation Suite auf EKS/AKS
- Schritt 1: Verschieben der Identitätsorganisationsdaten von einer eigenständigen in die Automation Suite
- Schritt 2: Wiederherstellen der eigenständigen Produktdatenbank
- Schritt 3: Sichern der Plattformdatenbank in der Automation Suite
- Schritt 4: Zusammenführen von Organisationen in der Automation Suite
- Schritt 5: Aktualisieren der migrierten Produktverbindungszeichenfolgen
- Schritt 6: Migrieren des eigenständigen Orchestrators
- Schritt 7: Migrieren von eigenständigen Insights
- Schritt 8: Migrieren des eigenständigen Test Managers
- Schritt 9: Löschen des Standardmandanten
- Durchführen der Migration eines einzelnen Mandanten
- Migrieren von der Automation Suite unter Linux zur Automation Suite unter EKS/AKS
- Überwachung und Warnungen
- Clusterverwaltung
- Produktspezifische Konfiguration
- Konfigurieren von Orchestrator-Parametern
- Orchestrator-appSettings
- Konfigurieren von AppSettings
- Konfigurieren der maximalen Anforderungsgröße
- Überschreiben der Speicherkonfiguration auf Clusterebene
- Konfigurieren von Anmeldeinformationsspeichern
- Konfigurieren der Verwendung von einem Verschlüsselungsschlüssel pro Mandant
- Bereinigen der Orchestrator-Datenbank
- Fehlersuche und ‑behebung
- Das Sicherungssetup funktioniert nicht, da die Verbindung mit Azure Government fehlgeschlagen ist
- Hängende Pods im uipath-Namespace bei Aktivierung von benutzerdefinierten Knoten-Markierungen
- Automation Hub und Apps können mit Proxy-Setup nicht gestartet werden
- Pods können nicht mit FQDN in einer Proxy-Umgebung kommunizieren
- SQL-Verbindungszeichenfolge der Testautomatisierung wird ignoriert
- EKS-Sicherung aufgrund der Velero-Version
- Die Velero-Sicherung schlägt mit dem Fehler „FehlgeschlageneValidierung“ fehl
- Beim Zugriff auf den FQDN wird der Fehler „RBAC-Zugriff verweigert“ zurückgegeben
- Manuelle Schadensbegrenzung bei ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
Konfigurieren von NLog
Referenz für NLog-Konfigurationsoptionen und Standarderweiterungen, die von Orchestrator in Automation Suite auf EKS/AKS geladen werden.
Hinzufügen von NLog-Erweiterungen
Der Orchestrator lädt die folgenden Erweiterungen standardmäßig, sodass Sie sie nicht in den Ordner oder die NLog-Konfiguration aufnehmen müssen:
NLog.Targets.ElasticSearchUiPath.Orchestrator.Logs.ElasticsearchMicrosoft.ApplicationInsights.NLogTargetNLog.Extensions.AzureEventHub
In diesem Setup können nur Linux-kompatible Erweiterungen verwendet werden, also stellen Sie sicher, dass die ausgewählte NLog-Erweiterung dieser Regel entspricht.
Um die Erweiterung für die Verwendung verfügbar zu machen, muss sie in den Clusterspeicher hochgeladen werden.
Das uipathctl -Befehlszeilentool kann dies über den uipathctl config orchestrator upload -Befehl tun:
uipathctl config orchestrator upload --nlog-extensions-directory /path/to/extensions/directory
uipathctl config orchestrator upload --nlog-extensions-directory /path/to/extensions/directory
Wenn Sie eine externe Speicherkonfiguration auf Clusterebene verwenden, müssen Sie dies angeben, indem Sie den Parameter --use-external-storage einschließen.
Erweiterte NLog-Konfiguration
-
Erstellen Sie die Datei
nlog.config.jsonmit den Standardabschnitten: Erweiterungen, Ziele und Regeln (extensions, targets, rules).Der Erweiterungsabschnitt ist ein Array von Elementen, die über
assemblyFiledie Erweiterungsassemblys und den Pfad der Assembly angeben.Wenn benutzerdefinierte nlog-Plugins geladen wurden (wie im Abschnitt Hinzufügen von NLog-Erweiterungen beschrieben), wird im Abschnitt
extensionsdarauf verwiesen. -
Konfigurieren Sie das Ziel und die Regel in der Datei
nlog.config.json. -
Wenden Sie die Datei
nlog.config.jsonmit demuipathctl-Befehlszeilentool an:uipathctl config orchestrator update-config --nlog-config nlog.custom.jsonuipathctl config orchestrator update-config --nlog-config nlog.custom.jsonBeispiel für eine
nlog.config.json-Datei, die Protokolle in Azure Blob schreibt:{ "NLog": { "extensions": [ { "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" } ], "targets": { "azureBlob": { "type": "AzureBlobStorage", "connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=<your-account-key>;EndpointSuffix=core.windows.net", "container": "orchestratorlogs", "blobName": "${date:format=yyyy-MM-dd hh.mm}", "layout": { "type": "JsonLayout", "includeAllProperties": true, "Attributes": [ {"name": "ts","layout": "${longdate}"}, {"name": "level","layout": "${level:upperCase=true}"}, {"name": "logger","layout": "${logger}"}, {"name": "message","layout": "${message}"}, {"name": "exception","layout": "${onexception:${ui-pretty-exception}}"} ] } } }, "rules": { "70_Final": { "writeTo": "stdout,azureBlob" } } } }{ "NLog": { "extensions": [ { "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" } ], "targets": { "azureBlob": { "type": "AzureBlobStorage", "connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=<your-account-key>;EndpointSuffix=core.windows.net", "container": "orchestratorlogs", "blobName": "${date:format=yyyy-MM-dd hh.mm}", "layout": { "type": "JsonLayout", "includeAllProperties": true, "Attributes": [ {"name": "ts","layout": "${longdate}"}, {"name": "level","layout": "${level:upperCase=true}"}, {"name": "logger","layout": "${logger}"}, {"name": "message","layout": "${message}"}, {"name": "exception","layout": "${onexception:${ui-pretty-exception}}"} ] } } }, "rules": { "70_Final": { "writeTo": "stdout,azureBlob" } } } }Beispieldatei
nlog.config.json, die Roboterprotokolle in Splunk schreibt:{ "Nlog": { "extensions": [ { "assemblyFile": "NLog.Targets.Splunk.dll" }, { "assembly": "UiPath.Orchestrator.Logs.DatabaseBulk.NLogTarget" } ], "targets": { "Splunk": { "type": "BufferingWrapper", "flushTimeout": 5000, "target": { "type": "SplunkHttpEventCollector", "serverUrl": "http://splunk.example.com", "token": "splunk-token", "channel": "", "source": "${logger}", "sourceType": "_json", "index": "uipath", "retriesOnError": "0", "batchSizeBytes": "0", "batchSizeCount": "0", "includeEventProperties": "true", "includePositionalParameters": "true", "includeMdlc": "true", "maxConnectionsPerServer": "10", "ignoreSslErrors": "false", "useProxy": "false", "proxyUrl": "", "proxyUser": "", "proxyPassword": "" } } }, "rules": { "20_Robot_Primary": { "writeTo": "Splunk,database,insightsRobotLogs" } } } }{ "Nlog": { "extensions": [ { "assemblyFile": "NLog.Targets.Splunk.dll" }, { "assembly": "UiPath.Orchestrator.Logs.DatabaseBulk.NLogTarget" } ], "targets": { "Splunk": { "type": "BufferingWrapper", "flushTimeout": 5000, "target": { "type": "SplunkHttpEventCollector", "serverUrl": "http://splunk.example.com", "token": "splunk-token", "channel": "", "source": "${logger}", "sourceType": "_json", "index": "uipath", "retriesOnError": "0", "batchSizeBytes": "0", "batchSizeCount": "0", "includeEventProperties": "true", "includePositionalParameters": "true", "includeMdlc": "true", "maxConnectionsPerServer": "10", "ignoreSslErrors": "false", "useProxy": "false", "proxyUrl": "", "proxyUser": "", "proxyPassword": "" } } }, "rules": { "20_Robot_Primary": { "writeTo": "Splunk,database,insightsRobotLogs" } } } }