UiPath Documentation
orchestrator
2020.10
false
Guía del usuario de Orchestrator
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

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

The Orchestrator Execution Logs are sent by the Robots connected to it and are displayed in the Logs section of the Jobs or Robots pages. The application receives the data from the Robots, adds its own parameters (TenantID, FolderID), and forwards the messages to different targets, as specified in the <nlog> section from the UiPath.Orchestrator.dll.config file.

Objetivos de los registros de ejecución de Orchestrator

De forma predeterminada, todos los registros del robot se envían a la tabla Registros de la base de datos predeterminada de Orchestrator, donde UiPath Orchestrator también almacena otra información.

Sin embargo, puedes elegir enviar registros de robot a una base de datos diferente configurándola en la target xsi:type="Database" connectionString="..."sección del archivo UiPath.Orchestrator.dll.config.

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 destinos a los registros configurando el archivo UiPath.Orchestrator.dll.config . Puedes encontrar una lista de destinos disponibles aquí.

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>
Nota:

La opción de guardar los registros del robot en un servidor de Elasticsearch solo se hace efectiva una vez que lo configuras y no se aplica de forma retroactiva. Esto significa que ya no tendrás acceso a ningún registro que ya estuviera en la base de datos en el momento en que configuraste la opción, porque los registros solo se pueden recuperar y mostrar desde un único destino.

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>

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado