- Visão geral
- Requisitos
- Instalação
- Q&A: Deployment templates
- Configuração das máquinas
- Configurando o objectstore externo
- Configuração do balanceador de carga
- Configuração do DNS
- Como configurar o Microsoft SQL Server
- Configuração dos certificados
- Instalação online de produção pronta para alta disponibilidade de vários nós
- Instalação offline de produção pronta para alta disponibilidade de vários nós
- Baixando os pacotes de instalação
- Parâmetros do install-uipath.sh
- Como habilitar o High Availability Add-on do Redis para o cluster
- Arquivo de configuração do Document Understanding
- Adicionando um nó de agente dedicado com suporte a GPU
- Conexão do aplicativo Task Mining
- Adição de um nó de agente dedicado ao Task Mining
- Adicionando um nó de agente dedicado para robôs do Automation Suite
- Pós-instalação
- Administração de cluster
- Monitoramento e alertas
- Migração e atualização
- 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
- Executando uma migração de único tenant
- Configuração específica do produto
- Melhores práticas e manutenção
- Solução de problemas
- Como solucionar problemas dos serviços durante a instalação
- Como desinstalar o cluster
- Como limpar os artefatos offline para melhorar o espaço em disco
- Como limpar os dados do Redis
- Como habilitar o registro em log do Istio
- Como limpar logs manualmente
- Como limpar logs antigos armazenados no bucket do sf-logs
- Como desabilitar os logs de streaming para o AI Center
- Como depurar instalações do Automation Suite com falha
- Como excluir imagens do instalador antigo após a atualização
- Como limpar automaticamente instantâneos do Longhorn
- Como desabilitar o descarregamento de soma de verificação do TX
- Como lidar com cifras fracas no TLS 1.2
- Não é possível executar uma instalação offline no SO RHEL 8.4
- Erro ao baixar o pacote
- A instalação offline falha devido a um binário ausente
- Problema de certificado na instalação offline
- A primeira instalação falha durante a configuração do Longhorn
- Erro de validação da string de conexão ao SQL
- Verificação de pré-requisito para o módulo iscsid do selinux falha
- Azure disk not marked as SSD
- Falha após a atualização do certificado
- Antivírus causa problemas de instalação
- Automation Suite not working after OS upgrade
- O Automation Suite requer que backlog_wait_time seja definido como 0
- Não é possível montar o volume devido a não estar pronto para cargas de trabalho
- Não é possível iniciar o Automation Hub e o Apps com configuração de proxy
- Falha ao carregar ou baixar dados no objectstore
- PVC resize does not heal Ceph
- Falha no redimensionamento do PVC
- Falha no redimensionamento do PVC do Objectstore
- Pod do Rook Ceph ou Looker travado no estado Init
- Erro de anexo de volume StatefulSet
- Falha ao criar volumes persistentes
- Patch de reclamação de armazenamento
- Falha de backup devido ao erro TooManySnapshots
- Todas as réplicas do Longhorn estão com falha
- Configurando um intervalo de tempo limite para os portais de gerenciamento
- Atualizar as conexões de diretório subjacentes
- Autenticação não funciona após migração
- kinit: não é possível encontrar o KDC para o realm <AD Domain> ao obter credenciais iniciais
- kinit: o Keytab não contém chaves adequadas para *** ao obter credenciais iniciais
- Falha na operação GSSAPI devido a código de status inválido
- Alarme recebido para trabalho com falha do Kerberos-tgt-update
- Provedor de SSPI: servidor não encontrado no banco de dados Kerberos
- Falha de login para usuário do AD devido a conta desabilitada
- ArgoCD login failed
- Falha ao obter a imagem do sandbox
- Os pods não são exibidos na UI do ArgoCD
- Falha de teste do Redis
- O servidor RKE2 falha ao iniciar
- Segredo não encontrado no namespace da UiPath
- O ArgoCD entra em estado Em andamento após a primeira instalação
- Inconsistência inesperada; execute o fsck manualmente
- Pods de MongoDB em CrashLoopBackOff ou provisionamento de PVC pendente após exclusão
- Pod do MongoDB falha ao atualizar de 4.4.4-ent para 5.0.7-ent
- Unhealthy services after cluster restore or rollback
- Pods presos em Init:0/X
- Prometheus no estado CrashloopBackoff com erro de falta de memória (OOM)
- Métricas Ceph-rook ausentes nos painéis de monitoramento
- Os pods não podem se comunicar com o FQDN em um ambiente de proxy
- O Document Understanding não está no menu de navegação esquerdo do Automation Suite
- Status de Falha ao criar uma sessão de rotulagem de dados
- Status de Falha ao tentar implantar uma habilidade de ML
- Trabalho de migração falha no ArgoCD
- Reconhecimento de escrita com o Extrator de formulários inteligente não está funcionando
- Usando a ferramenta de diagnóstico do Automation Suite
- Usando o pacote de suporte do Automation Suite
- Exploração de logs
O arquivo cluster_config.json define os parâmetros, configurações e preferências aplicadas aos produtos UiPath implantados por meio do Automation Suite. Você deve atualizar esse arquivo para alterar os padrões e usar qualquer configuração avançada para seu cluster.
Para editar cluster_config.json, você pode usar:
- um editor de texto do Linux, como vi ou GNU nano, diretamente na máquina Linux via SSH (por exemplo, comando:
vi cluster_config.json); - o editor de texto de sua preferência e, em seguida, copiar e colar o arquivo na máquina.
The cluster_config.json file allows you to configure the UiPath products you want to deploy. Be aware that products may have dependencies. For details, see Cross-product dependencies.
Para habilitar ou desabilitar um produto pelo arquivo cluster_config.json, use true ou false para o sinalizador enabled.
Amostra Cluster_config.json
{
"fqdn": "PLACEHOLDER",
"cluster_fqdn": "PLACEHOLDER",
"fixed_rke_address": "PLACEHOLDER",
"admin_username": "PLACEHOLDER",
"admin_password": "PLACEHOLDER",
"rke_token": "PLACEHOLDER ",
"zone_resilience": false,
"registries": {
"docker": {
"url": "registry.uipath.com"
},
"helm": {
"url": "registry.uipath.com"
}
},
"sql_connection_string_template": "PLACEHOLDER",
"sql_connection_string_template_jdbc": "PLACEHOLDER",
"sql_connection_string_template_odbc": "PLACEHOLDER",
"sql_connection_string_template_sqlalchemy_pyodbc": "PLACEHOLDER",
"orchestrator": {
"testautomation": {
"enabled": true
},
"updateserver": {
"enabled": true
},
"enabled": true
},
"infra": {
"docker_registry": {
"username": " PLACEHOLDER ",
"password": " PLACEHOLDER "
},
"pod_log_path": ""
},
"platform": {
"enabled": true
},
"automation_hub": {
"enabled": true
},
"automation_ops": {
"enabled": true
},
"action_center": {
"enabled": true
},
"aicenter": {
"enabled": true
},
"documentunderstanding": {
"enabled": true,
"datamanager": {}
},
"task_mining": {
"enabled": true
},
"apps": {
"enabled": true
},
"test_manager": {
"enabled": true
},
"insights": {
"enabled": true
},
"dataservice": {
"enabled": true
},
"asrobots": {
"enabled": true,
"packagecaching": true,
"packagecachefolder": "/uipath_asrobots_package_cache"
},
"processmining": {
"enabled": true
},
"external_object_storage": {
"enabled": false
},
"identity_certificate": {},
"profile": "ha",
"telemetry_optout": false,
"alternative_fqdn": "",
"server_certificate": {
"ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/rootCA.crt",
"tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.crt",
"tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.key"
},
"alternative_certificate": {
"ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-rootCA.crt",
"tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.crt",
"tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.key"
}
}
{
"fqdn": "PLACEHOLDER",
"cluster_fqdn": "PLACEHOLDER",
"fixed_rke_address": "PLACEHOLDER",
"admin_username": "PLACEHOLDER",
"admin_password": "PLACEHOLDER",
"rke_token": "PLACEHOLDER ",
"zone_resilience": false,
"registries": {
"docker": {
"url": "registry.uipath.com"
},
"helm": {
"url": "registry.uipath.com"
}
},
"sql_connection_string_template": "PLACEHOLDER",
"sql_connection_string_template_jdbc": "PLACEHOLDER",
"sql_connection_string_template_odbc": "PLACEHOLDER",
"sql_connection_string_template_sqlalchemy_pyodbc": "PLACEHOLDER",
"orchestrator": {
"testautomation": {
"enabled": true
},
"updateserver": {
"enabled": true
},
"enabled": true
},
"infra": {
"docker_registry": {
"username": " PLACEHOLDER ",
"password": " PLACEHOLDER "
},
"pod_log_path": ""
},
"platform": {
"enabled": true
},
"automation_hub": {
"enabled": true
},
"automation_ops": {
"enabled": true
},
"action_center": {
"enabled": true
},
"aicenter": {
"enabled": true
},
"documentunderstanding": {
"enabled": true,
"datamanager": {}
},
"task_mining": {
"enabled": true
},
"apps": {
"enabled": true
},
"test_manager": {
"enabled": true
},
"insights": {
"enabled": true
},
"dataservice": {
"enabled": true
},
"asrobots": {
"enabled": true,
"packagecaching": true,
"packagecachefolder": "/uipath_asrobots_package_cache"
},
"processmining": {
"enabled": true
},
"external_object_storage": {
"enabled": false
},
"identity_certificate": {},
"profile": "ha",
"telemetry_optout": false,
"alternative_fqdn": "",
"server_certificate": {
"ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/rootCA.crt",
"tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.crt",
"tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.key"
},
"alternative_certificate": {
"ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-rootCA.crt",
"tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.crt",
"tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.key"
}
}
Configuração geral
| Parâmetros obrigatórios | Description |
|---|---|
|
|
O nome de domínio do balanceador de carga (modo de produção pronto para alta disponibilidade de vários nós) ou da máquina (modo de avaliação de nó único). |
|
|
Fixed address used to load balance node registration and kube API requests. This should be fqdn if load balancer is configured as recommended. Otherwise FQDN of 1st Server Node. Refer to Configuring the load balancer. Pode ser o IP/FQDN do primeiro servidor rke2 na sua configuração. |
|
|
Defina como |
|
|
O nome de usuário que você deseja definir como administrador (como: admin ) para a organização do host. |
|
|
A senha de administrador do host a ser definida. |
|
|
Use um GUID recém-gerado aqui. Este é um segredo pré-compartilhado, específico do cluster. É necessário para todos os nós associados ao cluster. |
|
|
Define o perfil da instalação. Os perfis disponíveis são:
O valor desse sinalizador é definido automaticamente instalador interativo. Ele é usado apenas para fins internos e não deve ser modificado manualmente. |
|
|
O nome de usuário que você deseja definir para a instalação do registro do docker. |
|
|
A senha que você deseja definir para a instalação do registro do docker. |
| Parâmetros opcionais | Description |
|---|---|
telemetry_optout | true ou false - usado para desativar o envio de telemetria de volta ao UiPath. Ele é definido como false por padrão.Se você deseja cancelar, defina como true. |
infra.pod_log_path | Permite que você altere o caminho padrão /var/log/pods dos logs do pod para um caminho personalizado de sua escolha.A atualização do caminho de log descarta os logs do contêiner existente de /var/log/pods. |
Configuração de Certificados
Se nenhum certificado for fornecido no momento da instalação, o instalador criará certificados emitidos automaticamente e os configurará no cluster.
A validade dos certificados autoassinados é de 90 dias.
Para obter detalhes sobre como obter um certificado, consulte o seguinte:
- Modo de avaliação de nó único: configuração dos certificados
- Produção pronta para alta disponibilidade de vários nós: configuração dos certificados
Não se esqueça de especificar o caminho absoluto para arquivos de certificado. Execute pwd para obter o caminho do diretório no qual os arquivos foram colocados e anexe o nome do arquivo de certificado no cluster_config.json.
Nas instalações de produção prontas para alta disponibilidade de vários nós, é necessário um certificado apenas no primeiro nó.
| Parâmetro | Description |
|---|---|
server_certificate.ca_cert_file | O caminho absoluto para o certificado da Autoridade de Certificação (CA). Essa CA é a autoridade que assina o certificado TLS. Um pacote de CA deve conter apenas os certificados de cadeia usados para assinar o certificado TLS. O limite de cadeia é de nove certificados. Se você usar um certificado assinado automaticamente, será necessário especificar o caminho para rootCA.crt, que você criou anteriormente. Deixe em branco se quiser que o instalador gere ir. |
server_certificate.tls_cert_file | Caminho absoluto para o certificado TLS (server.crt é o certificado assinado automaticamente). Deixe em branco se você quiser que o instalador o gere. |
server_certificate.tls_key_file | Caminho absoluto para a chave de certificado (server.key é o certificado assinado automaticamente). Deixe em branco se você quiser que o instalador o gere. |
identity_certificate.token_signing_cert_file | Caminho absoluto para o certificado de assinatura de token de identidade usado para assinar tokens (identity.pfx é o certificado assinado automaticamente). Deixe em branco se você quiser que o instalador gere um certificado de identidade usando o certificado do servidor. |
identity_certificate.token_signing_cert_pass | Senha de texto simples definida ao exportar o certificado de assinatura de token de identidade. |
additional_ca_certs | O caminho absoluto para o arquivo contendo os certificados de CA adicionais que você deseja que seja confiável para todos os serviços em execução como parte do Automation Suite. Todos os certificados no arquivo devem ter um formato PEM válido.Por exemplo, você precisa fornecer o arquivo que contém o certificado de CA do SQL Server se o certificado não for emitido por uma autoridade de certificação pública. |
Configuração do Banco de Dados
Fluxo de trabalho de criação de banco de dados
O instalador interativo cria automaticamente bancos de dados usando o seguinte fluxo de trabalho:
- O script do instalador interativo verifica o valor do parâmetro
sql.create_dbno arquivocluster_config.json.-
Se o parâmetro
sql.create_dbestiver definido comotrue, o instalador gerará automaticamente todos os bancos de dados em seu nome. Nesse caso, o instalador usa os nomes de bancos de dados e modelos padrão e ignora quaisquer nomes de bancos de dados personalizados que você forneceu.For details, see Automatically create the necessary databases.
-
Se
sql.create_dbestiver definido comofalse, você deve trazer seus próprios bancos de dados. Nesse caso, você deve configurar manualmente seus bancos de dados. Observe que você pode usar nomes de banco de dados personalizados, desde que siga as convenções de nomenclatura fornecidas. Essa etapa é fundamental porque usamos o nome do banco de dados em conjunto com o modelo de conexão para formar a string de conexão com banco de dados. Se você não seguir a convenção de nomenclatura recomendada, deve fornecer as strings de conexão SQL por conta própria.For details, see Bring your own databases.
-
- O instalador interativo gera as strings de conexão da seguinte forma:
- Se você não definiu uma string de conexão para seu serviço, o instalador usará o modelo de conexão com o banco de dados para gerar todas as strings de conexão com banco de dados.
- Se você definiu uma string de conexão para seu serviço, o instalador usará a string de conexão fornecida para seu banco de dados.
Cria automaticamente os bancos de dados necessários
Se quiser que o instalador crie os bancos de dados, preencha os seguintes campos:
| Parâmetro | Description |
|---|---|
sql.create_db | Defina como true para permitir que o instalador crie os bancos de dados. Observe que o instalador usa os nomes de bancos de dados e modelos padrão e ignora quaisquer nomes de bancos de dados personalizados que você forneceu. |
sql.server_url | FQDN do SQL Server onde você deseja que o instalador configure o banco de dados. |
sql.port | Número da porta na qual uma instância de banco de dados deve ser hospedada no SQL Server. |
sql.username | Nome de usuário/ID do usuário para se conectar ao SQL Server. |
sql.password | Senha do nome de usuário fornecido anteriormente para se conectar ao SQL Server. |
Certifique-se de que o usuário tenha a função de dbcreator. Isso concede a ele permissão para criar o banco de dados no SQL Server. Caso contrário, a instalação falha.
A conexão ODBC não aceita nomes de usuário que contenham caracteres especiais. Para nomes de usuário de banco de dados do AI Center e do Document Understanding, use apenas letras maiúsculas e minúsculas.
Traga seu próprio banco de dados
Se você optar por trazer seus próprios bancos de dados para uma nova instalação do Automation Suite, recomendamos fortemente a configuração de novos bancos de dados em vez de usar os existentes. Essa precaução é necessária para evitar quaisquer conflitos com a operação do Automation Suite que possam ocorrer devido a metadados restantes de bancos de dados antigos.
Se trouxer seu próprio banco de dados, você deve fornecer as strings de conexão do SQL para cada banco de dados. O Automation Suite oferece suporte aos seguintes formatos de string de conexão SQL:
| Parâmetro | Description | Produtos |
|---|---|---|
sql_connection_string_template | String de conexão completa do ADO.NET onde o nome do catálogo é definido como DB_NAME_PLACEHOLDER. O instalador substituirá esse espaço reservado pelos nomes de banco de dados padrão para os serviços do pacote instalado. | Plataforma, Orchestrator, Automation Suite Robots, Test Manager, Automation Hub, Automation Ops, Insights, Task Mining, Data Service, Process Mining, Document Understanding |
sql_connection_string_template_jdbc | String de conexão completa do JDBC onde o nome do banco de dados é definido como DB_NAME_PLACEHOLDER. O instalador substituirá esse espaço reservado pelos nomes de banco de dados padrão para os serviços do pacote instalado. | AI Center |
sql_connection_string_template_odbc | String de conexão completa do ODBC onde o nome do banco de dados é definido como DB_NAME_PLACEHOLDER. O instalador substituirá esse espaço reservado pelos nomes de banco de dados padrão para os serviços do pacote instalado. | Document Understanding |
sql_connection_string_template_sqlalchemy_pyodbc | String de conexão SQL alchemy PYODBC completa na qual o nome do banco de dados é definido como DB_NAME_PLACEHOLDER. O instalador substituirá esse espaço reservado pelos nomes de banco de dados padrão para os serviços do pacote instalado. | Process Mining |
Certifique-se de que a conta do SQL especificada nas strings de conexão tenha as funções db_securityadmin e db_owner para todos os bancos de dados do Automation Suite. Se as restrições de segurança não permitem o uso de db_owner, então a conta do SQL deve ter as seguintes funções e permissões em todos os bancos de dados:
db_ddladmindb_datawriterdb_datareaderEXECUTEpermissão no esquema dbo
Se você definir manualmente as strings de conexão no arquivo de configuração, poderá usar o caractere de escape em senhas SQL, JDBC, ODBC ou PYODBC da seguinte maneira:
- para SQL: adicione
'no início e no fim da senha, e duplique qualquer outro'. - para JDBC/ODBC: adicione
{no início da senha e}no final, e duplique qualquer outro} - para PYODBC:
usernameepassworddevem ser codificados por url para contabilizar caracteres especiais.
The AutomationSuite_ProcessMining_Airflow database for Process Mining product must have READ_COMMITTED_SNAPSHOT enabled.
Por padrão, TrustServerCertificate é definido como False, e você deve fornecer um certificado de CA adicional para o SQL Server. Isso é necessário se o certificado do SQL Server for autoassinado ou assinado por uma CA interna.
See Certificate configuration on this page for more details.
Exemplo do sql_connection_string_template
Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;
Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;
Exemplo do sql_connection_string_template_jdbc
jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
Exemplo do sql_connection_string_template_odbc
SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
sql_connection_string_template_sqlalchemy_pyodbc
mssql+pyodbc://testuser%40sfdev3082457-sql.database.windows.net:_-%29X07_%5E3-%28%3B%25e-T@sfdev3082457-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
mssql+pyodbc://testuser%40sfdev3082457-sql.database.windows.net:_-%29X07_%5E3-%28%3B%25e-T@sfdev3082457-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
Nomes de banco de dados padrão e opcional para serviços do Automation Suite
{
"orchestrator": "AutomationSuite_Orchestrator",
"orchestrator_ta": "AutomationSuite_Orchestrator",
"asrobots": "AutomationSuite_Orchestrator",
"orchestrator_upd": "AutomationSuite_Platform",
"platform": "AutomationSuite_Platform",
"test_manager": "AutomationSuite_Test_Manager",
"automation_ops": "AutomationSuite_Platform",
"automation_hub": "AutomationSuite_Automation_Hub",
"insights": "AutomationSuite_Insights",
"task_mining": "AutomationSuite_Task_Mining",
"dataservice": "AutomationSuite_DataService",
"aicenter": "AutomationSuite_AICenter",
"documentunderstanding": "AutomationSuite_DU_Datamanager",
"processmining_airflow": "AutomationSuite_Airflow",
"processmining_metadata": "AutomationSuite_ProcessMining_Metadata",
"processmining_warehouse": "AutomationSuite_ProcessMining_Warehouse",
}
{
"orchestrator": "AutomationSuite_Orchestrator",
"orchestrator_ta": "AutomationSuite_Orchestrator",
"asrobots": "AutomationSuite_Orchestrator",
"orchestrator_upd": "AutomationSuite_Platform",
"platform": "AutomationSuite_Platform",
"test_manager": "AutomationSuite_Test_Manager",
"automation_ops": "AutomationSuite_Platform",
"automation_hub": "AutomationSuite_Automation_Hub",
"insights": "AutomationSuite_Insights",
"task_mining": "AutomationSuite_Task_Mining",
"dataservice": "AutomationSuite_DataService",
"aicenter": "AutomationSuite_AICenter",
"documentunderstanding": "AutomationSuite_DU_Datamanager",
"processmining_airflow": "AutomationSuite_Airflow",
"processmining_metadata": "AutomationSuite_ProcessMining_Metadata",
"processmining_warehouse": "AutomationSuite_ProcessMining_Warehouse",
}
Se você quiser substituir a string de conexão de algum dos serviços acima, defina sql_connection_str para esse serviço específico.
Você ainda precisa criar esses bancos de dados manualmente antes de executar o instalador.
Substituição da string de conexão padrão do Orchestrator e da plataforma
{
"orchestrator": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomOrchDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
},
"platform": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomIDDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
}
}
{
"orchestrator": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomOrchDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
},
"platform": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomIDDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
}
}
Para substituir as strings de conexão do banco de dados para outros produtos, defina sql_connection_str nos blocos de produto correspondentes. A string de conexão deve ter um formato compatível com o respectivo produto.
Exemplo para definir a string de conexão do banco de dados para o AI Center
| Parâmetro | Description |
|---|---|
aicenter.sql_connection_str | String de conexão JDBC do AICenter (consulte abaixo o formato JDBC) |
Verifique se a string de conexão JDBC tem o formato do exemplo abaixo.
"aicenter": {
"enabled": true,
"sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}
"aicenter": {
"enabled": true,
"sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}
Amostra de string de conexão do Document Understanding
"documentUnderstanding": {
"datamanager": {
"sql_connection_str": "SERVER=sql-server.database.windows.net;DATABASE=datamanager;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=myPassword"
},
"sql_connection_str": "Server=tcp:database.example.com,1433;Initial Catalog=db;Persist Security Info=False;User Id=testadmin@example.com;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
"cjkOcr":
{
"enabled": true
}
}
"documentUnderstanding": {
"datamanager": {
"sql_connection_str": "SERVER=sql-server.database.windows.net;DATABASE=datamanager;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=myPassword"
},
"sql_connection_str": "Server=tcp:database.example.com,1433;Initial Catalog=db;Persist Security Info=False;User Id=testadmin@example.com;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
"cjkOcr":
{
"enabled": true
}
}
A string de conexão SQL do Data Manager é opcional apenas se você quiser substituir a string padrão por uma própria.
O manuscrito fica sempre habilitado para a instalação online.
The default value for max_cpu_per-pod is 2, but you can adjust it according to your needs. For more information, check the Document Understanding configuration file.
Configuração externa do Objectstore
Configuração geral
O Automation Suite permite que você traga seu próprio provedor de armazenamento externo. Você pode escolher entre os seguintes provedores de armazenamento:
- Azure
- AWS
- compatível com S3
Você pode configurar o armazenamento de objeto externo de uma das seguintes maneiras:
- durante a instalação, usando o instalador interativo;
- pós-instalação, usando o arquivo
cluster_config.json.
-
Para que o Automation Suite funcione corretamente ao usar URLs pré-assinadas, você deve certificar-se de que seu objectstore externo esteja acessível a partir do cluster do Automation Suite, navegadores e todas as suas máquinas, incluindo estações de trabalho e máquinas de robôs.
-
A Criptografia do lado do servidor com Serviço de Gerenciamento de Chaves (SSE-KMS) só pode ser habilitada nos buckets do Automation Suite implantados em qualquer região criada após 30 de janeiro de 2014.
A funcionalidade SSE-KMS requer APIs SignV4 puras. As regiões criadas antes de 30 de janeiro de 2014 não usam APIs puras do SignV4 devido à compatibilidade com versões anteriores com o SignV2. Portanto, o SSE-KMS é funcional apenas em regiões que usam o SignV4 para comunicação. Para descobrir quando as várias regiões foram provisionadas, consulte a documentação da AWS.
A tabela a seguir lista os parâmetros cluster_config.json que você pode usar para configurar cada provedor de armazenamento de objeto externo:
| Parâmetro | Azure | AWS | compatível com S3 | Description |
|---|---|---|---|---|
external_object_storage.enabled | ✅ | ✅ | ✅ | Especifique se você gostaria de trazer seu próprio armazenamento de objetos. Valores possíveis: true e false. |
external_object_storage.create_bucket | ✅ | ✅ | ✅ | Especifique se você gostaria de provisionar o bucket. Valores possíveis: true e false. |
external_object_storage.storage_type | ✅ | ✅ | ✅ | Especifique o provedor de armazenamento que deseja configurar. O valor diferencia maiúsculas de minúsculas. Valores possíveis: azure e s3.Muitos objetos S3 requerem o CORS definido para todo o tráfego do cluster do Automation Suite. Você deve configurar a política CORS no nível do objectstore para permitir o FQDN do cluster. |
external_object_storage.fqdn | ❌ | ✅ | ✅ | Especifique o FQDN do servidor S3. Necessário no caso da instância da AWS e perfil não instância. |
external_object_storage.port | ❌ | ✅ | ✅ | Especifique a porta S3. Necessário no caso da instância da AWS e perfil não instância. |
external_object_storage.region | ❌ | ✅ | ✅ | Especifique a região da AWS onde os buckets estão hospedados. Necessário no caso da instância da AWS e perfil não instância. |
external_object_storage.access_key | ❌ | ✅ | ✅ | Especifique a chave de acesso para a conta S3. Necessário apenas no caso do perfil de não instância da AWS. |
external_object_storage.secret_key | ❌ | ✅ | ✅ | Especifique a chave secreta para a conta S3. Necessário apenas no caso do perfil de não instância da AWS. |
external_object_storage.use_instance_profile | ❌ | ✅ | ✅ | Especifique se você deseja usar um perfil de instância. Um perfil de instância do AWS Identity e Access Management (IAM) concede acesso seguro a recursos da AWS para aplicativos ou serviços em execução nas instâncias do Amazon Elastic Compute Cloud (EC2). Se você optar pelo AWS S3, um perfil de instância permite que uma instância do EC2 interaja com buckets do S3 sem a necessidade de que credenciais explícitas da AWS (como chaves de acesso) sejam armazenadas na instância. |
external_object_storage.use_managed_identity | ✅ | ❌ | ❌ | Use a identidade gerenciada com sua conta de armazenamento do Azure. Valores possíveis: true e false. |
external_object_storage.bucket_name_prefix 1 | ❌ | ✅ | ✅ | Indique o prefixo para os nomes dos depósitos. Opcional no caso do perfil de não instância da AWS. |
external_object_storage.bucket_name_suffix 2 | ❌ | ✅ | ✅ | Indique o sufixo para os nomes dos depósitos. Opcional no caso do perfil de não instância da AWS. |
external_object_storage.account_key | ✅ | ❌ | ❌ | Especifique a chave de conta do Azure. Necessário apenas ao usar identidade não gerenciada. |
external_object_storage.account_name | ✅ | ❌ | ❌ | Especifique o nome da conta do Azure. |
external_object_storage.azure_fqdn_suffix | ✅ | ❌ | ❌ | Especifique o sufixo FQDN do Azure. Parâmetro opcional. |
external_object_storage.client_id | ✅ | ❌ | ❌ | Especifique sua ID de cliente do Azure. Necessário apenas ao usar a identidade gerenciada. |
1, 2 When configuring the external object storage, you must follow the naming rules and conventions from your provider for both bucket_name_prefix and bucket_name_suffix. In addition to that, the suffix and prefix must have a combined length of no more than 25 characters, and you must not end the prefix or start the suffix with a hyphen (-) as we already add the character for you automatically.
Configuração específica do produto
You can use the parameters described in the General configuration section to update the general Automation Suite configuration. This means that all installed products would share the same configuration. If you want to configure one or more products differently, you can override the general configuration. You just need to specify the product(s) you want to set up external object storage for differently, and use the same parameters to define your configuration. Note that all the other installed products would continue to inherit the general configuration.
O exemplo a seguir mostra como você pode substituir a configuração geral do Orchestrator:
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure,aws>
"fqdn": "", // <needed in the case of aws instance and non-instance profile>
"port": 443, // <needed in the case of aws instance and non-instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
},
"orchestrator": {
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure>
"fqdn": "", // <needed in the case of aws instance and non-instance profile>
"port": 443, // <needed in the case of aws instance and non-instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
}
}
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure,aws>
"fqdn": "", // <needed in the case of aws instance and non-instance profile>
"port": 443, // <needed in the case of aws instance and non-instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
},
"orchestrator": {
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure>
"fqdn": "", // <needed in the case of aws instance and non-instance profile>
"port": 443, // <needed in the case of aws instance and non-instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
}
}
Rotating the blob storage credentials for Process Mining
To rotate the blob storage credentials for Process Mining in Automation Suite the stored secrets must be updated with the new credentials. See Rotating blob storage credentials.
Configuração específica do Orchestrator
O Orchestrator pode salvar logs de robô em um servidor do Elasticsearch. Você pode configurar esta funcionalidade na seção orchestrator.orchestrator_robot_logs_elastic. Se não forem fornecidos, os logs de robô serão salvos no banco de dados do Orchestrator.
A tabela a seguir lista os parâmetros orchestrator.orchestrator_robot_logs_elastic:
| Parâmetro | Description |
|---|---|
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. |
Exemplo
"orchestrator": {
"orchestrator_robot_logs_elastic": {
"elastic_uri": "https://elastic.example.com:9200",
"elastic_auth_username": "elastic-user",
"elastic_auth_password": "elastic-password"
}
}
"orchestrator": {
"orchestrator_robot_logs_elastic": {
"elastic_uri": "https://elastic.example.com:9200",
"elastic_auth_username": "elastic-user",
"elastic_auth_password": "elastic-password"
}
}
Configuração específica do Insights
Se habilitar o Insights, os usuários podem incluir a configuração do servidor SMTP que será usada para enviar emails agendados/emails de alerta. Se não for fornecida, os emails agendados e os emails de alerta não funcionarão.
Os detalhes dos campos insights.smtp_configuration:
| Parâmetro | Description |
|---|---|
tls_version | Os valores válidos são TLSv1_2, TLSv1_1, SSLv23. Omita a chave completamente se não estiver usando TLS. |
from_email | Endereço do qual os emails de alerta/agendados serão enviados. |
host | Nome do host do servidor SMTP. |
port | Porta do servidor SMTP. |
username | Nome de usuário para a autenticação do servidor SMTP. |
password | Senha para a autenticação do servidor SMTP. |
Exemplo
"insights": {
"enabled": true,
"smtp_configuration": {
"tls_version": "TLSv1_2",
"from_email": "test@test.com",
"host": "smtp.sendgrid.com",
"port": 587,
"username": "login",
"password": "password123"
}
}
"insights": {
"enabled": true,
"smtp_configuration": {
"tls_version": "TLSv1_2",
"from_email": "test@test.com",
"host": "smtp.sendgrid.com",
"port": 587,
"username": "login",
"password": "password123"
}
}
Configuração específica de Process Mining
If enabling Process Mining, we recommend users to specify a SECONDARY SQL server to act as a data warehouse that is separate from the primary Automation Suite SQL Server. The data warehouse SQL Server will be under heavy load and can be configured in the processmining section:
| Parâmetro | Description |
|---|---|
sql_connection_str | Cadeia de conexão formatada DotNet com banco de dados definido como um espaço reservado: Initial Catalog=DB_NAME_PLACEHOLDER. |
sqlalchemy_pyodbc_sql_connection_str | Cadeia de conexão formatada Sqlalchemy PYODBC para localização de metadados personalizados:sqlServer:1433/DB_NAME_PLACEHOLDER. |
warehouse.sql_connection_str | Cadeia de conexão SQL formatada em DotNet para o data warehouse de processmining SQL Server com espaço reservado para dbname:Initial Catalog=DB_NAME_PLACEHOLDER. |
warehouse.sqlalchemy_pyodbc_sql_connection_str | String de conexão SQL formatada Sqlalchemy PYODBC para o data warehouse de processmining SQL Server com espaço reservado para dbname:sqlServer:1433/DB_NAME_PLACEHOLDER. |
warehouse.master_sql_connection_str | If the installer is creating databases through sql.create_db: true setting, a DotNet formatted master SQL connection string must be provided for the processmining data warehouse SQL Server. Database in the connection string must be set as master. |
Exemplo de string de conexão do Process Mining
"processmining": {
"enabled": true,
"app_security_mode": "system_managed",
"sql_connection_str": "Server=tcp:shared_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://username:password@shared_sqlserver_fqdn:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"warehouse": {
"sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://useername:password@dedicated_sqlserver_fqdn:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"master_sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=master;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"blob_storage_account_use_presigned_uri": true
},
"processmining": {
"enabled": true,
"app_security_mode": "system_managed",
"sql_connection_str": "Server=tcp:shared_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://username:password@shared_sqlserver_fqdn:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"warehouse": {
"sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://useername:password@dedicated_sqlserver_fqdn:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"master_sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=master;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"blob_storage_account_use_presigned_uri": true
},
Você deve usar a porta padrão do servidor 1433 para as conexões do banco de dados do Airflow.
Portas do servidor SQL não padrão não são compatíveis.
Ao configurar o Microsoft SQL Server, certifique-se de que o fuso horário da máquina SQL Server onde o banco de dados Airflow está instalado, esteja definido como UTC.
Ao configurar as strings de conexão para o SQL Server do data warehouse do processmining, a instância nomeada do SQL Server deve ser omitida.
As instâncias nomeadas do SQL Server não podem operar na mesma porta TCP. Portanto, o número da porta por si só é suficiente para distinguir entre instâncias.
Por exemplo, use tcp:server,1433 em vez de tcp:server\namedinstance,1433.
Automation Suite Robots-specific configuration
Os robôs do Automation Suite podem usar o cache de pacotes para otimizar a execução do processo e permitir que sejam executados mais rapidamente. Os pacotes NuGet são obtidos do sistema de arquivos em vez de serem baixados da Internet/rede. Isso requer um espaço adicional mínimo de 10 GB e deve ser alocado para uma pasta no sistema de arquivos da máquina host dos nós dedicados.
Para ativar o armazenamento em cache do pacote, você precisa atualizar os seguintes parâmetros cluster_config.json :
| Parâmetro | Valor padrão | Description |
|---|---|---|
packagecaching | true | Quando definido como true, os robôs usam um cache local para resolução de pacote. |
packagecachefolder | /uipath_asrobots_package_cache | O local do disco no nó do agente sem servidor em que os pacotes são armazenados. |
Configuração específica do AI Center
Esta seção se aplica apenas a endpoints S3 (não necessários para o Armazenamento do Azure).
Para que o AI Center funcione corretamente, você deve configurar os parâmetros aicenter.external_object_storage.port e aicenter.external_object_storage.fqdn no arquivo cluster_config.json .
Você deve configurar os parâmetros na seção aicenter do arquivo cluster_config.json , mesmo que tenha configurado a seção external_object_storage do arquivo.
O exemplo a seguir mostra uma configuração cluster_config.json válida para o AI Center:
"aicenter": {
"external_object_storage" {
"port": 443,
"fqdn": "s3.us-west-2.amazonaws.com"
}
},
"external_object_storage": {
"enabled": true,
"create_bucket": false,
"storage_type": "s3",
"region": "us-west-2",
"use_instance_profile": true
}
...
"aicenter": {
"external_object_storage" {
"port": 443,
"fqdn": "s3.us-west-2.amazonaws.com"
}
},
"external_object_storage": {
"enabled": true,
"create_bucket": false,
"storage_type": "s3",
"region": "us-west-2",
"use_instance_profile": true
}
...
Configuração do monitoramento
To provision enough resources for monitoring (see Using the monitoring stack), you should consider the number of vCPUs in the cluster and the amount of desired metric retention. See below for how to set the following monitoring resource configurations.
A tabela a seguir descreve os detalhes do campo de monitoramento:
| Parâmetro | Description |
|---|---|
prometheus_retention | Em dias. Esta é a quantidade de dias que as métricas serão mantidas para a finalidade de visualização no Grafana e consulta manual usando o console do Prometheus. O valor padrão é 7. |
prometheus_storage_size | Em GB. Quantidade de espaço de armazenamento a ser reservado por réplica do Prometheus. Uma boa regra prática é definir esse valor como: 0.65 * vCPU cores * (prometheus_retention / 7)Exemplo: Se você definir prometheus_retention como 14 dias, e seu cluster tiver 80 núcleos distribuídos em 5 máquinas, isso se torna:0.65 * 80 * (14 / 7)52 * (2)104O valor padrão é 45 e não deve ser definido um valor inferior.If Prometheus starts to run out of storage space, an alert will be triggered with specific remediation instructions. See here. |
prometheus_memory_limit | Em MiB. Quantidade de memória a ser limitada para cada réplica do Prometheus. Uma boa regra prática é definir esse valor como: 100 * vCPU cores * (prometheus_retention / 7)Exemplo: Se você definir prometheus_retention como 14 dias, e seu cluster tiver 80 núcleos distribuídos em 5 máquinas, isso se torna:100 * 80 * (14 / 7)8000 * (2)16000O valor padrão é 3200 para o modo de avaliação de nó único, e 6000 para o modo de produção pronto para alta disponibilidade de vários nós, e não deve ser definido um valor inferior.If Prometheus starts to run out of memory, an alert will be triggered with specific remediation instructions. See here. |
Exemplo
"monitoring": {
"prometheus_retention": 14,
"prometheus_memory_limit": 16000,
"prometheus_storage_size": 104
}
"monitoring": {
"prometheus_retention": 14,
"prometheus_memory_limit": 16000,
"prometheus_storage_size": 104
}
Opcional: configuração do servidor proxy
Confira se os requisitos do servidor proxy são atendidos antes de configurar o servidor proxy durante a instalação.
For details, see Step 2: Adding proxy configuration to each node.
Uma configuração de proxy é necessária apenas se você realizar uma instalação online.
Ao executar o assistente do instalador interativo, você precisa fechá-lo e atualizar o cluster_config.json durante a etapa de configuração avançada.
Você precisa adicionar o seguinte ao arquivo de configuração usando o vim ou o editor de sua preferência no arquivo de configuração:
"proxy": {
"enabled": true,
"http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"no_proxy": "alm.<fqdn>,<fixed_rke_address>:9345,<fixed_rke_address>:6443,<named server address>,<metadata server address>,<k8s address range>,<private_subnet_ip>,<sql server host>,<Comma separated list of ips that should not go through proxy server>"
}
"proxy": {
"enabled": true,
"http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"no_proxy": "alm.<fqdn>,<fixed_rke_address>:9345,<fixed_rke_address>:6443,<named server address>,<metadata server address>,<k8s address range>,<private_subnet_ip>,<sql server host>,<Comma separated list of ips that should not go through proxy server>"
}
| Parâmetros obrigatórios | Description |
|---|---|
|
|
Use |
|
|
Usado para rotear solicitações de saída HTTP do cluster. Este deve ser o FQDN e a porta do servidor proxy. |
|
|
Usado para rotear solicitações de saída HTTPS do cluster. Este deve ser o FQDN e a porta do servidor proxy. |
|
|
Lista separada por vírgulas de hosts, endereços IP ou intervalos de IP no formato CIDR que você não deseja rotear por meio do servidor proxy. Este deve ser um intervalo de sub-rede privada, host do SQL Server, endereço do servidor nomeado, endereço do servidor de metadados:
Se você usar o AI Center com um Orchestrator externo, deve adicionar o domínio externo do Orchestrator à lista |
Opcional: habilitação da resiliência a falhas zonais em um cluster de produção pronto para alta disponibilidade de vários nós
Para habilitar a resiliência a falhas zonais em um cluster de vários nós, siga estas etapas:
-
Certifique-se de que os nós estejam distribuídos uniformemente em três zonas de disponibilidade. Para um servidor bare-metal ou VM fornecido por qualquer fornecedor, exceto AWS, Azure ou GCP, os metadados da zona devem ser fornecidos por meio do arquivo de configuração
/etc/default/k8s-node-labelsem cada máquina no formato a seguir.NODE_REGION_LABEL=<REGION_NAME> NODE_ZONE_LABEL=<ZONE_NAME> cat > /etc/default/k8s-node-labels <<EOF EXTRA_K8S_NODE_LABELS="topology.kubernetes.io/region=$NODE_REGION_LABEL,topology.kubernetes.io/zone=${NODE_ZONE_LABEL}" EOFNODE_REGION_LABEL=<REGION_NAME> NODE_ZONE_LABEL=<ZONE_NAME> cat > /etc/default/k8s-node-labels <<EOF EXTRA_K8S_NODE_LABELS="topology.kubernetes.io/region=$NODE_REGION_LABEL,topology.kubernetes.io/zone=${NODE_ZONE_LABEL}" EOF -
Atualize o arquivo
cluster_config.jsondurante a etapa de configuração avançada.
Para atualizar o cluster_config.json usando o assistente de instalação interativo, feche na etapa de configuração avançada e adicione o seguinte ao arquivo de configuração usando o vim ou o editor de sua preferência:
"zone_resilience": true
"zone_resilience": true
| Parâmetros obrigatórios | Description |
|---|---|
zone_resilience | Use true ou false para habilitar ou desabilitar a resiliência à falha zonal. |
Se você ativar a resiliência para falha zonal, passar os argumentos --zone e --region é:
- recommended if you provision your machines on AWS, Azure, or GCP, and metadata services are enabled as the installer populates the zone and region details.
- mandatory if you provision your machines on AWS, Azure, or GCP, and metadata services are disabled, or if you opt for a different cloud provider.
Opcional: transmitindo resolv.conf personalizado
O cluster do Kubernetes que o Automation Suite implanta usa os servidores de nomes configurados em /etc/resolv.conf. O Kubernetes não funciona com resolvedores de DNS locais (127.0.0.1 ou 127.0.0.0/8), portanto, se você tiver esses servidores de nomes configurados no arquivo /etc/resolv.conf, é necessário passar uma referência de arquivo com as entradas de servidor de nomes corretas acessíveis a partir de qualquer lugar na VM no parâmetro .infra.custom_dns_resolver em cluster_config.json.
Para obter detalhes sobre uma limitação conhecida, consulte a Documentação do Kubernetes.
| Parâmetros opcionais | Description |
|---|---|
.infra.custom_dns_resolver | Caminho para o arquivo com as entradas corretas do servidor de nomes que podem ser acessadas de qualquer lugar na VM. Essas entradas de servidor de nomes não devem ser de 127.0.0.0/8. |
Optional: Increasing fault tolerance
Por padrão, o perfil de produção pronto para HA de vários nós permite que um nó de servidor fique inativo sem causar uma falha de implementação. Você pode aumentar a tolerância à falha do nó do servidor usando o parâmetro fault_tolerance no arquivo cluster_config.json . O parâmetro modifica o fator de replicação dos componentes de armazenamento no cluster, como Ceph e Longhorn.
Requisitos de Hardware
Para aumentar a tolerância a falhas além de 1, certifique-se de que seu ambiente atenda aos seguintes requisitos:
- Seu cluster consiste em um mínimo de
2x+1nós de servidor, em quexé a tolerância a falhas de nó de servidor necessária; - Cada nó de servidor possui um dispositivo bruto configurado.
How to increase fault tolerance
Para aumentar a tolerância a falhas além de 1, execute as seguintes etapas:
- Defina
fault_tolerancecom o valor necessário no arquivocluster_config.json. Se você configurá-lo antes de iniciar a operação de instalação ou atualização, não será necessário executar nenhuma etapa adicional. - Execute o instalador
uipathctl.shpara modificar o fator de replicação do armazenamento de objetos Ceph no cluster. Aguarde até que a operação seja concluída com sucesso. - Execute o instalador
install-uipath.shpara modificar o fator de replicação de volumes Longhorn. Aguarde até que a operação seja concluída com sucesso.
- Amostra Cluster_config.json
- Configuração geral
- Configuração de Certificados
- Configuração do Banco de Dados
- Fluxo de trabalho de criação de banco de dados
- Cria automaticamente os bancos de dados necessários
- Traga seu próprio banco de dados
- Configuração externa do Objectstore
- Configuração geral
- Configuração específica do produto
- Rotating the blob storage credentials for Process Mining
- Configuração específica do Orchestrator
- Configuração específica do Insights
- Configuração específica de Process Mining
- Automation Suite Robots-specific configuration
- Configuração específica do AI Center
- Configuração do monitoramento
- Opcional: configuração do servidor proxy
- Opcional: habilitação da resiliência a falhas zonais em um cluster de produção pronto para alta disponibilidade de vários nós
- Opcional: transmitindo resolv.conf personalizado
- Optional: Increasing fault tolerance
- Requisitos de Hardware
- How to increase fault tolerance