Orchestrator
2020.10
False
Bannerhintergrundbild
Kein Support
Orchestrator-Anleitung
Letzte Aktualisierung 12. Dez. 2023

Orchestrator-Protokolle

Orchestrator-Diagnoseprotokolle

Dies sind Diagnoseprotokolle, die von UiPath Orchestrator in Bezug auf dessen Verhalten erzeugt werden.

Aktivierung der UiPath-Orchestrator-Diagnoseprotokolle

Die UiPath-Orchestrator-Diagnoseprotokolle sind aktiviert, sobald UiPath Orchestrator erfolgreich installiert ist. Sie hängen von der NLog-Infrastruktur ab, und deren Konfiguration findet sich in der Datei UiPath.Orchestrator.dll.config unter dem Tag <nlog>.
Hinweis: Bitte berücksichtigen Sie, dass beide Serverausnahmen von Orchestrator und der Stacktrace im Fenster Jobdetails (Job Details) unabhängig von der vom Benutzer gewählten Sprache in englischer Sprache angemeldet werden.

Ziele der UiPath-Orchestrator-Diagnoseprotokolle

Alle Anwendungsprotokolle werden in der Ereignisanzeige auf der untersten Protokollierungsstufe Information protokolliert. Dies wird in den folgenden Zeilen der Datei UiPath.Orchestrator.dll.config angegeben:

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

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

Protokolle, die vom Jobplaner erzeugt werden, haben ein separate Ziele und Protokollierungen:

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

Beispiel:

  • Could not create Quartz Job

Protokolle, die von Geschäfts- und anderen Validierungsregeln generiert werden, haben separate Ziele und Protokollierungen:

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

Diese Arten von Fehlermeldungen werden in den folgenden Fällen in der Ereignisanzeige protokolliert:

  • Validierungsprobleme wie zum Beispiel:

    • Invalid username/email address or password.
    • The machine name DOC is already taken
  • Geschäftskonflikte wie zum Beispiel:

    • License expired!
    • The floating robot's session is already active on machine ROQADOCS06!
    • The robots already have pending jobs for this Process.
  • Keine Ausnahmen gefunden wie:

    • QueueName1 does not exist.

Orchestrator-Ausführungsprotokolle

Die Orchestrator-Ausführungsprotokolle werden von den verbundenen Robotern gesendet und im Abschnitt Protokolle der Seiten Aufträge oder Roboter angezeigt. Die Anwendung empfängt die Daten von den Robotern, fügt eigene Parameter (TenantID, FolderID) hinzu und leitet die Nachrichten an verschiedene Ziele weiter, so wie im Abschnitt <nlog> der Datei UiPath.Orchestrator.dll.config angegeben.

Ziele der Orchestrator-Ausführungsprotokolle

Standardmäßig werden alle Roboterprotokolle in die Tabelle Protokolle (Logs) der Standarddatenbank von Orchestrator gesendet, in der UiPath Orchestrator andere Informationen speichert, aber die Datei UiPath.Orchestrator.dll.config kann so konfiguriert werden, dass sie auch in eine andere Datenbank geschickt werden.

Die Seite Protokolle (Logs) zeigt Informationen aus der Tabelle Protokolle (Logs) von der Standarddatenbank an. Wenn also dieser Abschnitt nicht existiert oder die Protokolle in einer anderen Datenbank gespeichert werden, ist die Seite leer. Alle Parameter sollten gemäß dem Tabellenschema, das wie folgt aussieht, vorliegen:

<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" />
Andere Ziele können zu den Protokollen durch Konfigurieren der Datei UiPath.Orchestrator.dll.config hinzugefügt werden. Eine Liste der verfügbaren Ziele finden Sie hier.

Elasticsearch-Server

Standardmäßig gibt es ein Elasticsearch-Ziel, das aus dem Installationsskript konfiguriert wurde. Der Index unterscheidet sich bei jedem Mandanten, aber die kann aus dem angegebenen Ziel im Abschnitt <nlog> konfiguriert werden:
<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>

X-PACK-Authentifizierung

Orchestrator unterstützt die X-PACK-Authentifizierung für ElasticSearch. Um diese zu aktivieren, müssen Sie die Zeile requireAuth="true" username="XPACKuser" password="p@$$w0rd" im folgenden Abschnitt der Datei UiPath.Orchestrator.dll.config hinzufügen:
<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>

Der Abschnitt sollte folgendermaßen aussehen:

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

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.