automation-suite
2024.10
true
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.
UiPath logo, featuring letters U and I in white

Automation Suite auf EKS/AKS-Installationsanleitung

Letzte Aktualisierung 4. Feb. 2025

Konfigurieren von NLog

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.ElasticSearch
  • UiPath.Orchestrator.Logs.Elasticsearch
  • Microsoft.ApplicationInsights.NLogTarget
  • NLog.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-Verzeichnis /Pfad/zu/Erweiterungen/Verzeichnisuipathctl 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

  1. Erstellen Sie die Datei nlog.config.json mit den Standardabschnitten: Erweiterungen, Ziele und Regeln (extensions, targets, rules).
    Der Erweiterungsabschnitt ist ein Array von Elementen, die über assemblyFile die 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 extensions darauf verwiesen.
  2. Konfigurieren Sie das Ziel und die Regel in der Datei nlog.config.json.
  3. Wenden Sie die Datei nlog.config.json mit dem uipathctl -Befehlszeilentool an:
    uipathctl config orchestrator update-config --nlog-config nlog.custom.jsonuipathctl config orchestrator update-config --nlog-config nlog.custom.json
    Wichtig: Diese Aktion überschreibt die vorhandene benutzerdefinierte NLog-Konfiguration. Sie können die vorhandene Konfiguration überprüfen, indem Sie diesen Befehl verwenden:
    uipathctl config orchestrator get-config --nlog-configuipathctl config orchestrator get-config --nlog-config
    Beispiel 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": "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" }
            }
        }
    }

Aktualisieren der erweiterten NLog-Konfiguration

Die uipathctl -Befehle, die zum Aktualisieren der NLog-Konfiguration erforderlich sind, sind:
  • uipathctl config orchestrator get-config --nlog-config– Dadurch wird die aktuelle Konfiguration in eine JSON-Datei mit Schlüssel-Wert-Paaren exportiert, die für die Bearbeitung bereit ist.

    Mehr darüber erfahren Sie hier.

  • uipathctl config orchestrator update-config --nlog-config nlog.config.json – Dadurch wird die Konfiguration mit Ihren Änderungen aktualisiert.

    Mehr darüber erfahren Sie hier.

  1. 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
  2. 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.
  3. 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

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2025 UiPath. Alle Rechte vorbehalten