Orchestrator
2020.10
falso
Imagem de fundo do banner
Fora do período de suporte
Guia do usuário do Orchestrator
Última atualização 12 de dez de 2023

Logs do Orchestrator

Logs de diagnóstico do Orchestrator

Esses são logs de diagnóstico gerados pelo UiPath Orchestrator sobre seu comportamento.

Habilitação de logs de diagnóstico do UiPath Orchestrator

Os logs de diagnóstico do UiPath Orchestrator ficam habilitados após a sua instalação com sucesso. Eles dependem da infraestrutura do NLog e sua configuração pode ser encontrada no arquivo UiPath.Orchestrator.dll.config, sob a tag <nlog>.
Observação: Lembre-se de que tanto as exceções do servidor do Orchestrator, quanto o rastreamento de pilha na janela Detalhes do trabalho, serão registrados em log em inglês, independentemente de qual idioma tenha sido escolhido pelo usuário.

Destinos dos logs de diagnóstico do UiPath Orchestrator

Todos os logs de aplicativos serão registrados no Visualizador de eventos no nível de registro em log mínimo de Informações. Isso é especificado pelas seguintes linhas no arquivo UiPath.Orchestrator.dll.config:

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

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

Os logs gerados pelo Agendador de trabalhos têm um destino e agente 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" />

Exemplo:

  • Could not create Quartz Job

Os logs gerados por negócios e outras regras de validação têm um destino e agente de log 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" />

Esses tipos de mensagens de erro serão registrados em log no Visualizador de eventos nos seguintes casos:

  • Problemas de validação, como:

    • Invalid username/email address or password.
    • The machine name DOC is already taken
  • conflitos de negócios, como:

    • License expired!
    • The floating robot's session is already active on machine ROQADOCS06!
    • The robots already have pending jobs for this Process.
  • exceções não encontradas, como:

    • QueueName1 does not exist.

Logs de execução do Orchestrator

Os Logs de Execução do Orchestrator são enviados pelos Robôs conectados a ele e são exibidos na seção Logs das páginas Trabalhos ou Robôs. O aplicativo recebe os dados dos Robôs, adiciona seus próprios parâmetros (TenantID, FolderID) e envia as mensagens para diferentes destinos, conforme especificado na <nlog>seção do arquivo UiPath.Orchestrator.dll.config.

Destinos dos logs de execução do Orchestrator

Por padrão, todos os logs de Robôs são enviados para a tabela Logs do banco de dados padrão do Orchestrator, no qual o UiPath Orchestrator armazena outras informações, mas o arquivo UiPath.Orchestrator.dll.config pode ser configurado para enviá-los a um banco de dados diferente.

A página Logs exibe informações da tabela Logs do Banco de dados padrão. Portanto, se essa seção não existir ou os logs forem salvos em um banco de dados diferente, a página ficará vazia. Todos os parâmetros devem estar de acordo com o esquema da tabela, que se parece com isso:

<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" />
Outros destinos podem ser adicionados aos logs, configurando o arquivo UiPath.Orchestrator.dll.config. Uma lista de destinos disponíveis pode ser encontrada aqui.

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>

Autenticação do X-PACK

O Orchestrator suporta a autenticação X-PACK do Elasticsearch. Para habilitá-la, você deve adicionar a linha requireAuth="true" username="XPACKuser" password="p@$$w0rd" na seguinte seção do arquivo 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>

A seção deve ser semelhante a isto:

<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?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.