Orchestrator
2020.10
False
Image de fond de la bannière
Non pris en charge par l'assistance
Guide de l'utilisateur d'Orchestrator
Dernière mise à jour 12 déc. 2023

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

Les journaux d'exécution d'Orchestrator sont envoyés par les Robots (Robots) qui leur sont connectés et sont affichés dans la section Journaux (Logs) des pages Tâches (Jobs) ou Robots (Robots). L'application reçoit les données provenant des Robots, ajoute ses propres paramètres (IDTenant, IDUnitéOrganisation) et transmet les messages aux différentes cibles, comme indiqué dans la section <nlog> du fichier UiPath.Orchestrator.dll.config.

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 d'autres informations. Toutefois, le fichier UiPath.Orchestrator.dll.config peut également être configuré de manière à les envoyer vers une base de données différente.

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>

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 ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.