Automation Suite
2023.10
falso
Imagem de fundo do banner
Automation Suite no guia de instalação do EKS/AKS
Última atualização 19 de abr de 2024

Salvando logs do robô no Elasticsearch

O Orchestrator é configurado por padrão para armazenar logs de robôs no banco de dados. No entanto, se você quiser mudar esse armazenamento para o Elasticsearch, um processo de configuração básico está disponível: basta fornecer a URL, nome de usuário e senha necessários. Essa configuração deve ser suficiente para a maioria dos casos de uso. Para maior personalização, você pode aproveitar o mecanismo de configuração avançada sobre a configuração básica.

Configuração básica

Se você optar por essa configuração, permitirá que os logs do robô sejam gravados no destino do Elasticsearch em vez do banco de dados, e configurará o Orchestrator para recuperar os logs do Elasticsearch.

Você pode configurar os logs do robô para serem salvos em um servidor Elasticsearch editando o arquivo input.json .

A configuração básica oferece suporte ao Elasticsearch versão 7.x. Para Elasticsearch 8.x, você precisa usar a configuração avançada.

A tabela a seguir lista os parâmetros orchestrator.orchestrator_robot_logs_elastic:

Parâmetro

Description

orchestrator_robot_logs_elastic

Configuração da seção do Elasticsearch. Ele contém as seguintes propriedades: uri, username, password.

elastic_uri

O endereço da instância do Elasticsearch que deve ser usado. Ele deve ser fornecido na forma de um URI. Se fornecidos, o nome de usuário e senha também são necessários.

elastic_auth_username

O nome de usuário do Elasticsearch, usado para autenticação.

elastic_auth_password

A senha do Elasticsearch, usada para autenticação.

Aplicando a configuração por meio do instalador do uipathctl

Atualize seu input.json para adicionar a seção orchestrator_robot_logs_elastic em 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 executar o instalador uipathctl para aplicar a configuração, use o seguinte comando:
uipathctl manifest apply input.json --only orchestrator --versions versions.jsonuipathctl manifest apply input.json --only orchestrator --versions versions.json

Configuração avançada

Para acessar as configurações avançadas, você deve primeiro concluir a configuração básica. Esse processo permite personalizar as propriedades do destino do NLog que se comunica com o Elasticsearch. No entanto, o redirecionamento de logs de robô requer configurações adicionais. Esses ajustes necessários são realizados por meio da configuração básica.

Importante:

Quaisquer alterações feitas de acordo com as etapas a seguir podem afetar negativamente a funcionalidade e a estabilidade de todo o sistema. É aconselhável fazer alterações apenas se você entender suas consequências.

A configuração avançada permite que você personalize totalmente seu destino do NLog.config:

  1. Siga as etapas de configuração básicas .

  2. Edite os parâmetros de amostra nlog.json para atualizar o destino robotElasticBuffer com a configuração desejada. Consulte as seguintes seções para obter amostras do nlog.json.
  3. Atualize os parâmetros nlog.json :
    uipathctl config orchestrator update-config --nlog-config nlog.jsonuipathctl config orchestrator update-config --nlog-config nlog.json

nlog.json

O Orchestrator inclui um destino do NLog pré-definido para logs do robô, chamado robotElasticBuffer. Você pode modificar quaisquer propriedades desse destino usando o arquivo nlog.json personalizado. Não é necessário fornecer a configuração de destino inteira; em vez disso, adicione ou atualize apenas os valores desejados.

Exemplo de configuração do Elasticsearch 7.x

Você pode ignorar a configuração dos campos uri, requireAuth, usernamee password , pois eles já estão definidos na etapa de configuração 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"
        }
      }
    }
  }
}

Exemplo de configuração do Elasticsearch 8.x

Você pode ignorar a configuração dos campos uri, requireAuth, usernamee password , pois eles já estão definidos na etapa de configuração 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"
        }
      }
    }
  }
}

Gerenciamento da configuração personalizada do Orchestrator

Esta seção fornece informações adicionais sobre como fornecer a configuração personalizada para o Orchestrator.

Quando os cenários de configuração existentes não são suficientes para o caso de uso necessário, há outra maneira de alterar a configuração do Orchestrator: uipathctl config orchestrator.

Configuração do Orchestrator

A configuração do Orchestrator para appsettings ou para o NLog é carregada a partir de vários arquivos de configuração que são carregados um após o outro. Cada novo arquivo carregado substitui as chaves dos anteriores. A ordem em que os arquivos são carregados é:
  • arquivo de configuração integrado da imagem do Orchestrator

  • Mapa de configuraçãoorchestrator
  • orchestrator segredo
  • Mapa de configuraçãoorchestrator-customconfig
O arquivo de configuração integrado para o NLog contém um destino para gravar os logs do robô no banco de dados e configura a regra de logs do robô do NLog para usar esse destino. O arquivo appsettings integrado configura o Orchestrator para ler os RobotLogs a partir desse destino quando eles são necessários para exibição. O arquivo de configuração integrado do NLog também contém robotElasticBuffer destino, parcialmente configurado e não usado.
O configmap e o segredo orchestrator são gerenciados pelo ArgoCD por meio do gráfico do helm. Cada vez que o ArgoCD sincroniza o aplicativo, essas configurações são regeneradas usando os parâmetros e valores atuais para o aplicativo orchestrator do ArgoCD.
Quando a configuração básica habilita o Elasticsearch, os parâmetros do argo são alterados e o configmap e segredo orchestrator são atualizados para fornecer a configuração final necessária para habilitar o robotElasticBuffer.
A configuração avançada significa adicionar substituições no configmap orchestrator-customconfig . Cada valor novo ou modificado é mesclado na configuração existente, mas os valores não podem ser removidos (eles podem ser definidos vazios, mas não completamente removidos).

Configuração padrão do NLog

A configuração padrão fornecida pelo Orchestrator para o NLog inclui o destino robotElasticBuffer pré-configurado.
{
  "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"
        }
      },
    }
  }
}

Configuração personalizada do Orchestrator por meio do uipathctl

Para visualizar mais informações sobre a atualização da configuração personalizada do Orchestrator, execute o comando a seguir:

uipathctl config orchestrator --helpuipathctl config orchestrator --help

Saída:

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)
Observação: a configuração avançada também é compatível com o Elasticsearch 8.x.

Was this page helpful?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.