automation-suite
2022.4
false
- Visão geral
- Requisitos
- Instalação
- Perguntas e respostas: modelos de implantação
- Configuração das máquinas
- 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
- Pós-instalação
- Administração de cluster
- Gerenciando produtos
- Gerenciamento do cluster no ArgoCD
- Configuração do servidor NFS externo
- Automatizado: habilitando o backup no cluster
- Automatizado: desabilitando o backup no cluster
- Automatizado, online: restaurando o cluster
- Automatizado, offline: restaurando o cluster
- Manual: habilitando o backup no cluster
- Manual: desabilitando o backup no cluster
- Manual, online: restaurando o cluster
- Manual, offline: restaurando o cluster
- Configuração adicional
- Migrating objectstore from persistent volume to raw disks
- 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
- B) Migração de um ú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
- First installation fails during Longhorn setup
- 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
- Automation Suite not working after OS upgrade
- O Automation Suite requer que Backlog_wait_time seja definido como 1
- Não é possível montar o volume devido a não estar pronto para cargas de trabalho
- O RKE2 falha durante a instalação e atualização
- Falha ao carregar ou baixar dados no objectstore
- PVC resize does not heal Ceph
- 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
- Não é possível fazer login após a 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
- A operação do GSSAPI falhou com erro: um código de status inválido foi fornecido (as credenciais do cliente foram revogadas).
- Alarme recebido para tarefa Kerberos-tgt-update com falha
- Provedor SSPI: servidor não encontrado no banco de dados Kerberos
- Falha do login para o usuário <ADDOMAIN><aduser> Motivo: a conta está 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
- Após a instalação inicial, o aplicativo ArgoCD entrou no estado Em andamento
- Pods de MongoDB em CrashLoopBackOff ou provisionamento de PVC pendente após exclusão
- Inconsistência inesperada; execute o fsck manualmente
- MongoDB degradado ou aplicativos de negócios após a restauração do cluster
- Operador de autocura ausente e repositório Sf-k8-utils ausente
- Serviços não íntegros após restauração ou reversão do cluster
- Pod RabbitMQ preso em CrashLoopBackOff
- 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
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo.
A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Guia de instalação do Automation Suite
Última atualização 17 de mar de 2025
Um bug pode causar acúmulo de log no depósito de armazenamento de objeto
sf-logs
. Para limpar logs antigos no depósito sf-logs
, siga as instruções sobre como executar o script dedicado. Certifique-se de seguir as etapas relevantes para seu tipo de ambiente.
Para limpar logs antigos armazenados no bucket
sf-logs
, siga as seguintes etapas:
-
Obtenha a versão da imagem
sf-k8-utils-rhel
disponível em seu ambiente:- em um ambiente off-line, execute o seguinte comando:
podman search localhost:30071/uipath/sf-k8-utils-rhel --tls-verify=false --list-tags
- em um ambiente online, execute o seguinte comando:
podman search registry.uipath.com/uipath/sf-k8-utils-rhel --list-tags
- em um ambiente off-line, execute o seguinte comando:
-
Atualize a linha 121 na seguinte definição
yaml
de acordo para incluir a tag de imagem adequada:apiVersion: v1 kind: ConfigMap metadata: name: cleanup-script namespace: uipath-infra data: cleanup_old_logs.sh: | #!/bin/bash function parse_args() { CUTOFFDAY=7 SKIPDRYRUN=0 while getopts 'c:sh' flag "$@"; do case "${flag}" in c) CUTOFFDAY=${OPTARG} ;; s) SKIPDRYRUN=1 ;; h) display_usage exit 0 ;; *) echo "Unexpected option ${flag}" display_usage exit 1 ;; esac done shift $((OPTIND - 1)) } function display_usage() { echo "usage: $(basename "$0") -c <number> [-s]" echo " -s skip dry run, Really deletes the log dirs" echo " -c logs older than how many days to be deleted. Default is 7 days" echo " -h help" echo "NOTE: Default is dry run, to really delete logs set -s" } function setS3CMDContext() { OBJECT_GATEWAY_INTERNAL_HOST=$(kubectl -n rook-ceph get services/rook-ceph-rgw-rook-ceph -o jsonpath="{.spec.clusterIP}") OBJECT_GATEWAY_INTERNAL_PORT=$(kubectl -n rook-ceph get services/rook-ceph-rgw-rook-ceph -o jsonpath="{.spec.ports[0].port}") AWS_ACCESS_KEY=$1 AWS_SECRET_KEY=$2 # Reference https://rook.io/docs/rook/v1.5/ceph-object.html#consume-the-object-storage export AWS_HOST=$OBJECT_GATEWAY_INTERNAL_HOST export AWS_ENDPOINT=$OBJECT_GATEWAY_INTERNAL_HOST:$OBJECT_GATEWAY_INTERNAL_PORT export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY } # Set s3cmd context by passing correct AccessKey and SecretKey function setS3CMDContextForLogs() { BUCKET_NAME='sf-logs' AWS_ACCESS_KEY=$(kubectl -n cattle-logging-system get secret s3-store-secret -o json | jq '.data.OBJECT_STORAGE_ACCESSKEY' | sed -e 's/^"//' -e 's/"$//' | base64 -d) AWS_SECRET_KEY=$(kubectl -n cattle-logging-system get secret s3-store-secret -o json | jq '.data.OBJECT_STORAGE_SECRETKEY' | sed -e 's/^"//' -e 's/"$//' | base64 -d) setS3CMDContext "$AWS_ACCESS_KEY" "$AWS_SECRET_KEY" } function delete_old_logs() { local cutoffdate=$1 days=$(s3cmd ls s3://sf-logs/ --host="${AWS_HOST}" --host-bucket= s3://sf-logs --no-check-certificate --no-ssl) days=${days//DIR} if [[ $SKIPDRYRUN -eq 0 ]]; then echo "DRY RUN. Following log dirs are selected for deletion" fi for day in $days do day=${day#*sf-logs/} day=${day::-1} if [[ ${day} < ${cutoffdate} ]]; then if [[ $SKIPDRYRUN -eq 0 ]]; then echo "s3://$BUCKET_NAME/$day" else echo "###############################################################" echo "Deleting Logs for day: {$day}" echo "###############################################################" s3cmd del "s3://$BUCKET_NAME/$day/" --host="${AWS_HOST}" --host-bucket= --no-ssl --recursive || true fi fi done } function main() { # Set S3 context by setting correct env variables setS3CMDContextForLogs echo "Bucket name is $BUCKET_NAME" CUTOFFDATE=$(date --date="${CUTOFFDAY} day ago" +%Y_%m_%d) echo "logs older than ${CUTOFFDATE} will be deleted" delete_old_logs "${CUTOFFDATE}" if [[ $SKIPDRYRUN -eq 0 ]]; then echo "NOTE: For really deleting the old log directories run with -s option" fi } parse_args "$@" main exit 0 --- apiVersion: v1 kind: Pod metadata: name: cleanup-old-logs namespace: uipath-infra spec: serviceAccountName: fluentd-logs-cleanup-sa containers: - name: cleanup image: localhost:30071/uipath/sf-k8-utils-rhel:0.8 command: ["/bin/bash"] args: ["/scripts-dir/cleanup_old_logs.sh", "-s"] volumeMounts: - name: scripts-vol mountPath: /scripts-dir securityContext: privileged: false allowPrivilegeEscalation: false readOnlyRootFilesystem: true runAsUser: 9999 runAsGroup: 9999 runAsNonRoot: true capabilities: drop: ["NET_RAW"] volumes: - name: scripts-vol configMap: name: cleanup-script
apiVersion: v1 kind: ConfigMap metadata: name: cleanup-script namespace: uipath-infra data: cleanup_old_logs.sh: | #!/bin/bash function parse_args() { CUTOFFDAY=7 SKIPDRYRUN=0 while getopts 'c:sh' flag "$@"; do case "${flag}" in c) CUTOFFDAY=${OPTARG} ;; s) SKIPDRYRUN=1 ;; h) display_usage exit 0 ;; *) echo "Unexpected option ${flag}" display_usage exit 1 ;; esac done shift $((OPTIND - 1)) } function display_usage() { echo "usage: $(basename "$0") -c <number> [-s]" echo " -s skip dry run, Really deletes the log dirs" echo " -c logs older than how many days to be deleted. Default is 7 days" echo " -h help" echo "NOTE: Default is dry run, to really delete logs set -s" } function setS3CMDContext() { OBJECT_GATEWAY_INTERNAL_HOST=$(kubectl -n rook-ceph get services/rook-ceph-rgw-rook-ceph -o jsonpath="{.spec.clusterIP}") OBJECT_GATEWAY_INTERNAL_PORT=$(kubectl -n rook-ceph get services/rook-ceph-rgw-rook-ceph -o jsonpath="{.spec.ports[0].port}") AWS_ACCESS_KEY=$1 AWS_SECRET_KEY=$2 # Reference https://rook.io/docs/rook/v1.5/ceph-object.html#consume-the-object-storage export AWS_HOST=$OBJECT_GATEWAY_INTERNAL_HOST export AWS_ENDPOINT=$OBJECT_GATEWAY_INTERNAL_HOST:$OBJECT_GATEWAY_INTERNAL_PORT export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY } # Set s3cmd context by passing correct AccessKey and SecretKey function setS3CMDContextForLogs() { BUCKET_NAME='sf-logs' AWS_ACCESS_KEY=$(kubectl -n cattle-logging-system get secret s3-store-secret -o json | jq '.data.OBJECT_STORAGE_ACCESSKEY' | sed -e 's/^"//' -e 's/"$//' | base64 -d) AWS_SECRET_KEY=$(kubectl -n cattle-logging-system get secret s3-store-secret -o json | jq '.data.OBJECT_STORAGE_SECRETKEY' | sed -e 's/^"//' -e 's/"$//' | base64 -d) setS3CMDContext "$AWS_ACCESS_KEY" "$AWS_SECRET_KEY" } function delete_old_logs() { local cutoffdate=$1 days=$(s3cmd ls s3://sf-logs/ --host="${AWS_HOST}" --host-bucket= s3://sf-logs --no-check-certificate --no-ssl) days=${days//DIR} if [[ $SKIPDRYRUN -eq 0 ]]; then echo "DRY RUN. Following log dirs are selected for deletion" fi for day in $days do day=${day#*sf-logs/} day=${day::-1} if [[ ${day} < ${cutoffdate} ]]; then if [[ $SKIPDRYRUN -eq 0 ]]; then echo "s3://$BUCKET_NAME/$day" else echo "###############################################################" echo "Deleting Logs for day: {$day}" echo "###############################################################" s3cmd del "s3://$BUCKET_NAME/$day/" --host="${AWS_HOST}" --host-bucket= --no-ssl --recursive || true fi fi done } function main() { # Set S3 context by setting correct env variables setS3CMDContextForLogs echo "Bucket name is $BUCKET_NAME" CUTOFFDATE=$(date --date="${CUTOFFDAY} day ago" +%Y_%m_%d) echo "logs older than ${CUTOFFDATE} will be deleted" delete_old_logs "${CUTOFFDATE}" if [[ $SKIPDRYRUN -eq 0 ]]; then echo "NOTE: For really deleting the old log directories run with -s option" fi } parse_args "$@" main exit 0 --- apiVersion: v1 kind: Pod metadata: name: cleanup-old-logs namespace: uipath-infra spec: serviceAccountName: fluentd-logs-cleanup-sa containers: - name: cleanup image: localhost:30071/uipath/sf-k8-utils-rhel:0.8 command: ["/bin/bash"] args: ["/scripts-dir/cleanup_old_logs.sh", "-s"] volumeMounts: - name: scripts-vol mountPath: /scripts-dir securityContext: privileged: false allowPrivilegeEscalation: false readOnlyRootFilesystem: true runAsUser: 9999 runAsGroup: 9999 runAsNonRoot: true capabilities: drop: ["NET_RAW"] volumes: - name: scripts-vol configMap: name: cleanup-script -
Copie o conteúdo da definição de
yaml
acima mencionada para um arquivo chamadocleanup.yaml
. Acione um pod para limpar os logs antigos:kubectl apply -f cleanup.yaml
kubectl apply -f cleanup.yaml -
Obtenha detalhes sobre o andamento:
kubectl -n uipath-infra logs cleanup-old-logs -f
kubectl -n uipath-infra logs cleanup-old-logs -f -
Excluir o trabalho:
kubectl delete -f cleanup.yaml
kubectl delete -f cleanup.yaml