Automation Suite
2023.10
False
Imagen de fondo del banner
Guía de instalación de Automation Suite en EKS / AKS
Última actualización 19 de abr. de 2024

Guardar los registros del robot en Elasticsearch

Orchestrator está configurado de forma predeterminada para almacenar registros del robot en la base de datos. Sin embargo, si quieres cambiar este almacenamiento a Elasticsearch, hay disponible un proceso de configuración básico: simplemente proporciona la URL, el nombre de usuario y la contraseña requeridos. Esta configuración debería ser suficiente para la mayoría de los casos. Para una mayor personalización, puede aprovechar el mecanismo de configuración avanzada además de la configuración básica.

Configuración básica

Si optas por esta configuración, permites que se escriban registros del robot en el destino de Elasticsearch en lugar de en la base de datos, y configura Orchestrator para recuperar los registros de Elasticsearch.

Puedes configurar los registros del robot para que se guarden en un servidor de Elasticsearch editando el archivo input.json .

La configuración básica admite la versión 7.x de Elasticsearch. Para Elasticsearch 8.x, debes usar la configuración avanzada.

La siguiente tabla enumera los parámetros orchestrator.orchestrator_robot_logs_elastic:

Parámetro

Descripción

orchestrator_robot_logs_elastic

Configuración de la sección Elasticsearch. Este contiene las siguientes propiedades: uri, username, password.

elastic_uri

La dirección de la instancia de Elasticsearch que debe utilizarse. Debe proporcionarse en forma de URI. Si se facilita, también se requieren el nombre de usuario y la contraseña.

elastic_auth_username

El nombre de usuario de Elasticsearch que se utiliza para la autenticación.

elastic_auth_password

La contraseña de Elasticsearch que se utiliza para la autenticación.

Aplicar la configuración a través del instalador de uipathctl

Actualice su input.json para agregar la sección orchestrator_robot_logs_elastic en 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"
        }
        ...
    }
    ...
}
Para ejecutar el instalador de uipathctl para aplicar la configuración, utiliza el siguiente comando:
uipathctl manifest apply input.json --only orchestrator --versions versions.jsonuipathctl manifest apply input.json --only orchestrator --versions versions.json

Configuración avanzada

Para acceder a los ajustes de configuración avanzados, primero debe completar la configuración básica. Este proceso te permite personalizar las propiedades del destino NLog que se comunica con Elasticsearch. Sin embargo, la redirección de los registros del robot requiere ajustes adicionales. Estos ajustes necesarios se realizan a través de la configuración básica.

Importante:

Cualquier cambio que realice según los siguientes pasos b puede afectar negativamente a la funcionalidad y la estabilidad de todo el sistema. Solo es recomendable realizar cambios si comprende sus consecuencias.

La configuración avanzada le permite personalizar completamente su destino NLog.config:

  1. Sigue los pasos de configuración básicos .

  2. Edita los parámetros de muestra nlog.json para actualizar el destino robotElasticBuffer con la configuración deseada. Consulta las siguientes secciones para ver ejemplos de nlog.json.
  3. Actualice los nlog.json parámetros:
    uipathctl config orchestrator update-config --nlog-config nlog.jsonuipathctl config orchestrator update-config --nlog-config nlog.json

nlog.json

Orchestrator incluye un destino NLog preestablecido para los registros del robot, llamado robotElasticBuffer. Puedes modificar cualquier propiedad de este destino utilizando el archivo nlog.json personalizado. No es necesario proporcionar la configuración de destino completa; en su lugar, añada o actualice solo los valores deseados.

Ejemplo de configuración de Elasticsearch 7.x

Puedes omitir la configuración de los campos uri, requireAuth, usernamey password , ya que están establecidos en el paso de configuración básica.
{
  "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"
        }
      }
    }
  }
}

Ejemplo de configuración de Elasticsearch 8.x

Puedes omitir la configuración de los campos uri, requireAuth, usernamey password , ya que están establecidos en el paso de configuración básica.
{
  "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"
        }
      }
    }
  }
}

Gestionar la configuración personalizada de Orchestrator

Esta sección proporciona información adicional sobre cómo proporcionar la configuración personalizada a Orchestrator.

Cuando los escenarios de configuración existentes no son suficientes para el caso práctico requerido, hay otra forma de cambiar la configuración de Orchestrator: uipathctl config orchestrator.

Configuración de Orchestrator

La configuración de Orchestrator para appsettings o para NLog se carga desde varios archivos de configuración que se cargan uno tras otro. Cada nuevo archivo cargado sobrescribe las claves de los anteriores. El orden en que se cargan los archivos es:
  • archivo de configuración integrado de la imagen de Orchestrator

  • Mapa de configuración deorchestrator
  • orchestrator secreto
  • Mapa de configuración deorchestrator-customconfig
El archivo de configuración integrado para NLog contiene un destino para escribir los registros del robot en la base de datos y configura la regla de registros del robot NLog para utilizar este destino. El archivo appsettings integrado configura Orchestrator para leer los registros de robots de este destino cuando se necesiten para mostrarlos. El archivo de configuración integrado de NLog también contiene robotElasticBuffer destino, parcialmente configurado y no utilizado.
El mapa de configuración y el secreto de orchestrator los gestiona ArgoCD a través del gráfico de helm. Cada vez que ArgoCD sincroniza la aplicación, estas configuraciones se regeneran usando los parámetros y valores actuales para la aplicación orchestrator ArgoCD.
Cuando la configuración básica habilita Elasticsearch, los parámetros argo se cambian y el mapa de configuración y el secreto de orchestrator se actualizan para proporcionar la configuración final requerida para habilitar robotElasticBuffer.
La configuración avanzada implica agregar anulaciones en el mapa de configuración orchestrator-customconfig . Cada valor nuevo o modificado se fusiona en la configuración existente, pero los valores no se pueden eliminar (se pueden establecer vacíos pero no eliminarse por completo).

Configuración predeterminada de NLog

La configuración predeterminada proporcionada por Orchestrator para NLog incluye el destino robotElasticBuffer preconfigurado.
{
  "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"
        }
      },
    }
  }
}

Configuración personalizada de Orchestrator a través de uipathctl

Para ver más información sobre la actualización de la configuración personalizada de Orchestrator, ejecuta el siguiente comando:

uipathctl config orchestrator --helpuipathctl config orchestrator --help

Salida:

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)
Nota: La configuración avanzada también es compatible con Elasticsearch 8.x.

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.