UiPath Documentation
orchestrator
2020.10
false
Guide de l'utilisateur d'Orchestrator
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Journaux d'Orchestrator

Journaux de diagnostic d'Orchestrator

Il s'agit de journaux de diagnostic générés par UiPath Orchestrator concernant son comportement.

Activation des journaux de diagnostic d'UiPath Orchestrator

Les journaux de diagnostic d'UiPath Orchestrator sont activés une fois UiPath Orchestrator correctement installé. Ils reposent sur l'infrastructure de NLog et leur configuration est disponible dans le fichier UiPath.Orchestrator.dll.config, sous la balise <nlog>.

Remarque :

Notez que les exceptions du serveur d'Orchestrator et la pile de trace dans la fenêtre Détails de la tâche (Job Details), sont consignées en anglais, quelle que soit la langue choisie par l'utilisateur.

Cibles des journaux de diagnostic d'UiPath Orchestrator

Tous les journaux des applications sont consignés dans l'Observateur d'événements au niveau de journalisation minimal Information. Ceci est indiqué par les lignes suivantes dans le fichier UiPath.Orchestrator.dll.config :

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

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

Les journaux générés par le Planificateur de tâches (Jobs Scheduler) ont une cible et un enregistreur distincts :

<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" />

Exemple :

  • Could not create Quartz Job

Les journaux générés par les règles métier et autres règles de validation ont une cible et un enregistreur distincts :

<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" />

Ces types de messages d’erreur sont consignés dans l'observateur d’événements dans les cas suivants :

  • les problèmes de validation tels que :
    • Invalid username/email address or password.
    • The machine name DOC is already taken
  • les conflits métier tels que :
    • License expired!
    • The floating robot's session is already active on machine ROQADOCS06!
    • The robots already have pending jobs for this Process.
  • les exceptions non trouvées telles que :
    • QueueName1 does not exist.

Journaux d'exécution d'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.

Cibles des journaux d'exécution d'Orchestrator

Par défaut, tous les journaux du Robot sont envoyés à la table Journaux (Logs) de la base de données par défaut d’Orchestrator, où UiPath Orchestrator enregistre également d’autres informations.

Vous pouvez cependant choisir d’envoyer les journaux du Robot vers une base de données différente en la configurant dans la section target xsi:type="Database" connectionString="..." du fichier UiPath.Orchestrator.dll.config.

La page Journaux (Logs) affiche les informations provenant de la table Journaux (Logs) de la Base de données par défaut (Default Database). Par conséquent, si cette section n'existe pas ou si les journaux sont enregistrés dans une base de données différente, la page est vide. Tous les paramètres doivent être conformes au schéma de table, qui ressemble à ceci :

<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" />

Vous pouvez ajouter d'autres cibles aux journaux en configurant le fichier UiPath.Orchestrator.dll.config . Vous trouverez une liste de cibles disponibles ici.

Serveur Elasticsearch

Par défaut, une cible Elasticsearch est configurée depuis le script d'installation. L'index est différent pour chaque tenant, mais vous pouvez le configurer à partir de la cible spécifiée dans la section <nlog> :

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

L’option permettant d’enregistrer les journaux du robot sur un serveur Elasticsearch ne devient efficace qu’une fois que vous l’avez configurée, et n’est pas appliquée rétroactivement. Cela signifie que vous n’aurez plus accès aux journaux qui se trouvaient déjà dans la base de données au moment où vous avez configuré l’option, car les journaux ne peuvent être récupérés et affichés qu’à partir d’une seule destination.

Authentification X-PACK

Orchestrator prend en charge l'authentification X-PACK pour Elasticsearch. Pour activer cette fonctionnalité, vous devez ajouter la ligne requireAuth="true" username="XPACKuser" password="p@$$w0rd" à la section suivante du fichier 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 section doit ressembler à ceci :

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

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour