- Información general
- Requisitos
- Instalación
- Preguntas y respuestas: plantillas de implementación
- Descarga de los paquetes de instalación
- parámetros de install-uipath.sh
- Habilitar el complemento de alta disponibilidad (HAA) de Redis para el clúster
- Archivo de configuración de Document Understanding
- Inclusión de un nodo agente dedicado compatible con GPU
- Conexión de la aplicación Task Mining
- Añadir un nodo agente dedicado a Task Mining
- Después de la instalación
- Administración de clústeres
- Gestionar los productos
- Gestionar el clúster en ArgoCD
- Configurar el servidor NFS externo
- Automatizado: Habilitar la copia de seguridad en el clúster
- Automatizado: Deshabilitar la copia de seguridad en el clúster
- Automatizado, en línea: restaurar el clúster
- Automatizado, sin conexión: restaurar el clúster
- Manual: Habilitar la copia de seguridad en el clúster
- Manual : Deshabilitar la copia de seguridad en el clúster
- Manual, en línea: restaurar el clúster
- Manual, sin conexión: restaurar el clúster
- Configuración adicional
- Migrating objectstore from persistent volume to raw disks
- Supervisión y alertas
- Migración y actualización
- Opciones de migración
- Paso 1: Mover los datos de la organización de identidad de independiente a Automation Suite
- Paso 2: restaurar la base de datos del producto independiente
- Paso 3: Realizar una copia de seguridad de la base de datos de la plataforma en Automation Suite
- Paso 4: Fusionar organizaciones en Automation Suite
- Paso 5: actualizar las cadenas de conexión de los productos migrados
- Paso 6: migrar Insights independiente
- Paso 7: eliminar el tenant predeterminado
- B) Migración de tenant único
- Configuración específica del producto
- Uso de la herramienta de configuración de Orchestrator
- Limpiar la base de datos de Orchestrator
- Buenas prácticas y mantenimiento
- Solución de problemas
- Cómo solucionar los problemas de los servicios durante la instalación
- Cómo desinstalar el clúster
- Cómo limpiar los artefactos sin conexión para mejorar el espacio en disco
- Cómo borrar datos de Redis
- Cómo habilitar el registro de Istio
- Cómo limpiar manualmente los registros
- Cómo limpiar los registros antiguos almacenados en el depósito sf-logs
- Cómo deshabilitar los registros de transmisión para AI Center
- Cómo depurar instalaciones de Automation Suite fallidas
- Cómo eliminar imágenes del instalador antiguo después de la actualización
- Cómo limpiar automáticamente las instantáneas de Longhorn
- Cómo deshabilitar la descarga de la suma de comprobación TX
- Cómo abordar los cifrados débiles en TLS 1.2
- No se puede ejecutar una instalación sin conexión en el sistema operativo RHEL 8.4
- Error al descargar el paquete
- La instalación sin conexión falla porque falta un binario
- Problema de certificado en la instalación sin conexión
- First installation fails during Longhorn setup
- Error de validación de la cadena de conexión SQL
- Error en la comprobación de requisitos previos para el módulo iscsid de selinux
- Azure disk not marked as SSD
- Fallo tras la actualización del certificado
- Automation Suite not working after OS upgrade
- Automation Suite requiere que Backlog_wait_time se establezca 1
- El volumen no se puede montar porque no está listo para las cargas de trabajo
- RKE2 falla durante la instalación y la actualización
- Fallo al cargar o descargar datos en el almacén de objetos
- PVC resize does not heal Ceph
- Fallo en el redimensionamiento de PVC de objectstore
- Rook Ceph o Looker pod atascados en estado Init
- Error de archivo adjunto de volumen de StatefulSet
- Fallo en la creación de volúmenes persistentes
- Parche de reclamación de almacenamiento
- La copia de seguridad falló debido al error
- Todas las réplicas de Longhorn son defectuosas
- Establecer un intervalo de tiempo de espera para los portales de gestión
- Actualizar las conexiones del directorio subyacente
- No se puede iniciar la sesión después de la migración
- kinit: no se puede encontrar la KDC para el territorio <AD Domain> mientras se obtienen las credenciales iniciales
- kinit: keytab no contiene claves adecuadas para *** mientras se obtienen las credenciales iniciales
- La operación GSSAPI ha fallado con un error: se ha suministrado un código de estado no válido (las credenciales del cliente han sido revocadas).
- Alarma recibida por trabajo de actualización Kerberos-tgt fallido
- Proveedor SSPI: servidor no encontrado en la base de datos de Kerberos
- Inicio de sesión fallido para el usuario <ADDOMAIN><aduser>. Razón: cuenta deshabilitada.
- ArgoCD login failed
- Fallo en la obtención de la imagen de Sandbox
- Los pods no se muestran en la interfaz de usuario de ArgoCD
- Fallo de la sonda Redis
- El servidor RKE2 no se inicia
- Secreto no encontrado en el espacio de nombres UiPath
- Después de la instalación inicial, la aplicación ArgoCD pasó al estado de progreso
- Pods MongoDB en CrashLoopBackOff o pendientes de aprovisionamiento de PVC tras su eliminación
- Inconsistencia inesperada, ejecuta fsck manualmente
- MongoDB o aplicaciones empresariales degradadas después de la restauración del clúster
- Falta el operador de Self-heal y el repositorio de Sf-k8-utils
- Servicios en mal estado después de la restauración o reversión del clúster
- El pod de RabbitMQ se atasca en CrashLoopBackOff
- Prometheus en estado CrashloopBackoff con error de falta de memoria (OOM)
- Faltan métricas de Ceph-rook en los paneles de supervisión
- Los pods no pueden comunicarse con FQDN en un entorno de proxy
- Document Understanding no se encuentra en la barra izquierda de Automation Suite
- Estado fallido al crear una sesión de etiquetado de datos
- Estado fallido al intentar implementar una habilidad ML
- El trabajo de migración falla en ArgoCD
- El reconocimiento de la escritura manual con el extractor de formularios inteligente no funciona
- Uso de la herramienta de diagnóstico de Automation Suite
- Uso de la herramienta del paquete de soporte de Automation Suite
- Explorar registros
Limpiar la base de datos de Orchestrator
Los siguientes scripts reemplazan a todos y cada uno de los scripts de limpieza de bases de datos anteriores. Cubren todas las tareas de mantenimiento necesarias y pueden configurarse según las necesidades.
Puedes descargar los scripts de mantenimiento de la base de datos de Customer Portal.
CreateOrchestratorCleanupObjects.sql
:
-
Debes tener acceso a la base de datos de archivo desde el contexto de tu base de datos de Orchestrator.
-
Debes poder acceder al archivo utilizando nombres de 3 partes, como
Archive.dbo.QueueItemsTableArchive
.
CreateOrchestratorCleanupObjects.sql
para crear los siguientes objetos:
-
La tabla
dbo.__CleanupLog
, que alberga los registros de ejecución. -
El procedimiento
dbo.GetOrCreateArchiveTable
, que crea o devuelve la tabla de archivo. -
El procedimiento
dbo.RunOrchestratorCleanup
, que realiza la eliminación y, opcionalmente, el archivo de los datos antiguos.
dbo.RunOrchestratorCleanup
con el archivo de configuración XML de programación para realizar la limpieza.Para obtener más información sobre el archivo XML, consulta la sección Programar la limpieza a continuación.
También puedes utilizar el agente de SQL Server para realizar la limpieza.
DECLARE @cleanupConfigXml XML =
'<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
</CleanupConfig>';
EXEC dbo.RunOrchestratorCleanup
@cleanupConfigXml = @cleanupConfigXml,
@archiveDatabaseName = 'OrchestratorArchive';
DECLARE @cleanupConfigXml XML =
'<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
</CleanupConfig>';
EXEC dbo.RunOrchestratorCleanup
@cleanupConfigXml = @cleanupConfigXml,
@archiveDatabaseName = 'OrchestratorArchive';
Esto es adecuado para situaciones en las que no puedas utilizar el script SQL.
El script de PowerShell es compatible con Powershell 5.1 y se puede utilizar con los runbooks de automatización de Azure.
RunOrchestratorCleanup.ps1
debe poder comunicarse con estas dos cadenas de conexión:
-
SourceConnectionString
- esta es la cadena de conexión de base de datos de Orchestrator. -
DestinationConnectionString
- esta es la cadena de conexión de base de datos de archivo. Ten en cuenta que la base de datos de archivo debe crearse y configurarse con antelación.
-
La tabla
dbo.__CleanupLog
, que alberga los registros de ejecución. -
La tabla
dbo.__CleanupIds
, que almacena un lote temporal de ID que deben limpiarse.
SourceConnectionString
) y una a la base de datos de archivo (a través de DestinationConnectionString
). Por ello, no se trata de ninguna transacción real, ya que los datos se copian de Orchestrator al archivo, después de lo cual se eliminan de Orchestrator.
Esto significa que si se produce una excepción en cualquier lugar entre las dos acciones, lo que hace que el script se vuelva a ejecutar, los mismos datos podrían copiarse de nuevo, lo que provocaría duplicados en la base de datos de archivo.
Sin embargo, como la singularidad no se aplica en la base de datos de archivo, esto no genera ningún problema.
.\RunOrchestratorCleanup
-SourceConnectionString "Data Source=.;Initial Catalog=UiPath;User ID=sa;Password=******"
-DestinationConnectionString "Data Source=.;Initial Catalog=<OrchestratorArchive>;User ID=sa;Password=******"
-CleanupConfigXml '<CleanupConfig totalRunMaxMinutes="180"><Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" /></CleanupConfig>'
.\RunOrchestratorCleanup
-SourceConnectionString "Data Source=.;Initial Catalog=UiPath;User ID=sa;Password=******"
-DestinationConnectionString "Data Source=.;Initial Catalog=<OrchestratorArchive>;User ID=sa;Password=******"
-CleanupConfigXml '<CleanupConfig totalRunMaxMinutes="180"><Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" /></CleanupConfig>'
Puedes elegir qué datos limpiar de tu base de datos, cuándo y durante cuánto tiempo se debe realizar la actividad de limpieza para cada ejecución, entre otros.
Para ello, utiliza el siguiente archivo XML con el SQL o el script de PowerShell. Está preconfigurado con nuestros parámetros recomendados, pero puedes editarlo si quieres características más avanzadas. Asegúrate de comprender lo que hace cada parámetro antes de editar el script, ya que esto puede tener consecuencias graves.
<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Jobs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="State IN (4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Logs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="TimeStamp" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="1" />
<Table name="AuditLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTime" additionalFilter="" daysOld="365" batchSize="25" forceCascade="1" shouldArchive="1" />
<Table name="Tasks" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="180" batchSize="10" forceCascade="0" shouldArchive="1" />
<Table name="QueueProcessingRecords" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ProcessingTime" additionalFilter="ReportType != -1" daysOld="30" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Sessions" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ReportingTime" additionalFilter="" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="RobotLicenseLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="StartDate" additionalFilter="" daysOld="180" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="UserNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="TenantNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Ledger" runMaxMinutes="-1" idColumn="LedgerId" dateTimeColumn="CreationTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="LedgerDeliveries" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="LastUpdatedTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Assets" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="120" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="__CleanupLog" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTimeUtc" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
</CleanupConfig>
<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Jobs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="State IN (4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Logs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="TimeStamp" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="1" />
<Table name="AuditLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTime" additionalFilter="" daysOld="365" batchSize="25" forceCascade="1" shouldArchive="1" />
<Table name="Tasks" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="180" batchSize="10" forceCascade="0" shouldArchive="1" />
<Table name="QueueProcessingRecords" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ProcessingTime" additionalFilter="ReportType != -1" daysOld="30" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Sessions" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ReportingTime" additionalFilter="" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="RobotLicenseLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="StartDate" additionalFilter="" daysOld="180" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="UserNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="TenantNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Ledger" runMaxMinutes="-1" idColumn="LedgerId" dateTimeColumn="CreationTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="LedgerDeliveries" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="LastUpdatedTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Assets" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="120" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="__CleanupLog" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTimeUtc" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
</CleanupConfig>
Incluso si una ejecución solo consigue limpiar parcialmente una o algunas tablas, las ejecuciones posteriores continuarán la limpieza, hasta que el script se ponga al día con todo el trabajo atrasado. Por lo tanto, es importante que no acumules un retraso mayor del que el script puede gestionar. Si esto sucede, valora la posibilidad de programar el script para que se ejecute con más frecuencia.
Parámetro |
Explicación |
Valores posibles |
---|---|---|
|
El número máximo de minutos que el script puede ejecutarse para todas las tablas durante una ejecución. |
Debe ser mayor que 1. |
|
El nombre de la tabla que contiene los datos que quieres eliminar. |
Ejemplo:
QueueItems |
|
El número máximo de minutos que el script puede ejecutarse para una tabla en particular durante una ejecución. Importante:
La cantidad de tiempo que establezcas aquí a veces puede durar un par de minutos más. Además de eso, el valor
totalRunMaxMinutes tiene prioridad y siempre se aplicará, incluso si estableces este parámetro en -1 .
|
-1 : el script se ejecutará durante un número ilimitado de minutos.
0 : el script no se ejecutará para esa tabla en particular.
>0 (es decir, un número elegido por ti): el número máximo de minutos que el script se ejecutará.
|
|
El ID de la columna que contiene los datos que quieres eliminar. |
Ejemplo:
Id de la tabla QueueItems
|
|
Esto difiere en función del tipo de datos. Se utiliza en combinación con
daysOld .
|
Ejemplo:
CreationTime para QueueItems |
|
Cualquier instrucción SQL válida para un filtro. Esto se puede dejar vacío. |
Ejemplo:
Status IN (2, 3, 4, 5, 6) . Esto se incluye en el archivo XML recomendado por nosotros.
|
daysOld |
Te permite mantener un cierto número de días de datos . Se utiliza en combinación con
dateTimeColumn .
|
Esto debe establecerse en un mínimo de
2 .
Ejemplo: establecer este parámetro en
5 mantiene todos los datos que tienen 5 días de antigüedad.
|
|
El número de filas de la tabla que se eliminarán en una iteración. Importante:
Esto no se utiliza para las tablas donde se definen claves extranjeras. |
Ejemplo: establecer este parámetro en
50 para la tabla QueueItems elimina 50 elementos de esa tabla en particular.
|
forceCascade |
Te permite ejecutar el script para las tablas donde se definen claves extranjeras. Importante:
El ejemplo ya usa
forceCascade para las tablas donde es necesario. Por lo tanto, no necesitas cambiarlo.
|
0 : no en cascada.
1 : en cascada. Por ejemplo, establecer esta opción para la tabla QueueItems procesará tanto las tablas QueueItemEvents como las tablas QueueItemComments .
|
shouldArchive |
Te permite elegir si quieres archivar los datos. |
0 : no archivar.
1 : archivar.
|
Función | Script SQL | secuencia de comandos de powershell |
---|---|---|
XML de limpieza |
Ambos utilizan la lógica descrita en la sección Programar la limpieza. | |
Registro de ejecución |
Ambos crean una tabla
dbo.__CleanupLogs para almacenar los registros de la ejecución.
Puedes consultar los registros de una ejecución utilizando
SELECT * FROM dbo.__CleanupLog WHERE ExecutionId = '<execution_id>' ORDER BY Id .
Puedes comprobar si una ejecución contenía errores utilizando
SELECT * FROM dbo.__CleanupLog WHERE ExecutionId = '<execution_id>' AND IsError = 1 .
El parámetro
ExecutionId se genera con cada ejecución de cualquiera de estos scripts.
| |
Tabla de archivo |
La tabla de archivo no contiene ningún índice, claves extranjeras ni columnas de identidad. Las columnas de tipo de marca de tiempo no se archivan. | |
Nombre de la tabla de archivo |
Los nombres siguen la misma lógica e incluyen una cadena basada en el esquema de la tabla. | |
Lote de ID que se archivarán/eliminarán |
Almacenado en una tabla temporal. |
Almacenado en la tabla
dbo.__CleanupIds .
|
Transaction |
Se realiza una sola transacción para cada lote, durante la cual los datos se archivan y se eliminan. El tamaño del lote, es decir, el número de filas de la tabla que se procesarán, se define en el archivo XML, a través del parámetro
batchSize .
|
SqlBulkCopy se utiliza para copiar los datos. No existe una transacción única realizada para el archivo y la eliminación. |