- 概要
- 要件
- デプロイ テンプレート
- 手動: インストールを準備する
- 手動: インストールを準備する
- 手順 2: オフライン インストール用に OCI 準拠レジストリを設定する
- 手順 3: 外部 ObjectStore を構成する
- 手順 4: High Availability Add-on を構成する
- 手順 5: SQL データベースを構成する
- 手順 6: ロード バランサーを構成する
- 手順 7: DNS を構成する
- 手順 8: ディスクを構成する
- 手順 9: カーネルと OS レベルの設定を構成する
- 手順 10: ノード ポートを構成する
- 手順 11: その他の設定を適用する
- 手順 12: 必要な RPM パッケージを検証してインストールする
- 手順 13: cluster_config.json を生成する
- 証明書の設定
- データベースの構成
- 外部 ObjectStore の構成
- 署名済み URL の構成
- Kerberos 認証の構成
- 外部の OCI 準拠レジストリの設定
- Disaster Recovery - アクティブ/パッシブおよびアクティブ/アクティブの構成
- High Availability Add-on の構成
- Orchestrator 固有の設定
- Insights 固有の構成
- Process Mining 固有の構成
- Document Understanding 固有の構成
- Automation Suite ロボット固有の構成
- 監視の構成
- 任意: プロキシ サーバーを構成する
- 任意: マルチノードの HA 対応の運用クラスターにおけるゾーン障害に対する復元設定を有効化する
- 任意: カスタムの Resolv.con を渡す
- 任意: フォールト トレランスを向上させる
- install-uipath.sh パラメーター
- GPU がサポートされた専用のエージェント ノードを追加する
- Task Mining 専用のエージェント ノードを追加する
- Task Mining アプリケーションを接続する
- Automation Suite ロボット専用のエージェント ノードを追加する
- 手順 15: オフライン インストール用に一時的な Docker レジストリを設定する
- 手順 16: インストールの前提条件を検証する
- 手動: インストールを実行する
- インストール後
- クラスターの管理
- 監視とアラート機能
- 移行とアップグレード
- 製品固有の設定
- ベスト プラクティスとメンテナンス
- インストールのベスト プラクティス
- SQL Server を暗号化する
- データベースのメンテナンスを実行する
- 毎年の証明書のメンテナンスを実行する
- ディレクトリのロールと権限を設定する
- トラブルシューティング
- インストール時にサービスをトラブルシューティングする方法
- クラスターをアンインストールする方法
- オフライン成果物をクリーンアップしてディスク領域を改善する方法
- Redis データをクリアする方法
- Istio ログを有効化する方法
- ログを手動でクリーンアップする方法
- sf-logs バケットに保存されている古いログをクリーンアップする方法
- AI Center のストリーミング ログを無効化する方法
- 失敗した Automation Suite インストールをデバッグする方法
- アップグレード後に古いインストーラーからイメージを削除する方法
- TX チェックサム オフロードを無効化する方法
- Automation Suite 2022.10.10 および 2022.4.11 から 2023.10.2 にアップグレードする方法
- ArgoCD のログ レベルを手動で Info に設定する方法
- AI Center のストレージを拡張する方法
- 外部レジストリーのエンコードされたpull_secret_valueを生成する方法
- TLS 1.2 で弱い暗号に対処する方法
- 証明書の操作方法
- アプリケーション ログを Splunk に転送する方法
- レジストリ ポッドから未使用の Docker イメージをクリーンアップする方法
- クラスター内の ObjectStore (Ceph) を使用して DU の使用状況データを収集する方法
- エアギャップ環境に RKE2 SELinux をインストールする方法
- NFS サーバー上の古い差分バックアップをクリーンアップする方法
- RHEL 8.4 OS でオフライン インストールを実行できない
- バンドルのダウンロード中のエラー
- バイナリがないため、オフライン インストールが失敗する
- オフライン インストールでの証明書の問題
- Longhorn のセットアップ中に最初のインストールが失敗する
- SQL 接続文字列の検証エラー
- selinux iscsid モジュールの前提条件の確認が失敗する
- Azure ディスクが SSD としてマークされない
- 証明書の更新後のエラー
- ウイルス対策が原因でインストールの問題が発生する
- OS のアップグレード後に Automation Suite が動作しない
- Automation Suite で backlog_wait_time を 0 に設定する必要がある
- ワークロードの準備ができていないためボリュームをマウントできない
- サポート バンドルのログ収集の失敗
- Test Automation SQL の接続文字列は無視されます
- DNS 設定が CoreDNS によって受け入れられない
- Automation Suite のアップグレード後に Insights を再インストールまたはアップグレードするとデータが失われる
- シングルノードのアップグレードがファブリック ステージで失敗する
- 2021.10 からの自動アップグレード後にクラスターが異常になる
- Ceph の異常によりアップグレードが失敗する
- 領域の問題のために rke2 が開始しない
- ボリュームがマウントできず、アタッチ/デタッチ ループ状態のまま
- Orchestrator データベース内のクラシック オブジェクトが原因でアップグレードが失敗する
- Ceph クラスターがサイドバイサイド アップグレード後に機能低下ステートで検出される
- 異常な Insights コンポーネントが原因で移行が失敗する
- Apps のサービス アップグレードの失敗
- インプレース アップグレードのタイムアウト
- Docker レジストリの移行が PVC の削除段階でスタックする
- v2023.10 以降へのアップグレード後に AI Center のプロビジョニングが失敗する
- オフライン環境でアップグレードが失敗する
- アップグレード中に SQL の検証が失敗する
- アップグレード後に snapshot-controller-crds ポッドが CrashLoopBackOff ステートになる
- Longhorn REST API エンドポイントのアップグレード/再インストール エラー
- 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 が進行中ステートになる
- クラスターの復元またはロールバック後にサービスが異常になる
- Init:0/X でポッドがスタックする
- Ceph-rook のメトリックが監視ダッシュボードに表示されない
- プロキシ環境でポッドが FQDN と通信できない
- アップグレード後にメール アラートを設定できない
- アップストリームに正常な問題はありません
- オフライン環境でエージェント ノードを追加できない
- FQDN にアクセスすると RBAC: アクセス拒否エラーが返されます
- Process Mining で高可用性を実行する
- Kerberos を使用してログインすると、Process Mining を取り込むことができなかった
- 障害復旧後、Dapr が Process Mining に対して正しく機能しない
- クラスター モードで Redis を使用した Dapr を構成する
- 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 のインストール ガイド
データベースが乱雑にならないようにすることが重要です。 このためには、以下の操作を実行することをお勧めします。
SQL サーバーのメンテナンスソリューションを使用する
SQL サーバーのメンテナンスソリューションは、バージョン 2005 以降のすべてのバージョンの Microsoft SQL サーバーについてバックアップ、完全性チェック、インデックス、統計のメンテナンスを行います。詳しくは、 こちらの GitHub プロジェクトをご覧ください。
データベースをバックアップする
SQL サーバーのデータベースは、週 1 回の完全バックアップや毎日の差分バックアップなど、定期的にバックアップすることを推奨します。
さらに、この場所でスクリプトを使用して作成した DatabaseBackup 保存プロシージャを利用することを推奨します。
古いデータを定期的に削除する
共有されるスイート機能
削除する項目をあらかじめ保存しておくデータベースを別に作成しておきます。そうすることで、そのデータベースは監査などのために保存しておく必要がある項目のアーカイブとして機能します。
-
たとえば、
UiPathArchivesという新しいデータベースを作成します。create database UiPathArchivescreate database UiPathArchives -
次のバックアップ表を作成します。
AuditEvent表と同じ構造のArchiveAuditEventSELECT * INTO [UiPathArchives].[dbo].[ArchiveAuditEvent] from [AutomationSuite_Platform].[adt].[AuditEvent] where 1 = 2SELECT * INTO [UiPathArchives].[dbo].[ArchiveAuditEvent] from [AutomationSuite_Platform].[adt].[AuditEvent] where 1 = 2
-
データをアーカイブします。
-
監査記録をアーカイブする
DECLARE @NumberOfDaysToKeep INT DECLARE @CurrentDate DATETIME -- Specify the number of days SET @NumberOfDaysToKeep = 60 -- Archive the list of audit event records that you want to delete SET @CurrentDate = GetDate() BEGIN TRANSACTION INSERT INTO [UiPathArchives].[dbo].[ArchiveAuditEvent] SELECT [Id],[CreatedOn],[Version],[OrganizationId],[Source],[Category],[Action],[IsUserEvent], [UserId],[FullName],[Email],[DetailsVersion],[Details],[OperationId] FROM [adt].[AuditEvent] WHERE DateDiff(day, CreatedOn, @CurrentDate) > @NumberOfDaysToKeep -- Delete the audit events DELETE FROM [adt].[AuditEvent] WHERE EXISTS (SELECT 1 FROM [UiPathArchives].[dbo].[ArchiveAuditEvent] WHERE Id = [adt].[AuditEvent].[Id]) COMMIT TRANSACTIONDECLARE @NumberOfDaysToKeep INT DECLARE @CurrentDate DATETIME -- Specify the number of days SET @NumberOfDaysToKeep = 60 -- Archive the list of audit event records that you want to delete SET @CurrentDate = GetDate() BEGIN TRANSACTION INSERT INTO [UiPathArchives].[dbo].[ArchiveAuditEvent] SELECT [Id],[CreatedOn],[Version],[OrganizationId],[Source],[Category],[Action],[IsUserEvent], [UserId],[FullName],[Email],[DetailsVersion],[Details],[OperationId] FROM [adt].[AuditEvent] WHERE DateDiff(day, CreatedOn, @CurrentDate) > @NumberOfDaysToKeep -- Delete the audit events DELETE FROM [adt].[AuditEvent] WHERE EXISTS (SELECT 1 FROM [UiPathArchives].[dbo].[ArchiveAuditEvent] WHERE Id = [adt].[AuditEvent].[Id]) COMMIT TRANSACTION古いデータは、次のクエリを使用すると、削除される前にこれらのアーカイブにコピーされます。
-
-
テーブルからデータを削除します。
重要:次のスクリプトを実行する前に、使用する環境に合わせて変更してください。
- 監査イベント
declare @NumberOfDaysToKeep int declare @CurrentDate datetime -- Specify the number of days SET @NumberOfDaysToKeep = 60 -- Create temporary table with the list of audit event records that you want to delete SET @CurrentDate = GetDate() SELECT [Id],[CreatedOn],[Version],[OrganizationId],[Source],[Category],[Action],[IsUserEvent], [UserId],[FullName],[Email],[DetailsVersion],[Details],[OperationId] INTO #TempAuditRecordsToDelete FROM [adt].[AuditEvent] WHERE DateDiff(day, CreatedOn, @CurrentDate) > @NumberOfDaysToKeep -- Review the audit event records to be deleted SELECT * FROM #TempAuditRecordsToDelete -- Delete the audit events BEGIN TRANSACTION DELETE FROM [adt].[AuditEvent] WHERE EXISTS (SELECT 1 FROM #TempAuditRecordsToDelete WHERE Id = [adt].[AuditEvent].[Id]) DROP TABLE #TempAuditRecordsToDelete COMMIT TRANSACTIONdeclare @NumberOfDaysToKeep int declare @CurrentDate datetime -- Specify the number of days SET @NumberOfDaysToKeep = 60 -- Create temporary table with the list of audit event records that you want to delete SET @CurrentDate = GetDate() SELECT [Id],[CreatedOn],[Version],[OrganizationId],[Source],[Category],[Action],[IsUserEvent], [UserId],[FullName],[Email],[DetailsVersion],[Details],[OperationId] INTO #TempAuditRecordsToDelete FROM [adt].[AuditEvent] WHERE DateDiff(day, CreatedOn, @CurrentDate) > @NumberOfDaysToKeep -- Review the audit event records to be deleted SELECT * FROM #TempAuditRecordsToDelete -- Delete the audit events BEGIN TRANSACTION DELETE FROM [adt].[AuditEvent] WHERE EXISTS (SELECT 1 FROM #TempAuditRecordsToDelete WHERE Id = [adt].[AuditEvent].[Id]) DROP TABLE #TempAuditRecordsToDelete COMMIT TRANSACTION
- 監査イベント
Identity Server
削除する項目をあらかじめ保存しておくデータベースを別に作成しておきます。そうすることで、そのデータベースは監査などのために保存しておく必要がある項目のアーカイブとして機能します。
このセクションに記載されているデータベースのメンテナンス スクリプトは、オンプレミスの SQL Server を使用する場合にのみサポートされます。Azure SQL では機能しません。Automation Suite のデプロイで Azure SQL を使用している場合は、このスクリプトを実行しないでください。
-
たとえば、
UiPathIdentityArchivesという新しいデータベースを作成します。create database UiPathIdentityArchivescreate database UiPathIdentityArchives -
次のバックアップ表を作成します。
UserLoginAttempts表と同じ構造のArchiveLoginAttemptsselect * into [UiPathIdentityArchives].[dbo].[ArchiveUserLoginAttempts] from [AutomationSuite_Platform].[identity].[UserLoginAttempts] where 1=2select * into [UiPathIdentityArchives].[dbo].[ArchiveUserLoginAttempts] from [AutomationSuite_Platform].[identity].[UserLoginAttempts] where 1=2
古いデータは、次のクエリを使用すると、削除される前にこれらのアーカイブにコピーされます。
-
テーブルからデータを削除します。
重要:次のスクリプトを実行する前に、使用する環境に合わせて変更してください。
-
ユーザー ログインの試行
たとえば、60 日を経過したログイン試行を削除するには、次のクエリを使用します。手動で実行することも、SQL Server ジョブでスケジュール設定することもできます。
declare @NumberOfDaysToKeep int set @NumberOfDaysToKeep = 60 if OBJECT_ID('[UiPathIdentityArchives].[dbo].[UserLoginAttemps]') = NULL begin select * into [UiPathIdentityArchives].[dbo].[UserLoginAttemps] from [identity].UserLoginAttempts where 1=2 end begin transaction set identity_insert [UiPathIdentityArchives].[dbo].[UserLoginAttemps] on insert into [UiPathIdentityArchives].[dbo].[UserLoginAttemps] ([Id],[PartitionId],[UserId],[UserNameOrEmailAddress],[ClientIpAddress],[ClientName],[BrowserInfo],[Result],[CreationTime],[AuthenticationProvider],[PartitionName]) select [Id],[PartitionId],[UserId],[UserNameOrEmailAddress],[ClientIpAddress],[ClientName],[BrowserInfo],[Result],[CreationTime],[AuthenticationProvider],[PartitionName] from [identity].UserLoginAttempts where DateDiff(day, CreationTime, GetDate()) > @NumberOfDaysToKeep delete from [identity].UserLoginAttempts where DateDiff(day, CreationTime, GetDate()) > @NumberOfDaysToKeep commit transactiondeclare @NumberOfDaysToKeep int set @NumberOfDaysToKeep = 60 if OBJECT_ID('[UiPathIdentityArchives].[dbo].[UserLoginAttemps]') = NULL begin select * into [UiPathIdentityArchives].[dbo].[UserLoginAttemps] from [identity].UserLoginAttempts where 1=2 end begin transaction set identity_insert [UiPathIdentityArchives].[dbo].[UserLoginAttemps] on insert into [UiPathIdentityArchives].[dbo].[UserLoginAttemps] ([Id],[PartitionId],[UserId],[UserNameOrEmailAddress],[ClientIpAddress],[ClientName],[BrowserInfo],[Result],[CreationTime],[AuthenticationProvider],[PartitionName]) select [Id],[PartitionId],[UserId],[UserNameOrEmailAddress],[ClientIpAddress],[ClientName],[BrowserInfo],[Result],[CreationTime],[AuthenticationProvider],[PartitionName] from [identity].UserLoginAttempts where DateDiff(day, CreationTime, GetDate()) > @NumberOfDaysToKeep delete from [identity].UserLoginAttempts where DateDiff(day, CreationTime, GetDate()) > @NumberOfDaysToKeep commit transaction
-
Orchestrator の
Orchestrator データベースから古いデータを定期的に削除する方法の詳細については、「 Orchestrator データベースをクリーンアップする」をご覧ください。
Automation Hub
Automation Hub は、実行時のビューやダッシュボードを履歴データに依存しています。また、その性質上、古いデータをクリーンアップするという概念はありません。 他のサービスと同様に、Automation Hub データベースは、週 1 回の完全バックアップや毎日の差分バックアップなどの方法で定期的にバックアップすることをお勧めします。
Process Mining
Automation Suite の Process Mining には自動データベース クリーンアップ機能が組み込まれており、最適な効率とパフォーマンスを確保します。 これにより、不要なデータを定期的に削除し、リソースを解放するための手動操作を必要とせずに、データベースをクリーンアップして機能させることができます。
Task Mining
Task Mining データベースから古いデータを定期的に削除する方法の詳細については、「 Task Mining データベースをクリーンアップする」をご覧ください。