Automation Suite
2023.10
False
Bannerhintergrundbild
Automation Suite auf EKS/AKS-Installationsanleitung
Letzte Aktualisierung 19. April 2024

Speichern von Roboterprotokollen in Elasticsearch

Der Orchestrator ist standardmäßig so eingerichtet, dass Roboterprotokolle in der Datenbank gespeichert werden. Wenn Sie jedoch diesen Speicher auf Elasticsearch umstellen möchten, steht ein grundlegender Konfigurationsprozess zur Verfügung: Geben Sie einfach die erforderliche URL, den Benutzernamen und das Kennwort an. Dieses Setup sollte für die meisten Anwendungsfälle ausreichen. Zur weiteren Anpassung können Sie den erweiterten Konfigurationsmechanismus zusätzlich zur grundlegenden Einrichtung nutzen.

Grundkonfiguration

Wenn Sie sich für diese Konfiguration entscheiden, erlauben Sie das Schreiben von Roboterprotokollen in das Elasticsearch-Ziel anstelle der Datenbank und richten den Orchestrator so ein, dass er die Protokolle von Elasticsearch abruft.

Sie können Roboterprotokolle konfigurieren, die auf einem Elasticsearch-Server gespeichert werden, indem Sie die Datei input.json bearbeiten.

Die Basiskonfiguration unterstützt Elasticsearch Version 7.x. Für Elasticsearch 8.x müssen Sie die erweiterte Konfiguration verwenden.

In der folgenden Tabelle sind die orchestrator.orchestrator_robot_logs_elastic-Parameter aufgeführt:

Parameter

Beschreibung

orchestrator_robot_logs_elastic

Konfiguration des Elasticsearch-Abschnitts. Diese enthält die folgenden Eigenschaften: uri, username, password.

elastic_uri

Die Adresse der Elasticsearch-Instanz, die verwendet werden soll. Sie muss in Form eines URI bereitgestellt werden. Wenn angegeben, sind auch Benutzername und Kennwort erforderlich.

elastic_auth_username

Der Elasticsearch-Benutzername, der für die Authentifizierung verwendet wird.

elastic_auth_password

Das Elasticsearch-Kennwort, das für die Authentifizierung verwendet wird.

Anwenden der Konfiguration über das uipathctl-Installationsprogramm

Aktualisieren Sie Ihre input.json , um den Abschnitt orchestrator_robot_logs_elastic unter orchestratorhinzuzufügen.
{
    ...
    "orchestrator": {
        ...
        "orchestrator_robot_logs_elastic": {
            "elastic_uri": "uri",
            "elastic_auth_username": "user",
            "elastic_auth_password": "pass"
        }
        ...
    }
    ...
}{
    ...
    "orchestrator": {
        ...
        "orchestrator_robot_logs_elastic": {
            "elastic_uri": "uri",
            "elastic_auth_username": "user",
            "elastic_auth_password": "pass"
        }
        ...
    }
    ...
}
Um das uipathctl -Installationsprogramm auszuführen und die Konfiguration anzuwenden, verwenden Sie den folgenden Befehl:
uipathctl manifest apply input.json --only orchestrator --versions versions.jsonuipathctl manifest apply input.json --only orchestrator --versions versions.json

Erweiterte Konfiguration

Um auf die erweiterten Konfigurationseinstellungen zuzugreifen, müssen Sie zuerst die grundlegende Konfiguration abschließen. Mit diesem Prozess können Sie die Eigenschaften des NLog-Ziels anpassen, das mit Elasticsearch kommuniziert. Das Umleiten von Roboterprotokollen erfordert jedoch zusätzliche Einstellungen. Diese erforderlichen Anpassungen werden über die Grundkonfiguration durchgeführt.

Wichtig:

Alle Änderungen, die Sie gemäß den folgenden Schritten vornehmen, können sich negativ auf die Funktionalität und Stabilität des gesamten Systems auswirken. Es empfiehlt sich, nur Änderungen vorzunehmen, wenn Sie sich der Konsequenzen bewusst sind.

Mit der erweiterten Konfiguration können Sie Ihr NLog.config-Ziel vollständig anpassen:

  1. Bearbeiten Sie die nlog.json -Beispielparameter, um das Ziel robotElasticBuffer mit der gewünschten Konfiguration zu aktualisieren. Beispiele für nlog.jsonfinden Sie in den folgenden Abschnitten.
  2. Aktualisieren Sie die nlog.json -Parameter:
    uipathctl config orchestrator update-config --nlog-config nlog.jsonuipathctl config orchestrator update-config --nlog-config nlog.json

nlog.json

Der Orchestrator enthält ein vordefiniertes NLog-Ziel für Roboterprotokolle mit dem Namen robotElasticBuffer. Sie können alle Eigenschaften dieses Ziels mithilfe der benutzerdefinierten nlog.json -Datei ändern. Es ist nicht erforderlich, die gesamte Zielkonfiguration anzugeben; Fügen Sie stattdessen nur die gewünschten Werte hinzu oder aktualisieren Sie sie.

Beispielkonfiguration für Elasticsearch 7.x

Sie können die Konfiguration der Felder uri, requireAuth, usernameund password überspringen, da diese bereits im grundlegenden Konfigurationsschritt festgelegt sind.
{
  "Nlog": {
    "targets": {
      "robotElasticBuffer": {
        "flushTimeout": 1000,
        "bufferSize": 1000,
        "slidingTimeout": false,
        "target": {
          "uri": "https://elastic.example.com:9200",
          "requireAuth": true,
          "username": "elastic-user",
          "password": "elastic-password",
          "index": "${event-properties:item=indexName}-${date:format=yyyy.MM}",
          "documentType": "logEvent",
          "includeAllProperties": true,
          "layout": "${message}",
          "excludedProperties": "agentSessionId,tenantId,indexName"
        }
      }
    }
  }
}{
  "Nlog": {
    "targets": {
      "robotElasticBuffer": {
        "flushTimeout": 1000,
        "bufferSize": 1000,
        "slidingTimeout": false,
        "target": {
          "uri": "https://elastic.example.com:9200",
          "requireAuth": true,
          "username": "elastic-user",
          "password": "elastic-password",
          "index": "${event-properties:item=indexName}-${date:format=yyyy.MM}",
          "documentType": "logEvent",
          "includeAllProperties": true,
          "layout": "${message}",
          "excludedProperties": "agentSessionId,tenantId,indexName"
        }
      }
    }
  }
}

Beispielkonfiguration für Elasticsearch 8.x

Sie können die Konfiguration der Felder uri, requireAuth, usernameund password überspringen, da diese bereits im grundlegenden Konfigurationsschritt festgelegt sind.
{
  "Nlog": {
    "targets": {
      "robotElasticBuffer": {
        "flushTimeout": 1000,
        "bufferSize": 1000,
        "slidingTimeout": false,
        "target": {
          "uri": "https://elastic.example.com:9200",
          "requireAuth": true,
          "username": "elastic-user",
          "password": "elastic-password",
          "index": "${event-properties:item=indexName}-${date:format=yyyy.MM}",
          "documentType": "",
          "includeAllProperties": true,
          "layout": "${message}",
          "excludedProperties": "agentSessionId,tenantId,indexName"
        }
      }
    }
  }
}{
  "Nlog": {
    "targets": {
      "robotElasticBuffer": {
        "flushTimeout": 1000,
        "bufferSize": 1000,
        "slidingTimeout": false,
        "target": {
          "uri": "https://elastic.example.com:9200",
          "requireAuth": true,
          "username": "elastic-user",
          "password": "elastic-password",
          "index": "${event-properties:item=indexName}-${date:format=yyyy.MM}",
          "documentType": "",
          "includeAllProperties": true,
          "layout": "${message}",
          "excludedProperties": "agentSessionId,tenantId,indexName"
        }
      }
    }
  }
}

Verwalten der benutzerdefinierten Orchestrator-Konfiguration

Dieser Abschnitt enthält zusätzliche Informationen darüber, wie Sie dem Orchestrator die benutzerdefinierte Konfiguration zur Verfügung stellen können.

Wenn die vorhandenen Konfigurationsszenarien für den erforderlichen Anwendungsfall nicht ausreichen, gibt es noch eine andere Möglichkeit, die Orchestrator-Konfiguration zu ändern: uipathctl config orchestrator.

Orchestrator-Konfiguration

Die Orchestrator-Konfiguration für appsettings oder für NLog wird aus mehreren Konfigurationsdateien geladen, die nacheinander geladen werden. Jede neu geladene Datei überschreibt die Schlüssel der vorherigen. Die Reihenfolge, in der die Dateien geladen werden, ist:
  • integrierte Konfigurationsdatei aus dem Orchestrator-Image

  • orchestrator configmap
  • orchestrator Geheimnis
  • orchestrator-customconfig configmap
Die integrierte Konfigurationsdatei für NLog enthält ein Ziel für das Schreiben der Roboterprotokolle in die Datenbank und konfiguriert die NLog-Roboterprotokolle-Regel für die Verwendung dieses Ziels. Die integrierte Datei appsettings konfiguriert den Orchestrator so, dass er die RobotLogs von diesem Ziel liest, wenn sie für die Anzeige benötigt werden. Die integrierte NLog-Konfigurationsdatei enthält auch robotElasticBuffer -Ziel, das teilweise konfiguriert und nicht verwendet wird.
Die orchestrator configmap und der geheime Schlüssel werden von ArgoCD über das Helm-Diagramm verwaltet. Jedes Mal, wenn ArgoCD die Anwendung synchronisiert, werden diese Konfigurationen mit den aktuellen Parametern und Werten für die orchestrator -ArgoCD-Anwendung neu generiert.
Wenn die Basiskonfiguration Elasticsearch aktiviert, werden die Argo-Parameter geändert und die orchestrator configmap und der geheime Schlüssel werden aktualisiert, um die endgültige Konfiguration bereitzustellen, die erforderlich ist, um robotElasticBufferzu aktivieren.
Die erweiterte Konfiguration bedeutet das Hinzufügen von Überschreibungen in der orchestrator-customconfig configmap. Jeder neue oder geänderte Wert wird in der vorhandenen Konfiguration zusammengeführt, aber Werte können nicht entfernt werden (sie können leer sein, aber nicht vollständig entfernt).

NLog-Standardkonfiguration

Die von Orchestrator für NLog bereitgestellte Standardkonfiguration enthält das vorkonfigurierte robotElasticBuffer -Ziel.
{
  "NLog": {
    "targets": {
      "robotElasticBuffer": {
        "type": "BufferingWrapper",
        "flushTimeout": 5000,
        "target": {
          "type": "ElasticSearch",
          "name": "robotElastic",
          "requireAuth": false,
          "uri": "",
          "username": "",
          "password": "",
          "index": "${event-properties:item=indexName}-${date:format=yyyy.MM}",
          "documentType": "logEvent",
          "includeAllProperties": true,
          "layout": "${message}",
          "excludedProperties": "agentSessionId,tenantId,indexName"
        }
      },
    }
  }
}{
  "NLog": {
    "targets": {
      "robotElasticBuffer": {
        "type": "BufferingWrapper",
        "flushTimeout": 5000,
        "target": {
          "type": "ElasticSearch",
          "name": "robotElastic",
          "requireAuth": false,
          "uri": "",
          "username": "",
          "password": "",
          "index": "${event-properties:item=indexName}-${date:format=yyyy.MM}",
          "documentType": "logEvent",
          "includeAllProperties": true,
          "layout": "${message}",
          "excludedProperties": "agentSessionId,tenantId,indexName"
        }
      },
    }
  }
}

Benutzerdefinierte Orchestrator-Konfiguration über uipathctl

Um weitere Informationen über die Aktualisierung der benutzerdefinierten Orchestrator-Konfiguration anzuzeigen, führen Sie den folgenden Befehl aus:

uipathctl config orchestrator --helpuipathctl config orchestrator --help

Ausgabe:

Configure orchestrator custom config

Usage:
  uipathctl config orchestrator [command]

Available Commands:
  get-config    Get the current orchestrator custom config
  update-config Update orchestrator config

Flags:
  -h, --help   help for orchestrator

Global Flags:
      --context string      name of the kubeconfig context to use
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)Configure orchestrator custom config

Usage:
  uipathctl config orchestrator [command]

Available Commands:
  get-config    Get the current orchestrator custom config
  update-config Update orchestrator config

Flags:
  -h, --help   help for orchestrator

Global Flags:
      --context string      name of the kubeconfig context to use
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)
Hinweis: Die erweiterte Konfiguration unterstützt auch Elasticsearch 8.x.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.