Orchestrator
2020.10
False
Imagen de fondo del banner
Sin asistencia
Guía del usuario de Orchestrator
Última actualización 12 de dic. de 2023

Registros de Orchestrator

Registros de diagnóstico de Orchestrator

Son registros de diagnóstico generados por UiPath Orchestrator sobre su comportamiento.

Habilitar los registros de diagnóstico de UiPath Orchestrator

Los registros de diagnóstico de UiPath Orchestrator se activan una vez que UiPath Orchestrator se ha instalado correctamente. Dependen de la infraestructura NLog y su configuración se encuentra en el archivo UiPath.Orchestrator.dll.config, con la etiqueta <nlog>.
Nota: Ten en cuenta que tanto las excepciones del servidor de Orchestrator como el seguimiento de la pila en la ventana Detalles del trabajo se registran en inglés, independientemente del idioma elegido por el usuario.

Objetivos de los registros de diagnóstico de UiPath Orchestrator

Todos los registros de la aplicación se registran en el Visor de eventos con el nivel mínimo de registro de Información. Esto se especifica mediante las siguientes líneas en el archivo UiPath.Orchestrator.dll.config:

<target xsi:type="EventLog" name="eventLog" layout="${message}" source="Orchestrator" log="Application" />

<logger name="*" minlevel="Info" writeTo="eventLog" />

Los registros generados por el Planificador de trabajos tienen un objetivo y un registrador separados:

<target xsi:type="EventLog" name="eventLogQuartz" layout="[Quartz] ${message} ${onexception: ${exception:format=tostring}}" source="Orchestrator" log="Application" />

<logger name="Orchestrator.Quartz.*" minlevel="Info" writeTo="eventLogQuartz" />

Ejemplo:

  • Could not create Quartz Job

Los registros generados por negocio y otras reglas de validación tienen un objetivo y un registrador separados:

<target xsi:type="EventLog" name="businessExceptionEventLog" layout="${message}${onexception:${exception:format=tostring:maxInnerExceptionLevel=5:innerFormat=tostring}}" source="Orchestrator.BusinessException" log="Application" />

<logger name="BusinessException.*" minlevel="Info" writeTo="businessExceptionEventLog" final="true" />

Este tipo de mensajes de error se registran en el Visor de eventos en los siguientes casos:

  • problemas de validación como:

    • Invalid username/email address or password.
    • The machine name DOC is already taken
  • conflictos empresariales como:

    • License expired!
    • The floating robot's session is already active on machine ROQADOCS06!
    • The robots already have pending jobs for this Process.
  • no se han encontrado excepciones como:

    • QueueName1 does not exist.

Registros de ejecución de Orchestrator

Los registros de ejecución de Orchestrator los envían los Robots conectados a él y se muestran en la sección Registros de las páginas Trabajos o Robots. La aplicación recibe los datos de los Robots, añade sus propios parámetros (TenantID, FolderID), y envía los mensajes a diferentes destinos, tal y como se especificará en la sección<nlog> del archivo UiPath.Orchestrator.dll.config.

Objetivos de los registros de ejecución de Orchestrator

Por defecto, todos los registros del Robot se envían a la tabla Registros de la base de datos predeterminada de Orchestrator, donde UiPath Orchestrator almacena otra información, pero el archivo UiPath.Orchestrator.dll.config puede configurarse para enviarlos también a una base de datos diferente.

La página Registros muestra la información de la tabla de registros de la Base de datos por defecto. Por lo tanto, si esta sección no existe, o los registros se guardan en una base de datos diferente, la página está vacía. Todos los parámetros deben estar de acuerdo con el esquema de la tabla, que tiene este aspecto:

<target xsi:type="Database" name="database" connectionString="${ui-connection-strings:item=Default}" keepConnection="true">
 <commandText>
  insert into dbo.Logs (OrganizationUnitId, TenantId, TimeStamp, Level, WindowsIdentity, ProcessName, JobKey, Message, RawMessage)
  values (@organizationUnitId, @tenantId, @timeStamp, @level, @windowsIdentity, @processName, @jobId, @message, @rawMessage)
 </commandText>
  <parameter name="@organizationUnitId" layout="${event-properties:item=organizationUnitId}" />
  <parameter name="@tenantId" layout="${event-properties:item=tenantId}" />
  <parameter name="@timeStamp" layout="${date}" />
  <parameter name="@level" layout="${event-properties:item=levelOrdinal}" />
  <parameter name="@windowsIdentity" layout="${event-properties:item=windowsIdentity}" />
  <parameter name="@processName" layout="${event-properties:item=processName}" />
  <parameter name="@jobId" layout="${event-properties:item=jobId}" />
  <parameter name="@message" layout="${message}" />
  <parameter name="@rawMessage" layout="${event-properties:item=rawMessage}" />
</target>
 <logger name="Robot.*" writeTo="database" final="true" /><target xsi:type="Database" name="database" connectionString="${ui-connection-strings:item=Default}" keepConnection="true">
 <commandText>
  insert into dbo.Logs (OrganizationUnitId, TenantId, TimeStamp, Level, WindowsIdentity, ProcessName, JobKey, Message, RawMessage)
  values (@organizationUnitId, @tenantId, @timeStamp, @level, @windowsIdentity, @processName, @jobId, @message, @rawMessage)
 </commandText>
  <parameter name="@organizationUnitId" layout="${event-properties:item=organizationUnitId}" />
  <parameter name="@tenantId" layout="${event-properties:item=tenantId}" />
  <parameter name="@timeStamp" layout="${date}" />
  <parameter name="@level" layout="${event-properties:item=levelOrdinal}" />
  <parameter name="@windowsIdentity" layout="${event-properties:item=windowsIdentity}" />
  <parameter name="@processName" layout="${event-properties:item=processName}" />
  <parameter name="@jobId" layout="${event-properties:item=jobId}" />
  <parameter name="@message" layout="${message}" />
  <parameter name="@rawMessage" layout="${event-properties:item=rawMessage}" />
</target>
 <logger name="Robot.*" writeTo="database" final="true" />
Se pueden añadir otros objetivos a los registros configurando el archivo UiPath.Orchestrator.dll.config. Aquí encontrarás una de objetivos disponibles.

Servidor Elasticsearch

By default, there’s an Elasticsearch target configured from the installation script. The index is different for each tenant, but this can be configured from the specified target in the <nlog> section:
<target name="robotElasticBuffer" xsi:type="BufferingWrapper" flushTimeout="5000">
<target xsi:type="ElasticSearch" name="robotElastic" uri="uritoelasticsearchnode" index="${event-properties:item=indexName}-${date:format=yyyy.MM}" documentType="logEvent" includeAllProperties="true" layout="${message}" excludedProperties="agentSessionId,tenantId,organizationId,indexName" />
</target>
</target><target name="robotElasticBuffer" xsi:type="BufferingWrapper" flushTimeout="5000">
<target xsi:type="ElasticSearch" name="robotElastic" uri="uritoelasticsearchnode" index="${event-properties:item=indexName}-${date:format=yyyy.MM}" documentType="logEvent" includeAllProperties="true" layout="${message}" excludedProperties="agentSessionId,tenantId,organizationId,indexName" />
</target>
</target>

Autenticación de X-PACK

Orchestrator es compatible con X-PACK para la autenticación de Elasticsearch. Para activar esto, debes añadir la línea requireAuth="true" username="XPACKuser" password="p@$$w0rd" en la siguiente sección del archivo UiPath.Orchestrator.dll.config:
<target name="robotElasticBuffer" xsi:type="BufferingWrapper" flushTimeout="5000">
        <target xsi:type="ElasticSearch" name="robotElastic" uri="http://elk-test.com" index="${event-properties:item=indexName}-${date:format=yyyy.MM}" documentType="logEvent" includeAllProperties="true" layout="${message}" excludedProperties="agentSessionId,tenantId,indexName" />
</target><target name="robotElasticBuffer" xsi:type="BufferingWrapper" flushTimeout="5000">
        <target xsi:type="ElasticSearch" name="robotElastic" uri="http://elk-test.com" index="${event-properties:item=indexName}-${date:format=yyyy.MM}" documentType="logEvent" includeAllProperties="true" layout="${message}" excludedProperties="agentSessionId,tenantId,indexName" />
</target>

La sección debería mostrarse así:

<target name="serverElasticBuffer" xsi:type="BufferingWrapper" flushTimeout="5000">
<target xsi:type="ElasticSearch" name="serverElastic" requireAuth="true" username="XPACKuser" password="p@$$w0rd" uri="" index="serverdiagnostics-${date:format=yyyy.MM}" documentType="logEvent" includeAllProperties="true" layout="${machinename} ${message}" />
</target><target name="serverElasticBuffer" xsi:type="BufferingWrapper" flushTimeout="5000">
<target xsi:type="ElasticSearch" name="serverElastic" requireAuth="true" username="XPACKuser" password="p@$$w0rd" uri="" index="serverdiagnostics-${date:format=yyyy.MM}" documentType="logEvent" includeAllProperties="true" layout="${machinename} ${message}" />
</target>

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.