概要
本記事では UiPath Orchestrator の導入時または運用時において起こり得る様々な問題を効果的かつ効率的にトラブルシューティングするための手法について解説します。
問題解決には弊社カスタマーサポートへのお問い合わせが必要となるケースがありますが、原因分析に必要となるデータの収集方法についても説明します。このガイドに従うことによって問題解決までの時間短縮が可能になることが期待されます。
なお本記事では主にOrchestratorに関するトラブルシューティングを扱っており、UiPath Robotによるワークフロー実行エラーに関するトラブルシューティングやその他の事項について詳細は取り扱いません。
Orchestrator問題タイプ
Orchestratorで発生する問題を下記のように大別し、それぞれのケースでどのような観点で原因調査を行うべきか、またどのような情報を収集すべきかについて説明します。
1.Orchestratorインストール時のエラー2.Orchestrator初期実行時のエラー
3.Orchestrator運用時のエラー
4.Orchestratorバージョンアップ時のエラー
1. インストール時のエラー
Orchestratorインストールは最新の「Orchestrator導入ステップバイステップガイド」の手順に従って導入していただくことを推奨しております。
インストール時にエラーが発生する場合には次の情報を取得してください。
・インストールログ
自動的には生成されないため、管理者権限コマンドプロンプト上で次のコマンドによりOrchestratorインストーラーを実行し、ログを取得してください。
msiexec /i UiPathOrchestrator.msi /l*vx UiPathInstall.log
- ・インストールガイドと異なる手順を実行した場合には、その手順をご説明ください。
2. 初期実行時のエラー
Orchestratorインストールが正常終了したにも関わらず、「Orchestratorログイン画面が正常に表示されない」など、Orchestratorが正常に機能しないケースがあります。
その場合には、次の点をご確認ください。
・前提条件の役割と機能が正常にインストールされているか?
「Orchestrator 導入ステップバイステップガイド」p8~9で列挙されている役割と機能が有効化されているかサーバーマネージャでご確認ください。
・Orchestratorアプリケーションプールおよびサイトが正常に起動しているか?
・IISマネージャ > アプリケーションプール にて "UiPath Orchestrator" が正常起動しているか?v2020.4 以降では "Identity" および "Webhooks" も正常起動していることを確認します。
・IISマネージャ > サイト にて "UiPath Orchestrator" が正常起動しているか?
・サーバー証明書が正常にバインドされているか?
IISマネージャ > サイト > "UiPath Orchestrator" > [操作] バインドをクリックし、httpsのサイトバインド編集画面にてSSL証明書として適切な証明書が選択されているか?
・OrchestratorからSQL ServerやRedis/HAAサーバー(冗長構成の場合)に正常に接続できるか?
・SQL Serverの接続は次の手順でご確認ください。
・Orchestrator上にてODBCデータソース(odbcad32.exe)を起動し、システムDSNを追加します。
・データソースとしてSQL Serverを選択し、適切な名前を入力、SQL Serverのホスト名を指定します。
・次にOrchestratorで設定されているものと同じSQL Server認証情報を入力し、既定のデータベースとして "UiPath" を選択します。
・[データソースのテスト] をクリックし、「テストは無事に完了しました」と表示されることを確認します。
・冗長構成の場合には次の手順でOrchestratorからRedis/HAAサーバーへの接続を確認します。
・Redis Windows版のダウンロードサイトからzipファイルをダウンロードし、Orchestratorのローカルディレクトリに解凍します。
・コマンドプロンプトで解凍ディレクトリに移動し、次のコマンドを実行し、Redis/HAAサーバーからの応答を確認します。
redis-cli -h <redis-ip> -a <redis-password> info
・Orchestrator v2020.4 以降でブラウザーでログイン画面が正常に表示されない場合には、 https://<orchestrator-url>/identity にアクセスできるか確認します。アクセスできない場合にはOrchestratorに内包されている Identity Server が正常に動作しておりません。Identity Server のトラブルシューティングについて次のサイトもご参照ください: https://docs.uipath.com/installation-and-upgrade/lang-ja/docs/identity-server-troubleshooting
上記の手順でも解決しない場合、あるいは上記のケースに当てはまらない場合には、次の情報を取得します。
・問題発生時の日時
・問題の現象および再現手順
・エラーメッセージのスクリーンショット
・イベントログ
・サイト設定ファイル
・IISログ
詳細については次の「運用時のエラー」セクションをご参照ください。
3. 運用時のエラー
Orchestrator初期導入時には正常稼働していたものの、運用フェーズに入った後にエラーが発生する場合には、次の情報を整理することを推奨します。
・最近実施したシステム変更
OSパッチ適用など、システム変更によって思わぬ副作用が引き起こされ今まで正常稼働していたシステムの挙動が変わる場合があります。
いつ・どのシステムに・どのような変更を加えたか、ITILにおける変更管理を行うことは、システム安定化を維持する上で極めて重要です。
もし直近で何らかのシステム変更を行った場合には、それによって副作用が生じていないかの調査を行います。
・問題発生時の日時
問題発生時には可能な限り正確な時刻を記録することは非常に重要です。
原因調査には関連するイベントログやIISログなどを参照しますが、エラー発生時刻の前後を最初に確認することになります。
・問題の現象および再現手順
問題に再現性がある場合には、再現手順を共有することはUiPath製品開発チームが原因調査を行う上で非常に有用となります。
再現性がない場合でも、どのような手順でどのような現象が発生したか詳細な情報がありますと原因調査の見当が付けやすくなります。
・エラーメッセージのスクリーンショット
どのアプリケーションまたはシステムがどの画面でどのようなメッセージを表示したかはエラーの現象を知る上で重要な手がかりとなります。
・アプリケーションイベントログ
Orchestratorの内部的なメッセージはアプリケーションイベントログに記録されます。主に下記のイベントログソースを確認します。
・Orchestrator.BusinessException
・Orchestrator
・ASP.NET 4.0.x
・サイト設定ファイル
・Web.config など、詳細はAppendix参照
・IISログ
・IISログにはWebブラウザーおよびロボットからのすべてのHTTPリクエストが記録されています。
・IISログの取得方法はAppendix 3. 「IISログ取得方法」をご参照ください。
・Log Parserを使用することにより高度な分析が可能ですが、簡易的にExcelで分析することも可能です。詳細な手順はAppendix 4. 「IISログをExcelで分析する方法」をご参照ください。
・HTTPERRログ
・WebブラウザーやロボットからのHTTPリクエストが途中でキャンセルした場合など、リクエストの処理が完了しなかった場合には、下記ディレクトリに記録されます。
C:\Windows\System32\LogFiles\HTTPERR\*.log
・SQL Serverログ
・データ使用率確認
・自動拡張確認
・断片化率確認
4. Orchestratorバージョンアップ
Orchestratorバージョンアップは最新の「UiPath Orchestrator Version Up Guide」の手順に従って実施していただくことを推奨しております。
バージョンアップ時にエラーが発生する場合には次の情報を取得してください。
- ・エラーメッセージのスクリーンショット
- ・バージョンアップ前後のOrchestratorバージョン
- ・バージョンアップ前のconfig
- ・インストールログ
自動的には生成されないため、管理者権限コマンドプロンプト上で次のコマンドによりOrchestratorインストーラーを実行し、ログを取得してください。
msiexec /i UiPathOrchestrator.msi /l*vx UiPathInstall.log
カスタマーサポート問い合わせ
お客様側で問題解決できない場合には、有効なライセンスをお持ちのお客様はカスタマーサポートサイトよりお問い合わせが可能です。
下記テンプレートを使用し、情報収集した上でOrchestrator関連のお問い合わせいただけますと問題解決までの時間を短縮することが可能になります。
問い合わせテンプレート
【問題発生時の日時】
(例) 2020/01/14 09:10:00 頃
【問題の現象および再現手順】
【Orchestrator構成】
(例)
- Orchestrator 1台
- SQL Server 1台
- Elasticsearch 1台
【添付データ】
- エラーメッセージのスクリーンショット
- イベントログ
- IISログ
- Web.config など
Appendix
Orchestratorのトラブルシューティングに必要となる各種情報の取得手順などについて説明します。
1.サイト設定ファイル取得方法
・IIS上のOrchestratorサイト全般の設定が Orchestratorインストールディレクトリ (既定値では C:\Program Files (x86)\UiPath\Orchestrator) 直下に配置されていますので、Windows エクスプローラーを使用して対象ファイルをコピーします。
・v2020.4 以前では Web.config
・v2020.10 以降では Web.config に加えて UiPath.Orchestrator.dll.config も取得します。
・Web.config (v2020.10 以降では UiPath.Orchestrator.dll.config) にはSQL Server接続のパスワードなどが含まれておりますので、送付前に手動で下記の情報をマスクしていただくことを推奨いたします。
・SQL Server認証を行っている場合、接続ユーザー名とパスワード
<connectionStrings>
<add name="Default" providerName="System.Data.SqlClient" connectionString="Data Source=.;Initial Catalog=UiPath;User ID=********;Password=******" />
</connectionStrings>
・RedisまたはHigh-Availability Add-On接続を行っている場合、接続パスワード
<appSettings>
<add key="LoadBalancer.Redis.ConnectionString" value="redis-server:6379,password=******" />
</appSettings>
・v2020.4 以降では 次のファイルも取得します。このファイル内にも上記と同様にSQL ServerおよびRedis (High-Availability Add-On) の接続パスワードが含まれるためマスクしていただくことを推奨します。
・C:\Program Files (x86)\UiPath\Orchestrator\Identity\appsettings.Production.json
・C:\Program Files (x86)\UiPath\Orchestrator\Webhooks\appsettings.Production.json
2.イベントログ取得方法
・Orchestratorの内部的なメッセージはアプリケーションイベントログに記録されます。
・アプリケーションイベントログを取得するには次の手順を実行します。
・コマンドプロンプトで eventvwr を実行し、イベントビューアーを起動します。
・左ペインにて イベントビューアー(ローカル) > Windowsログ > Application を右クリックし、 すべてのイベントを名前をつけて保存 を選択します。
・*.evtx 形式でファイルを保存します。
3.IISログ取得方法
・OrchestratorサイトのIISログは既定値では C:\inetpub\logs\LogFiles\W3SVC2\*.log に格納されます。
・W3VC2 の最後の数字はサイトIDを表し、サイトの作成順序によっては別のIDが割り当てられるケースがあります。
・既定値では毎朝9時にローテーションされます。ファイル名は u_ex<yyMMdd>.log となるため、問題発生時前後のファイルを収集し、別ディレクトリにコピーします。
4.IISログをExcelで分析する方法
・IISログは既定値ではW3C形式で保存されますが、分析しやすくするためにExcel形式に変換する手順について説明します。(Excel 2016での手順となります)
・コピーされたIISログをエディタで開き、下記のヘッダー部分を削除します。#Fields 行 の "date time" 以降は残し、保存します。
#Software: Microsoft Internet Information Services 10.0
#Version: 1.0
#Date: <yyyy-MM-dd hh:mm:ss>
#Fields:
・Excelを起動し、[データ] リボンにて [テキストまたはCSVから] を選択、ファイル種類として [すべてのファイル (*.*)] を選択し、IISログを選択しインポートします。
・元のファイルの文字コードとして 65001: Unicode (UTF-8) 、区切り文字としてスペースを選択し、読み込みをクリックします。
・ExcelテーブルとしてIISログがインポートされることを確認します。
・各フィールドの意味については次のサイトをご参照ください: https://docs.microsoft.com/en-us/windows/win32/http/w3c-logging
・ログ内部のdateおよびtimeフィールドは既定値ではUTCタイムゾーンで記録されるため、日本時間は+9:00します。
・各処理が正常終了したかどうかは sc-status フィールド (HTTPステータスコード) を確認します。400番台、500番台が返されている場合には何らかの理由により処理が失敗した可能性があるため、同時刻のアプリケーションイベントログを合わせて確認します。
・time-taken フィールドは処理にかかった時間 (ミリ秒) が記録されます。パフォーマンス低下時には time-taken の値が大きくなる可能性があります。
・/signalr/* の処理はWebブラウザーまたはロボットがOrchestratorとWebSocket接続を確立および維持し、双方向の通信を行います。この接続は切断されると自動的に再接続され、IISログには time-taken が長時間の処理として記録されますが、WebSocket通信の特性上、異常ではありません。
5.Azure App Service でのログ取得
・Azure App Serviceを使用してOrchestratorを展開した場合には、診断ログを使用してWebサーバーログを有効化します。詳細は次のサイトをご参照ください: https://docs.microsoft.com/ja-jp/azure/app-service/troubleshoot-diagnostic-logs
・Webサーバーログは Kudu (高度なツール) を使用して D:\home\LogFiles\http 配下のログファイルを採取します。
・OrchestratorアプリケーションイベントログはWeb.config (v2020.10 以降では UiPath.Orchestrator.dll.config) を編集してログファイルへの出力を有効化します。詳細は 添付の手順書 をご参照ください。