- スタート アップ ガイド
- ベスト プラクティス
- テナント
- アクション
- フォルダー コンテキスト
- 自動化
- プロセス
- ジョブ
- トリガー
- ログ
- ログについて
- Orchestrator でログを管理する
- ログ レベル
- Orchestrator のログ
- Studio で機密情報を保護する
- 監視
- キュー
- アセット
- ストレージ バケット
- Orchestrator のテスト
- アクション カタログ
- プロファイル
- システム管理者
- Identity Server
- 認証
- その他の構成
- Integrations
- クラシック ロボット
- トラブルシューティング
Orchestrator 診断ログ
これらは、UiPath Orchestrator で生成された、その動作に関する診断ログです。
UiPath Orchestrator 診断ログの有効化
UiPath Orchestrator 診断ログは、UiPath Orchestrator が正常にインストールされると有効化されます。この診断ログは NLog インフラストラクチャーに依存し、その構成は UiPath.Orchestrator.dll.config ファイルの <nlog> タグ下で確認することができます。
ユーザーがどの言語を選択したかに関わらず、Orchestrator とスタック トレースからのサーバー例外は両方とも [ジョブの詳細] ウィンドウに英語で表示されます。
UiPath Orchestrator 診断ログのターゲット
すべてのアプリケーション ログは、[Information] という最小のログ レベルでイベント ビューアーに記録されます。これは、UiPath.Orchestrator.dll.config ファイル内の次の行で指定します。
<target xsi:type="EventLog" name="eventLog" layout="${message}" source="Orchestrator" log="Application" />
<logger name="*" minlevel="Info" writeTo="eventLog" />
ジョブ スケジューラにより生成されたログには、別のターゲットとロガーが含まれています。
<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" />
例:
Could not create Quartz Job
ビジネスおよびその他の検証ルールにより生成されたログには、別のターゲットとロガーが含まれています。
<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" />
これらの種類のエラー メッセージは、次のような場合にイベント ビューアーに記録されます。
- 検証に関する問題:
Invalid username/email address or password.The machine name DOC is already taken
- ビジネスコンフリクト:
License expired!The floating robot's session is already active on machine ROQADOCS06!The robots already have pending jobs for this Process.
- NotFound 例外:
QueueName1 does not exist.
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.
Orchestrator 実行ログの対象
既定では、ロボットのすべてのログは既定の Orchestrator データベースの [ログ] 表に送信されます。ここには UiPath Orchestrator の他の情報も保存されます。
ただし、ロボット ログを別のデータベースに送信することもできます。その場合は、UiPath.Orchestrator.dll.config ファイルの target xsi:type="Database" connectionString="..." セクションでデータベースを構成します。
[ログ] ページには、既定データベースの [ログ] 表からの情報が表示されます。したがって、このセクションが存在しない場合、またはログが別のデータベースに保存されている場合は、ページは空となります。すべてのパラメーターは、次のようにテーブル スキーマに準拠している必要があります。
<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" />
UiPath.Orchestrator.dll.config ファイルを設定することで、他のターゲットをログに追加できます。利用可能なターゲットのリストはこちらをご覧ください。
Elasticsearch サーバー
既定では、インストールスクリプトから構成された Elasticsearch ターゲットが存在します。インデックスはテナントごとに異なりますが、<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>
ロボット ログを Elasticsearch サーバーに保存するオプションは、オプションを構成した後にのみ有効となり、過去にさかのぼっては適用されません。つまり、オプションの構成時にデータベースにすでに存在していたログにはアクセスできなくなります。ログを取得および表示できるのは 1 つの保存先のみからであるためです。
X-PACK 認証
Orchestrator は Elasticsearch 用に X-PACK 認証をサポートします。これを有効化するには、UiPath.Orchestrator.dll.config ファイルの次のセクションに requireAuth="true" username="XPACKuser" password="p@$$w0rd" 行を追加する必要があります:
<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>
このセクションは次のようになるはずです。
<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>