- Überblick
- Anforderungen
- Vor der Installation
- Vorbereiten der Installation
- Herunterladen der Installationspakete
- Konfigurieren der OCI-konformen Registrierung
- Erteilen von Installationsberechtigungen
- Installieren und Konfigurieren des Dienstgeflechts
- Installieren und Konfigurieren des GitOps-Tools
- Installieren des Operators „Externe Geheimnisse“ in Kubernetes
- Anwenden verschiedener Konfigurationen
- Ausführen von uipathctl
- Installation
- Nach der Installation
- Migration und Upgrade
- Überwachung und Warnungen
- Clusterverwaltung
- Produktspezifische Konfiguration
- Erweiterte Orchestrator-Konfiguration
- Konfigurieren von Orchestrator-Parametern
- Konfigurieren von AppSettings
- Konfigurieren der maximalen Anforderungsgröße
- Überschreiben der Speicherkonfiguration auf Clusterebene
- Konfigurieren von NLog
- Speichern von Roboterprotokollen in Elasticsearch
- Konfigurieren von Anmeldeinformationsspeichern
- Konfigurieren der Verwendung von einem Verschlüsselungsschlüssel pro Mandant
- Bereinigen der Orchestrator-Datenbank
- Installation der Hostbibliothek überspringen
- AI Trust Layer
- Fehlersuche und ‑behebung
- AI Center-Bereitstellungsfehler nach Upgrade auf 2023.10 oder höher
- Insights-Volumes, die nach der Migration in zwei verschiedenen Zonen erstellt wurden
- Upgrade schlägt aufgrund überschriebener Insights-PVC-Größen fehl
- Velero-Backup-Komponenten bleiben nach dem Upgrade auf AKS von Automation Suite 2024.10.x erhalten
- 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
- Die Velero-Sicherung schlägt mit dem Fehler „FehlgeschlageneValidierung“ fehl
- Fehlerbehebung bei externen Geheimnissen
- Temporär als Dienst-Fehlerbehebung
- AI Center und Document Understanding Pods können bei aktivierter TLS-Zertifikatsverifizierung nicht gestartet werden
- Validierungsfehler beim TLS-Zertifikat
- Fluentd exportiert keine Protokolle in IPv6-Umgebungen
- Studio Desktop kann keine Integration Service-Connectors und -Aktivitäten laden
- Manuelle Schadensbegrenzung bei ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
- Konfigurieren von Ressourcenanforderungen und Limits für von uipathctl erstellte Workloads
Konfigurieren von NLog
Konfigurieren Sie die NLog-Protokollierung für den Orchestrator in der Automation Suite auf EKS/AKS.
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 Befehl uipathctl config orchestrator upload 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 --is-external-storage einschließen.
Erweiterte NLog-Konfiguration
Erstellen der erweiterten 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
extensionsauf sie 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.config.jsonuipathctl config orchestrator update-config --nlog-config nlog.config.jsonWichtig:Diese Aktion überschreibt die vorhandene benutzerdefinierte NLog-Konfiguration. Sie können die vorhandene Konfiguration mit diesem Befehl überprüfen:
uipathctl config orchestrator get-config --nlog-configuipathctl config orchestrator get-config --nlog-configBeispiel 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=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=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": "AsyncWrapper", "overflowAction": "Discard", "queueLimit": 10000, "batchSize": 200, "timeToSleepBetweenBatches": 1, "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": "", "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": "AsyncWrapper", "overflowAction": "Discard", "queueLimit": 10000, "batchSize": 200, "timeToSleepBetweenBatches": 1, "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": "", "proxyPassword": "" } } }, "rules": { "20_Robot_Primary": { "writeTo": "Splunk,database,insightsRobotLogs" } } } }
Formatieren des Splunk queueLimit
Die Warteschlange aufnimmt Splunk-Rückstand während Verlangsamungen auf. Passen Sie ihn an Ihren Spitzendurchsatz an, nicht an Ihren Durchschnitt:
queueLimit = peak_logs_per_sec × acceptable_backlog_seconds
queueLimit = peak_logs_per_sec × acceptable_backlog_seconds
| Bereitstellung | Spitzenrate | Tolerierung des Rückstands | Warteschlangenlimit |
|---|---|---|---|
| Klein | ~10 Protokolle/Sek | 60 Sek | 600 |
| Mittel | ~35 Protokolle/Sek | 300 Sek | 10000 |
| Groß | ~200 Protokolle/Sek | 60 Sek | 12000 |
Best Practices für Splunk-Ziele
- Verwenden Sie
overflowAction: Discardfür sekundäre Ziele. Externe Protokollziele wie Splunk sind in der Regel Analyse- oder Beobachtungsziele, die Orchestrator-Datenbank ist die Source of Truth. Wenn das externe Ziel nicht mithalten kann, ist das Verwerfen seiner Kopie dem Blockieren von Anwendungs-Threads vorzuziehen. - Reservieren Sie
overflowAction: Blockfür Ziele, bei denen der Verlust nicht akzeptabel ist.Blockverhindert den Ereignisverlust, aber nicht die Blockierung. Wenn sich die Warteschlange unter Dauerlast füllt, wird sie wieder zu demselben Thread-Blockierungsverhalten wieBufferingWrapper. Verwenden Sie sie nur, wenn das externe Ziel eine Compliance- oder Prüfungsanforderung ist, und dimensionieren SiequeueLimitgroßflächig, um dem Spitzendurchsatz gerecht zu werden. - Behalten Sie immer
databasein der RegelwriteToneben einem externen Ziel bei. Dadurch wird sichergestellt, dass kein Roboterprotokoll dauerhaft verloren geht, unabhängig von der Verfügbarkeit oder Leistung des externen Ziels. - Vor dem Herunterfahren wischen.
AsyncWrapperenthält Ereignisse in einer Warteschlange im Arbeitsspeicher. Stellen Sie sicher, dass NLog-Ziele beim ordnungsgemäßen Herunterfahren geleert werden, um zu vermeiden, dass der Ende der Warteschlange verloren geht, wenn der Prozess beendet wird.
Aktualisieren der erweiterten NLog-Konfiguration
Die uipathctl -Befehle, die zum Aktualisieren der NLog-Konfiguration erforderlich sind, sind:
uipathctl config orchestrator get-config --nlog-config– Exportiert die aktuelle Konfiguration in eine JSON-Datei für Schlüssel-Wert-Paare, die für die Bearbeitung bereit ist.uipathctl config orchestrator update-config --nlog-config nlog.config.json– Aktualisiert die Konfiguration mit Ihren Änderungen.
-
Exportieren Sie die aktuelle benutzerdefinierte NLog-Konfiguration mit diesem Befehl in eine JSON-Datei:
uipathctl config orchestrator get-config --nlog-config > nlog.config.jsonuipathctl config orchestrator get-config --nlog-config > nlog.config.json -
Bearbeiten Sie die exportierte
nlog.config.json-Datei nach Bedarf. Sie können beliebige Einstellungen hinzufügen, entfernen oder ändern.Hinweis:Sie müssen die Datei jedes Mal erneut exportieren, wenn Sie eine Änderung vornehmen müssen, da die Aktualisierung alle NLog-Einstellungen überschreibt.
-
Aktualisieren Sie die NLog-Konfiguration mit diesem Befehl:
uipathctl config orchestrator update-config --nlog-config nlog.config.json orchestrator config updateduipathctl config orchestrator update-config --nlog-config nlog.config.json orchestrator config updated