- Información general
- Requisitos
- Preinstalación
- Preparar la instalación
- Descarga de los paquetes de instalación
- Configurar el registro compatible con OCI
- Conceder permisos de instalación
- Instalar y configurar la malla de servicio
- Instalar y configurar la herramienta GitOps
- Instalar el operador de secretos externos en Kubernetes
- Aplicar configuraciones varias
- Ejecutar uipathctl
- Instalación
- Después de la instalación
- Migración y actualización
- Supervisión y alertas
- Administración de clústeres
- Configuración específica del producto
- Configuración avanzada de Orchestrator
- Configurar parámetros de Orchestrator
- Configurar AppSettings
- Configurar el tamaño máximo de la solicitud
- Anular la configuración de almacenamiento a nivel de clúster
- Configurar NLog
- Guardar los registros del robot en Elasticsearch
- Configurar almacenes de credenciales
- Configurar clave de cifrado por tenant
- Limpiar la base de datos de Orchestrator
- Omitir la instalación de la biblioteca de host
- Ai Trust Layer
- Solución de problemas
- Error de aprovisionamiento de AI Center después de actualizar a 2023.10 o posterior
- Volúmenes de Insights creados en dos zonas diferentes después de la migración
- La actualización falla debido a los tamaños de PVC de Insights anulados
- Los componentes de copia de seguridad de Velero permanecen después de actualizar en AKS desde Automation Suite 2024.10.x
- La configuración de la copia de seguridad no funciona debido a un fallo en la conexión a Azure Government
- Los pods en el espacio de nombres de UiPath se atascaban al habilitar los taints de nodo personalizados
- No se puede iniciar Automation Hub y Apps con la configuración de proxy
- La copia de seguridad de Velero falla con el error de validación fallida
- Solución de problemas de secretos externos
- Solución de problemas de Temporal como servicio
- Los pods de AI Center y Document Understanding no se inician con la verificación del certificado TLS habilitada
- Errores de validación del certificado TLS
- Fluentd no exporta registros en entornos IPv6
- Studio Desktop no puede cargar conectores y actividades de Integration Service
- Mitigación manual de Política de red de ArgoCD (GHSA-47m3-95c7-g2g8)
- Configurar solicitudes de recursos y límites para cargas de trabajo creadas por uipathctl
Configurar NLog
Configura el registro de NLog para Orchestrator en Automation Suite en EKS/AKS.
Agregar extensiones NLog
Orchestrator carga las siguientes extensiones de forma predeterminada, por lo que no es necesario incluirlas en la carpeta o en la configuración de NLog:
NLog.Targets.ElasticSearchUiPath.Orchestrator.Logs.ElasticsearchMicrosoft.ApplicationInsights.NLogTargetNLog.Extensions.AzureEventHub
Solo se pueden usar extensiones compatibles con Linux en esta configuración, así que asegúrate de que la extensión NLog elegida cumple esta regla.
Para que la extensión esté disponible para su uso, debe cargarse en el almacenamiento del clúster. La herramienta de línea de comandos uipathctl puede hacerlo a través del comando uipathctl config orchestrator upload :
uipathctl config orchestrator upload --nlog-extensions-directory /path/to/extensions/directory
uipathctl config orchestrator upload --nlog-extensions-directory /path/to/extensions/directory
Si utilizas una configuración de almacenamiento externo en el nivel del clúster, debes indicarlo incluyendo el parámetro --is-external-storage.
Configuración avanzada de NLog
Crear la configuración avanzada de NLog
-
Cree el archivo
nlog.config.jsonque contiene las secciones las extensiones, los objetivos y las reglas estándar.La sección de extensiones es una matriz de elementos que especifica los ensamblados de extensión, a través de
assemblyFile, y la ruta del ensamblado.Si se cargaron complementos NLog personalizados (como se describe en la sección Añadir extensiones NLog ), se hará referencia a ellos en la sección
extensions. -
Configura el destino y la regla en el archivo
nlog.config.json. -
Aplica el archivo
nlog.config.jsonutilizando la herramienta de línea de comandosuipathctl:uipathctl config orchestrator update-config --nlog-config nlog.config.jsonuipathctl config orchestrator update-config --nlog-config nlog.config.jsonImportante:Esta acción sobrescribe la configuración de NLog personalizada existente. Puedes comprobar cuál es la configuración existente utilizando este comando:
uipathctl config orchestrator get-config --nlog-configuipathctl config orchestrator get-config --nlog-configArchivo
nlog.config.jsonde ejemplo que escribe registros en Azure Blob:{ "NLog": { "extensions": [ { "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" } ], "targets": { "azureBlob": { "type": "AzureBlobStorage", "connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net", "container": "orchestratorlogs", "blobName": "${date:format=yyyy-MM-dd hh.mm}", "layout": { "type": "JsonLayout", "includeAllProperties": true, "Attributes": [ {"name": "ts","layout": "${longdate}"}, {"name": "level","layout": "${level:upperCase=true}"}, {"name": "logger","layout": "${logger}"}, {"name": "message","layout": "${message}"}, {"name": "exception","layout": "${onexception:${ui-pretty-exception}}"} ] } } }, "rules": { "70_Final": { "writeTo": "stdout,azureBlob" } } } }{ "NLog": { "extensions": [ { "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" } ], "targets": { "azureBlob": { "type": "AzureBlobStorage", "connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net", "container": "orchestratorlogs", "blobName": "${date:format=yyyy-MM-dd hh.mm}", "layout": { "type": "JsonLayout", "includeAllProperties": true, "Attributes": [ {"name": "ts","layout": "${longdate}"}, {"name": "level","layout": "${level:upperCase=true}"}, {"name": "logger","layout": "${logger}"}, {"name": "message","layout": "${message}"}, {"name": "exception","layout": "${onexception:${ui-pretty-exception}}"} ] } } }, "rules": { "70_Final": { "writeTo": "stdout,azureBlob" } } } }Archivo
nlog.config.jsonde ejemplo que escribe registros de UiPath Robots en Splunk:{ "Nlog": { "extensions": [ { "assemblyFile": "NLog.Targets.Splunk.dll" }, { "assembly": "UiPath.Orchestrator.Logs.DatabaseBulk.NLogTarget" } ], "targets": { "Splunk": { "type": "AsyncWrapper", "overflowAction": "Discard", "queueLimit": 10000, "batchSize": 200, "timeToSleepBetweenBatches": 1, "target": { "type": "SplunkHttpEventCollector", "serverUrl": "http://splunk.example.com", "token": "splunk-token", "channel": "", "source": "${logger}", "sourceType": "_json", "index": "uipath", "retriesOnError": "0", "batchSizeBytes": "0", "batchSizeCount": "0", "includeEventProperties": "true", "includePositionalParameters": "true", "includeMdlc": "true", "maxConnectionsPerServer": "10", "ignoreSslErrors": "false", "useProxy": "false", "proxyUrl": "", "proxyPassword": "" } } }, "rules": { "20_Robot_Primary": { "writeTo": "Splunk,database,insightsRobotLogs" } } } }{ "Nlog": { "extensions": [ { "assemblyFile": "NLog.Targets.Splunk.dll" }, { "assembly": "UiPath.Orchestrator.Logs.DatabaseBulk.NLogTarget" } ], "targets": { "Splunk": { "type": "AsyncWrapper", "overflowAction": "Discard", "queueLimit": 10000, "batchSize": 200, "timeToSleepBetweenBatches": 1, "target": { "type": "SplunkHttpEventCollector", "serverUrl": "http://splunk.example.com", "token": "splunk-token", "channel": "", "source": "${logger}", "sourceType": "_json", "index": "uipath", "retriesOnError": "0", "batchSizeBytes": "0", "batchSizeCount": "0", "includeEventProperties": "true", "includePositionalParameters": "true", "includeMdlc": "true", "maxConnectionsPerServer": "10", "ignoreSslErrors": "false", "useProxy": "false", "proxyUrl": "", "proxyPassword": "" } } }, "rules": { "20_Robot_Primary": { "writeTo": "Splunk,database,insightsRobotLogs" } } } }
Dimensionar el queueLimitde Slunk
La cola absorbe la acumulación de Splunk durante las ralentizaciones. Ajusta el tamaño a tu rendimiento máximo, no a tu promedio:
queueLimit = peak_logs_per_sec × acceptable_backlog_seconds
queueLimit = peak_logs_per_sec × acceptable_backlog_seconds
| Implementación | Tasa máxima | Tolerancia a la acumulación | Límite de cola |
|---|---|---|---|
| Pequeño | ~10 registros/s | 60 s | 600 |
| Medio | ~35 registros/s | 300 s | 10000 |
| Grande | ~200 registros/s | 60 s | 12000 |
Mejores prácticas para objetivos de Splunk
- Usa
overflowAction: Discardpara objetivos secundarios. Los destinos de registro externos como Splunk suelen ser destinos de análisis u observabilidad, la base de datos de Orchestrator es la fuente de la verdad. Si el destino externo no puede seguir el ritmo, es preferible soltar su copia que bloquear los hilos de la aplicación. - Reserve
overflowAction: Blockpara destinos en los que la pérdida no sea aceptable.Blockevita la pérdida de eventos, pero no evita el bloqueo. Cuando la cola se llena bajo carga sostenida, vuelve al mismo comportamiento de bloqueo de hilos queBufferingWrapper. Úsalo solo cuando el destino externo sea un requisito de cumplimiento o de auditoría, y dimensionaqueueLimitgenerosamente para que coincida con el rendimiento máximo. - Mantén siempre
databaseen la reglawriteTojunto con cualquier destino externo. Esto garantiza que ningún registro del robot se pierda de forma permanente, independientemente de la disponibilidad o el rendimiento del destino externo. - Lavar antes de apagar.
AsyncWrappermantiene eventos en una cola en memoria. Asegúrate de que los destinos de NLog se vacíen en un apagado ordenado para evitar perder la cola de la cola cuando finaliza el proceso.
Actualizar la configuración avanzada de NLog
Los comandos uipathctl necesarios para actualizar la configuración de NLog son:
uipathctl config orchestrator get-config --nlog-config: exporta la configuración actual en un archivo json de par clave-valor, listo para editar.uipathctl config orchestrator update-config --nlog-config nlog.config.json: actualiza la configuración con tus cambios.
-
Exporta la configuración de NLog personalizada actual a un archivo json utilizando este comando:
uipathctl config orchestrator get-config --nlog-config > nlog.config.jsonuipathctl config orchestrator get-config --nlog-config > nlog.config.json -
Edita el archivo
nlog.config.jsonexportado según sea necesario. Puedes añadir, eliminar o cambiar cualquiera de sus ajustes.Nota:Debes exportar el archivo de nuevo cada vez que necesites realizar un cambio, ya que la actualización sobrescribe toda la configuración de NLog.
-
Actualiza la configuración de NLog utilizando este comando:
uipathctl config orchestrator update-config --nlog-config nlog.config.json orchestrator config updateduipathctl config orchestrator update-config --nlog-config nlog.config.json orchestrator config updated