Automation Suite
2023.10
False
Image de fond de la bannière
Guide d'installation d'Automation Suite sur EKS/AKS
Dernière mise à jour 19 avr. 2024

Enregistrement des journaux du robot dans Elasticsearch

Orchestrator est configuré par défaut pour stocker les journaux des robots dans la base de données. Toutefois, si vous souhaitez basculer ce stockage vers Elasticsearch, un processus de configuration de base est disponible : il suffit de fournir l'URL, le nom d'utilisateur et le mot de passe requis. Cette configuration devrait suffire dans la plupart des cas d’utilisation. Pour une personnalisation plus poussée, vous pouvez tirer parti du mécanisme de configuration avancé en plus de la configuration de base.

Configuration de base

Si vous optez pour cette configuration, vous autorisez l'écriture des journaux du Robot dans la cible Elasticsearch au lieu de la base de données, et configurez Orchestrator pour récupérer les journaux depuis Elasticsearch.

Vous pouvez configurer les journaux du robot à enregistrer sur un serveur Elasticsearch en modifiant le fichier input.json .

La configuration de base prend en charge Elasticsearch version 7.x. Pour Elasticsearch 8.x, vous devez utiliser la configuration avancée.

Le tableau suivant répertorie les paramètres orchestrator.orchestrator_robot_logs_elastic :

Paramètre

Description

orchestrator_robot_logs_elastic

Configuration de la section Elasticsearch. Celui-ci contient les propriétés suivantes : uri, username, password.

elastic_uri

L'adresse de l'instance Elasticsearch devant être utilisée. Elle doit être fournie sous la forme d'un URI. Si celle-ci est fournie, alors le nom d'utilisateur et le mot de passe sont également requis.

elastic_auth_username

Le nom d'utilisateur Elasticsearch, utilisé pour l'authentification.

elastic_auth_password

Le mot de passe Elasticsearch, utilisé pour l'authentification.

Application de la configuration via l'installateur uipathctl

Mettez à jour votre input.json pour ajouter la section orchestrator_robot_logs_elastic sous orchestrator.
{
    ...
    "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"
        }
        ...
    }
    ...
}
Pour exécuter le programme d'installation uipathctl afin d'appliquer la configuration, utilisez la commande suivante :
uipathctl manifest apply input.json --only orchestrator --versions versions.jsonuipathctl manifest apply input.json --only orchestrator --versions versions.json

Configuration avancée

Pour accéder aux paramètres de configuration avancés, vous devez d'abord effectuer la configuration de base. Ce processus vous permet de personnaliser les propriétés de la cible NLog qui communique avec Elasticsearch. Cependant, la redirection des journaux des évènements du robot nécessite des paramètres supplémentaires. Ces ajustements nécessaires sont effectués par le biais de la configuration de base.

Important :

Toute modification que vous apportez en suivant les étapes suivantes peut affecter négativement la fonctionnalité et la stabilité de l’ensemble du système. Il est conseillé de n'apporter des modifications que si vous en comprenez les conséquences.

La configuration avancée vous permet de personnaliser entièrement votre cible NLog.config :

  1. Suivez les étapes de configuration de base .

  2. Modifiez les exemples de paramètres nlog.json pour mettre à jour la cible robotElasticBuffer avec la configuration souhaitée. Consultez les sections suivantes pour obtenir des exemples de nlog.json.
  3. Mettez à jour les paramètres nlog.json :
    uipathctl config orchestrator update-config --nlog-config nlog.jsonuipathctl config orchestrator update-config --nlog-config nlog.json

nlog.json

Orchestrator inclut une cible NLog prédéfinie pour les journaux de robot, appelée robotElasticBuffer. Vous pouvez modifier toutes les propriétés de cette cible à l'aide du fichier nlog.json personnalisé. Il n'est pas nécessaire de fournir la configuration cible complète ; ajoutez ou mettez à jour uniquement les valeurs souhaitées.

Exemple de configuration d'Elasticsearch 7.x

Vous pouvez ignorer la configuration des champs uri, requireAuth, usernameet password , car ils sont déjà définis à l'étape de configuration de base.
{
  "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"
        }
      }
    }
  }
}

Exemple de configuration Elasticsearch 8.x

Vous pouvez ignorer la configuration des champs uri, requireAuth, usernameet password , car ils sont déjà définis à l'étape de configuration de base.
{
  "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"
        }
      }
    }
  }
}

Gestion de la configuration personnalisée d'Orchestrator

Cette section fournit des informations supplémentaires sur la façon de fournir la configuration personnalisée à Orchestrator.

Lorsque les scénarios de configuration existants ne suffisent pas pour le cas d'utilisation requis, il existe un autre moyen de modifier la configuration d'Orchestrator : uipathctl config orchestrator.

Configuration d'Orchestrator

La configuration d'Orchestrator pour appsettings ou pour NLog est chargée à partir de plusieurs fichiers de configuration chargés les uns après les autres. Chaque nouveau fichier chargé écrase les clés des précédents. L'ordre dans lequel les fichiers sont chargés est le suivant :
  • fichier de configuration intégré de l'image Orchestrator

  • orchestrator configmap
  • orchestrator secrète
  • orchestrator-customconfig configmap
Le fichier de configuration intégré pour NLog contient une cible pour écrire les journaux du robot dans la base de données et configure la règle des journaux de bord du robot NLog pour utiliser cette cible. Le fichier appsettings intégré configure Orchestrator pour lire les RobotLogs à partir de cette cible lorsqu'ils sont nécessaires pour l'affichage. Le fichier de configuration intégrée de NLog contient également la cible robotElasticBuffer , partiellement configurée et non utilisée.
Le configmap et le secret orchestrator sont gérés par ArgoCD via le graphique helm. Chaque fois qu'ArgoCD synchronise l'application, ces configurations sont régénérées à l'aide des paramètres et des valeurs actuels de l'application orchestrator ArgoCD.
Lorsque la configuration de base active Elasticsearch, les paramètres argo sont modifiés, et le configmap et le secret orchestrator sont mis à jour pour fournir la configuration finale requise pour activer le robotElasticBuffer.
La configuration avancée implique l’ajout de remplacements dans le configmap orchestrator-customconfig . Chaque valeur nouvelle ou modifiée est fusionnée dans la configuration existante, mais les valeurs ne peuvent pas être supprimées (elles peuvent être définies comme vides mais ne pas être complètement supprimées).

Configuration par défaut de NLog

La configuration par défaut fournie par Orchestrator pour NLog inclut la cible robotElasticBuffer préconfigurée.
{
  "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"
        }
      },
    }
  }
}

Configuration personnalisée d'Orchestrator via uipathctl

Pour afficher plus d'informations sur la mise à jour de la configuration personnalisée d'Orchestrator, exécutez la commande suivante :

uipathctl config orchestrator --helpuipathctl config orchestrator --help

Sortie :

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)
Remarque : la configuration avancée prend également en charge Elasticsearch 8.x.

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.