UiPath Documentation
automation-suite
2023.4
false
Guide d'installation d'Automation Suite sur EKS/AKS
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

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ètreDescription
orchestrator_robot_logs_elasticConfiguration de la section Elasticsearch. Celui-ci contient les propriétés suivantes : uri, username, password.
elastic_uriL'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_usernameLe nom d'utilisateur Elasticsearch, utilisé pour l'authentification.
elastic_auth_passwordLe 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.json
uipathctl 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. Follow the basic configuration steps.

  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.json
    uipathctl 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 --help
uipathctl 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 :

The advanced configuration also supports Elasticsearch 8.x.

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

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour