- Visão geral
- Requisitos
- Instalação
- Pós-instalação
- Migração e atualização
- Atualização do Automation Suite no EKS/AKS
- Opções de migração
- Etapa 1: mover os dados da organização do Identity, de independente para o Automation Suite
- Etapa 2: restauração do banco de dados de produtos independente
- Etapa 3: backup do banco de dados da plataforma no Automation Suite
- Etapa 4: mesclando organizações no Automation Suite
- Etapa 5: atualização das strings de conexão do produto migradas
- Etapa 6: migração do Insights independente
- Etapa 7: exclusão do tenant padrão
- B) Migração de um único tenant
- Monitoramento e alertas
- Administração de cluster
- Configuração específica do produto
- Solução de problemas
Automation Suite no guia de instalação do EKS/AKS
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.
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.
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.
orchestrator.orchestrator_robot_logs_elastic
:
Parâmetro |
Description |
---|---|
|
Configuração da seção do Elasticsearch. Ele contém as seguintes propriedades:
uri , username , password .
|
|
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. |
|
O nome de usuário do Elasticsearch, usado para autenticação. |
|
A senha do Elasticsearch, usada para autenticação. |
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"
}
...
}
...
}
uipathctl
para aplicar a configuração, use o seguinte comando:
uipathctl manifest apply input.json --only orchestrator --versions versions.json
uipathctl manifest apply input.json --only orchestrator --versions versions.json
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.
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:
-
Siga as etapas de configuração básicas .
-
Edite os parâmetros de amostra
nlog.json
para atualizar o destinorobotElasticBuffer
com a configuração desejada. Consulte as seguintes seções para obter amostras donlog.json
. -
Atualize os parâmetros
nlog.json
:uipathctl config orchestrator update-config --nlog-config nlog.json
uipathctl config orchestrator update-config --nlog-config nlog.json
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
uri
, requireAuth
, username
e 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
uri
, requireAuth
, username
e 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"
}
}
}
}
}
Esta seção fornece informações adicionais sobre como fornecer a configuração personalizada para o Orchestrator.
uipathctl config orchestrator
.
Configuração do Orchestrator
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ção
orchestrator
-
orchestrator
segredo -
Mapa de configuração
orchestrator-customconfig
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.
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.
orchestrator
são atualizados para fornecer a configuração final necessária para habilitar o robotElasticBuffer
.
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
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 --help
uipathctl 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)