- 概要
- 要件
- デプロイ テンプレート
- 手動: インストールを準備する
- 手動: インストールを準備する
- 手順 2: オフライン インストール用に OCI 準拠レジストリを設定する
- 手順 3: 外部 ObjectStore を構成する
- 手順 4: High Availability Add-on を構成する
- 手順 5: SQL データベースを構成する
- 手順 7: DNS を構成する
- 手順 8: ディスクを構成する
- 手順 9: カーネルと OS レベルの設定を構成する
- 手順 10: ノード ポートを構成する
- 手順 11: その他の設定を適用する
- 手順 12: 必要な RPM パッケージを検証してインストールする
- 手順 13: cluster_config.json を生成する
- Cluster_config.json のサンプル
- 全般的な構成
- プロファイル構成
- 証明書の設定
- データベースの構成
- 外部 ObjectStore の構成
- 署名済み URL の構成
- ArgoCD の構成
- Kerberos 認証の構成
- 外部の OCI 準拠レジストリの設定
- Disaster Recovery - アクティブ/パッシブおよびアクティブ/アクティブの構成
- High Availability Add-on の構成
- Orchestrator 固有の設定
- Insights 固有の構成
- Process Mining 固有の構成
- Document Understanding 固有の構成
- Automation Suite ロボット固有の構成
- 監視の構成
- 任意: プロキシ サーバーを構成する
- 任意: マルチノードの HA 対応の運用クラスターにおけるゾーン障害に対する復元設定を有効化する
- 任意: カスタムの Resolv.con を渡す
- 任意: フォールト トレランスを向上させる
- GPU がサポートされた専用のエージェント ノードを追加する
- Automation Suite ロボット専用のエージェント ノードを追加する
- 手順 15: オフライン インストール用に一時的な Docker レジストリを設定する
- 手順 16: インストールの前提条件を検証する
- uipathc を実行する
- 手動: インストールを実行する
- インストール後
- クラスターの管理
- 監視とアラート機能
- 移行とアップグレード
- 製品固有の設定
- ベスト プラクティスとメンテナンス
- トラブルシューティング
- インストール時にサービスをトラブルシューティングする方法
- NFS バックアップ ディレクトリの権限を減らす方法
- クラスターをアンインストールする方法
- オフライン成果物をクリーンアップしてディスク領域を改善する方法
- Redis データをクリアする方法
- Istio ログを有効化する方法
- ログを手動でクリーンアップする方法
- sf-logs バケットに保存されている古いログをクリーンアップする方法
- AI Center のストリーミング ログを無効化する方法
- 失敗した Automation Suite インストールをデバッグする方法
- アップグレード後に古いインストーラーからイメージを削除する方法
- TX チェックサム オフロードを無効化する方法
- ArgoCD のログ レベルを手動で Info に設定する方法
- AI Center のストレージを拡張する方法
- 外部レジストリーのエンコードされたpull_secret_valueを生成する方法
- TLS 1.2 で弱い暗号に対処する方法
- TLSのバージョンを確認する方法
- 証明書の操作方法
- Ceph のバックアップとデータの復元をスケジュールする方法
- クラスター内の ObjectStore (Ceph) を使用して DU の使用状況データを収集する方法
- エアギャップ環境に RKE2 SELinux をインストールする方法
- NFS サーバー上の古い差分バックアップをクリーンアップする方法
- FIPS が有効化されたクラスターに Insights をデプロイする方法
- cgroup v2 への移行方法
- 仮想マシンの再起動後に Kerberos 認証を回復する方法
- バンドルのダウンロード中のエラー
- バイナリがないため、オフライン インストールが失敗する
- オフライン インストールでの証明書の問題
- SQL 接続文字列の検証エラー
- Azure ディスクが SSD としてマークされない
- 証明書の更新後のエラー
- ウイルス対策が原因でインストールの問題が発生する
- OS のアップグレード後に Automation Suite が動作しない
- Automation Suite で backlog_wait_time を 0 に設定する必要がある
- RHEL 8.9 でレジストリの一時インストールが失敗する
- オフライン インストール中に uipath 名前空間のデプロイで頻繁に発生する再起動の問題
- DNS 設定が CoreDNS によって受け入れられない
- Ceph の異常によりアップグレードが失敗する
- 領域の問題のために rke2 が開始しない
- Orchestrator データベース内のクラシック オブジェクトが原因でアップグレードが失敗する
- Ceph クラスターがサイドバイサイド アップグレード後に機能低下ステートで検出される
- Apps のサービス アップグレードの失敗
- インプレース アップグレードのタイムアウト
- オフライン環境でアップグレードが失敗する
- アップグレード後に snapshot-controller-crds ポッドが CrashLoopBackOff ステートになる
- Insights の PVC サイズが上書きされたためにアップグレードが失敗する
- 大文字のホスト名が原因でアップグレードが失敗する
- 管理ポータルのタイムアウト期間を設定する
- 移行後に認証が機能しない
- Kinit: Cannot find KDC for realm <AD Domain> while getting initial credentials
- kinit: Keytab contains no suitable keys for *** while getting initial credentials
- 無効なステータス コードが原因で GSSAPI 操作が失敗した
- Alarm received for failed kerberos-tgt-update job
- SSPI Provider: Server not found in Kerberos database
- アカウントが無効なため AD ユーザーのログインに失敗した
- ArgoCD へのログインに失敗した
- 基になるディレクトリ接続を更新する
- サンドボックス イメージを取得できない
- ポッドが ArgoCD UI に表示されない
- Redis プローブの障害
- RKE2 サーバーの起動に失敗する
- UiPath 名前空間でシークレットが見つからない
- 初回インストール後に ArgoCD が進行中ステートになる
- ArgoCD リポジトリ サーバー ポッドが CrashLoopBackOff になる
- Ceph-rook のメトリックが監視ダッシュボードに表示されない
- 診断ヘルスチェック中に報告されたエラーの不一致
- アップストリームに正常な問題はありません
- Redis の起動がウイルス対策によってブロックされる
- TLS 証明書の検証が有効化されていると、AI Center と Document Understanding ポッドの起動に失敗する
- Fluentd では、IPv6 環境ではログはエクスポートされません
- Process Mining で高可用性を実行する
- Kerberos を使用してログインすると、Process Mining を取り込むことができなかった
- pyodbc 形式の接続文字列を使用して AutomationSuite_ProcessMining_Warehouse データベースに接続できない
- Airflow のインストールが「sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string ''」で失敗する
- SQL Server ポート 1433 を使用する IP テーブル ルールを追加する方法
- CData Sync を実行しているサーバーの Automation Suite の証明書が信頼されない
- 診断ツールを実行する
- Automation Suite サポート バンドルを使用する
- ログを確認する
- 要約されたテレメトリを確認する

Linux の Automation Suite のインストール ガイド
Orchestrator データベースをクリーンアップする
次のスクリプトは、以前のすべてのデータベース クリーンアップ スクリプトを置換します。これらによって必要なメンテナンス タスクがすべてカバーされます。設定は必要に応じて変更できます。
- Orchestrator データベースのメンテナンス スクリプトは、Customer Portal からダウンロードできます。
SQL スクリプト
前提条件
スクリプト CreateOrchestratorCleanupObjects.sql を実行するには次の条件を満たす必要があります。
- Orchestrator データベースのコンテキスト内からアーカイブ データベースにアクセスできる必要があります。
- アーカイブには、
Archive.dbo.QueueItemsTableArchiveなどの、3 つの構成要素から成る名前を使用してアクセスできる必要があります。
使用方法
-
CreateOrchestratorCleanupObjects.sqlSQL スクリプトを実行して、以下のオブジェクトを作成します。- 実行ログを格納する
dbo.__CleanupLogテーブル。 - アーカイブ テーブルを作成または返す
dbo.GetOrCreateArchiveTableプロシージャ。 dbo.RunOrchestratorCleanupプロシージャ。古いデータを削除し、必要に応じてアーカイブします。
- 実行ログを格納する
-
スケジューリング XML 構成ファイルを使用して
dbo.RunOrchestratorCleanupを実行し、クリーンアップします。XML ファイルについて詳しくは、「 クリーンアップのスケジュールを設定する 」セクションをご覧ください。注:SQL Server エージェントを使用してクリーンアップを実行することもできます。
スクリプトのサンプル
DECLARE @cleanupConfigXml XML =
'<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
</CleanupConfig>';
EXEC dbo.RunOrchestratorCleanup
@cleanupConfigXml = @cleanupConfigXml,
@archiveDatabaseName = 'OrchestratorArchive';
DECLARE @cleanupConfigXml XML =
'<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
</CleanupConfig>';
EXEC dbo.RunOrchestratorCleanup
@cleanupConfigXml = @cleanupConfigXml,
@archiveDatabaseName = 'OrchestratorArchive';
PowerShell スクリプト
これは、SQL スクリプトを使用できない場合に適しています。
PowerShell スクリプトは PowerShell 5.1 に対応しており、Azure Automation Runbook で使用できます。
前提条件
スクリプト RunOrchestratorCleanup.ps1 は、以下の両方の接続文字列と通信できる必要があります。
SourceConnectionString- Orchestrator データベースの接続文字列です。DestinationConnectionString- アーカイブ データベースの接続文字列です。アーカイブ データベースは、事前に作成して設定しておく必要があることに注意してください。
作成するオブジェクト
- 実行ログを格納する
dbo.__CleanupLogテーブル。 dbo.__CleanupIdsテーブル。クリーンアップする必要がある ID の一時的なバッチを格納します。
制限事項
このスクリプトは 2 つの接続を開きます。1 つは Orchestrator データベースへの接続 (SourceConnectionString 経由)、もう 1 つはアーカイブ データベースへの接続 (DestinationConnectionString 経由) です。したがって、データは Orchestrator からアーカイブにコピーされた後、Orchestrator から削除されるため、実際のトランザクションは関与しません。 つまり、2 つのアクションの間のどこかで例外がスローされ、スクリプトが再実行されると、同じデータが再度コピーされ、アーカイブ データベースに重複が発生する可能性があります。 ただし、アーカイブ データベースでは一意であることが強制されないため、問題は発生しません。
スクリプトのサンプル
.\RunOrchestratorCleanup
-SourceConnectionString "Data Source=.;Initial Catalog=UiPath;User ID=sa;Password=******"
-DestinationConnectionString "Data Source=.;Initial Catalog=<OrchestratorArchive>;User ID=sa;Password=******"
-CleanupConfigXml '<CleanupConfig totalRunMaxMinutes="180"><table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" /></CleanupConfig>'
.\RunOrchestratorCleanup
-SourceConnectionString "Data Source=.;Initial Catalog=UiPath;User ID=sa;Password=******"
-DestinationConnectionString "Data Source=.;Initial Catalog=<OrchestratorArchive>;User ID=sa;Password=******"
-CleanupConfigXml '<CleanupConfig totalRunMaxMinutes="180"><table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" /></CleanupConfig>'
クリーンアップのスケジュールを設定する
データベースからクリーンアップするデータと、各実行でクリーンアップ アクティビティをいつ、どれくらいの時間実行するかを選択できます。 それには、SQL または PowerShell スクリプトが記述された以下の XML ファイルを使用します。このスクリプトは、推奨パラメーターで事前設定されていますが、より高度な機能が必要な場合は編集できます。スクリプトを編集する前に、各パラメーターの機能を理解しておいてください。そうしないと、重大な結果を招く可能性があります。
<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Jobs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="State IN (4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Logs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="TimeStamp" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="1" />
<Table name="AuditLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTime" additionalFilter="" daysOld="365" batchSize="25" forceCascade="1" shouldArchive="1" />
<Table name="Tasks" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="180" batchSize="10" forceCascade="0" shouldArchive="1" />
<Table name="QueueProcessingRecords" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ProcessingTime" additionalFilter="ReportType != -1" daysOld="30" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Sessions" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ReportingTime" additionalFilter="" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="RobotLicenseLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="StartDate" additionalFilter="" daysOld="180" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="UserNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="TenantNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Ledger" runMaxMinutes="-1" idColumn="LedgerId" dateTimeColumn="CreationTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="LedgerDeliveries" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="LastUpdatedTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Assets" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="120" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="__CleanupLog" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTimeUtc" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
</CleanupConfig>
<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Jobs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="State IN (4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Logs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="TimeStamp" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="1" />
<Table name="AuditLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTime" additionalFilter="" daysOld="365" batchSize="25" forceCascade="1" shouldArchive="1" />
<Table name="Tasks" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="180" batchSize="10" forceCascade="0" shouldArchive="1" />
<Table name="QueueProcessingRecords" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ProcessingTime" additionalFilter="ReportType != -1" daysOld="30" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Sessions" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ReportingTime" additionalFilter="" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="RobotLicenseLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="StartDate" additionalFilter="" daysOld="180" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="UserNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="TenantNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Ledger" runMaxMinutes="-1" idColumn="LedgerId" dateTimeColumn="CreationTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="LedgerDeliveries" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="LastUpdatedTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Assets" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="120" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="__CleanupLog" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTimeUtc" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
</CleanupConfig>
1 回の実行で 1 つまたはいくつかのテーブルを部分的にしかクリーンアップできない場合でも、すべてのバックログをクリーンアップするまでスクリプトが続けて実行されます。したがって、スクリプトで処理しきれないほど大きなバックログを蓄積しないことが重要です。蓄積されてしまう場合は、スクリプトをより頻繁に実行するようスケジュールすることを検討してください。
クリーンアップ XML のパラメーター
| パラメーター | 説明 | 予想される値 |
|---|---|---|
|
| 1 回の実行時にすべてのテーブルに対してスクリプトを実行できる最大時間 (分)。 | 1 より大きい値である必要があります。 |
|
| 削除するデータを含むテーブルの名前。 | 例: QueueItems |
|
| 1 回の実行時に特定のテーブルに対してスクリプトを実行できる最大時間 (分)。 ここで設定する時間は、数分ほど超過することがあります。 -1 に設定したとしても、totalRunMaxMinutes が優先され、常に適用されます。 |
|
|
| 削除するデータを含む列の ID。 | 例: QueueItems テーブルの Id |
|
| これはデータ型によって異なります。 daysOld と組み合わせて使用されます。 | 例: QueueItems の CreationTime |
|
| フィルターの有効な SQL ステートメント。 これは空のままにしておくことができます。 | 例: Status IN (2, 3, 4, 5, 6)。 これは、UiPath が推奨する XML ファイルに含まれています。 |
daysOld | 一定日数分のデータを保持できます。 dateTimeColumn と組み合わせて使用されます。 | この値は、 2 以上に設定する必要があります。例: このパラメーターを 5 に設定すると、5 日前までのすべてのデータが保持されます。 |
|
| 1 回の反復処理で削除されるテーブル行の数。 これは、外部キーが定義されているテーブルには使用されません。 | 例: QueueItems テーブルに対してこのパラメーターを 50 に設定すると、その特定のテーブルから 50 項目が削除されます。 |
forceCascade | 外部キーが定義されているテーブルに対してスクリプトを実行できます。 forceCascade を使用しています。したがって、変更する必要はありません。 |
|
shouldArchive | データをアーカイブするかどうかを選択できます。 |
|
SQL スクリプトと PowerShell スクリプトの比較
| 機能 | SQL スクリプト | PowerShell スクリプト |
|---|---|---|
| クリーンアップ XML | どちらも、「クリーンアップのスケジュールを設定する」セクションで説明しているロジックを使用します。 | |
| 実行ログ | どちらも、実行のログを格納する dbo.__CleanupLogs テーブルを作成します。 以下を使用して、実行のログを照会できます SELECT * FROM dbo.__CleanupLog WHERE ExecutionId = '<execution_id>' ORDER BY Id .実行時にエラーが発生していたかどうかを確認するには、次を使用します。 SELECT * FROM dbo.__CleanupLog WHERE ExecutionId = '<execution_id>' AND IsError = 1.ExecutionId パラメーターは、これらのスクリプトのいずれかを実行するたびに生成されます。 | |
| アーカイブ テーブル | アーカイブ テーブルには、インデックス、外部キー、または ID 列は含まれません。 TimeStamp 型の列はアーカイブされません。 | |
| アーカイブ テーブル名 | 名前は同じロジックに従い、テーブル スキーマに基づく文字列を含みます。 | |
| アーカイブ/削除する ID のバッチ | 一時テーブルに格納されます。 | dbo.__CleanupIds テーブルに格納されます。 |
| トランザクション | バッチごとに 1 つのトランザクションが実行され、その間にデータがアーカイブおよび削除されます。 batchSize パラメーターを使用して定義されます。 | SqlBulkCopy を使用してデータをコピーします。 アーカイブと削除を目的として実行される単一のトランザクションはありません。 |