- 概要
- 要件
- インストール
- インストール後
- 移行とアップグレード
- 監視とアラート機能
- クラスターの管理
- 製品固有の設定
- 組織 ID を再マッピングする
- Looker のデータを Automation Suite に移行する
- Insights データベースのメンテナンスを実行する
- ログのルールを設定する
- トラブルシューティング
- Azure Government への接続に失敗したため、バックアップのセットアップが機能しない
- カスタム ノード taint を有効化すると uipath 名前空間のポッドがスタックする
- プロキシ設定がある場合に Automation Hub と Apps を起動できない
- プロキシ環境でポッドが FQDN と通信できない
- Test Automation SQL の接続文字列は無視されます
- Velero のバージョンが原因で EKS のバックアップが失敗する
- Velero のバックアップが FailedValidation エラーで失敗する
- FQDN にアクセスすると RBAC アクセス拒否エラーが返されます
- 手動による ArgoCD ネットワーク ポリシーの軽減策 (GHSA-47m3-95c7-g2g8)
Insights データベースのメンテナンスを実行する
EKS/AKS の Automation Suite で Insights データベースのメンテナンスを実行し、領域を解放してパフォーマンスを向上させます。
概要
Insights データベースは、dbo と read の 2 つのテーブルを使用して動作します。両方のテーブルに Orchestrator データベースのデータが格納され、相互にデータが渡されます。時間の経過とともにテーブルに大量のデータが格納され、データベースのパフォーマンスに影響を与える可能性があります。関係のないデータや古いデータを削除することで、領域を解放できます。
履歴データを保存するための推定しきい値は、以下のように設定されます。
- 最大1億人の雇用
- 最大 10 億件のジョブ イベント
- 最大 1 億個のキュー アイテム
- 最大 5 億件のキュー アイテム イベント
- 最大 10 億件のロボット ログ
次のデータベース メンテナンス SQL スクリプトを使用して SQL ストアド プロシージャを作成します。次に、それらの SQL ストアド プロシージャを実行して、[dbo].Jobs、[dbo].JobEvents、[dbo].QueueItems、[dbo].QueueItemEvents、および [dbo].RobotLogs テーブルから、または [dbo].RobotLogs のみから、すべてのデータを削除します。
スクリプトを実行する前にデータベースをバックアップしてください。 PROCEDURE [read].[Delete_Insights_Data_Read] および PROCEDURE [read].[Delete_Process_Logs_Read] スクリプトを実行する前に、Insights モジュールを無効化する必要があります。
考慮事項
- DBO スキーマ テーブルからデータを削除するには、
_DBOサフィックスが追加されたスクリプトを使用します。 _Readサフィックスが追加されたスクリプトは、Read スキーマのテーブルからデータを削除するために使用します。- サイズの大きいバッチは、実行速度に影響を与える可能性があります。既定のバッチ サイズ (100000 に設定) の使用を検討してください。
前提条件
PROCEDURE [read].[Delete_Insights_Data_Read] および PROCEDURE [read].[Delete_Process_Logs_Read] スクリプトを実行する前に、Insights モジュールを無効化する必要があります。
-
Automation Suite クラスターにログインします。
-
コマンドと競合する可能性のあるファイルを削除します。
rm -f values.json && rm -f appsettings.jsonrm -f values.json && rm -f appsettings.json -
現在の設定を取得します。
kubectl -n uipath get cm orchestrator-customconfig -o jsonpath='{.data.values\.json}' | jq '.' > values.jsonkubectl -n uipath get cm orchestrator-customconfig -o jsonpath='{.data.values\.json}' | jq '.' > values.json -
設定の書式を設定します。
jq '.AppSettings' values.json > appsettings.jsonjq '.AppSettings' values.json > appsettings.json -
Insights.ModuleEnabledキーを に設定しますFalsejq '.["Insights.ModuleEnabled"] = "false"' appsettings.json > temp.json && mv -f temp.json appsettings.jsonjq '.["Insights.ModuleEnabled"] = "false"' appsettings.json > temp.json && mv -f temp.json appsettings.json -
構成を更新します。
./bin/uipathctl config orchestrator update-config --app-settings appsettings.json./bin/uipathctl config orchestrator update-config --app-settings appsettings.json -
設定を検証します。
kubectl -n uipath get cm orchestrator-customconfig -o jsonpath='{.data.values\.json}' | jqkubectl -n uipath get cm orchestrator-customconfig -o jsonpath='{.data.values\.json}' | jq期待される結果は次のとおりです。
{ "AppSettings": { "Insights.ModuleEnabled": "false" } }{ "AppSettings": { "Insights.ModuleEnabled": "false" } }結果には、Insights に関係のない他の設定が含まれる場合があります。
-
メンテナンス スクリプトを実行します。メンテナンス スクリプトの実行後、以下の手順に従い Insights を再度有効化します。
-
競合するファイルをすべて削除します。
rm -f values.json && rm -f appsettings.jsonrm -f values.json && rm -f appsettings.json -
現在の設定を取得します。
kubectl -n uipath get cm orchestrator-customconfig -o jsonpath='{.data.values\.json}' | jq '.' > values.jsonkubectl -n uipath get cm orchestrator-customconfig -o jsonpath='{.data.values\.json}' | jq '.' > values.json -
設定の書式を設定します。
jq '.AppSettings' values.json > appsettings.jsonjq '.AppSettings' values.json > appsettings.json -
Insights.ModuleEnabledキーを削除します。jq 'del(.["Insights.ModuleEnabled"])' appsettings.json > temp.json && mv -f temp.json appsettings.jsonjq 'del(.["Insights.ModuleEnabled"])' appsettings.json > temp.json && mv -f temp.json appsettings.json -
構成を更新します。
./bin/uipathctl config orchestrator update-config --app-settings appsettings.json./bin/uipathctl config orchestrator update-config --app-settings appsettings.json -
設定を確認します。
kubectl -n uipath get cm orchestrator-customconfig -o jsonpath='{.data.values\.json}' | jqkubectl -n uipath get cm orchestrator-customconfig -o jsonpath='{.data.values\.json}' | jq期待される結果は次のとおりです。
{ "AppSettings": {} }{ "AppSettings": {} }
結果には、Insights に関係のない他の設定が含まれる場合があります。
リソース
SQL ストアドプロシージャ 1: カットオフ タイムスタンプに基づいてすべてのデータを削除する
次の SQL ストアド プロシージャを生成して保存し、カットオフ タイムスタンプまでのすべての種類のデータ (Jobs、JobEvents、QueueItems、QueueItemEvents、RobotLogs) を削除します。
| SQL ストアド プロシージャ | パラメーター | 説明 |
|---|---|---|
| Delete_Insights_Data_DBO |
| カットオフ タイムスタンプに基づいて、 [dbo].[Jobs]、 [dbo].[JobEvents]、 [dbo].[QueueItems]、 [dbo].[QueueItemEvents]、 [dbo].[RobotLogs] のテーブルからデータを削除します。 |
| Delete_Insights_Data_Read | N/A | [read].Jobs、[read].JobEvents、[read].QueueItems、[read].QueueItemEvents、および [read].RobotLogs テーブルを切り捨てます。 |
SQL ストアド プロシージャ 1 が完了し、データがバックフィルされた後、Insights のダッシュボード ウィジェットが再び利用できるようになります。大量のデータがある場合、バックフィル プロセスが完了するのに時間がかかる可能性があることにご留意ください。
Delete_Insights_Data_DBO SQL スクリプトを初めて実行すると、将来の実行を高速化することを目的として、QueueItems.IX_CreationTime 非クラスター化インデックスが作成されます。
SQL ストアド プロシージャ 2: プロセス名とテナント ID に基づいてロボット ログのデータを削除する
次の SQL ストアド プロシージャを生成して保存し、プロセス名とテナント ID に基づいてロボット ログを削除します。
| SQL ストアド プロシージャ | パラメーター | 説明 |
|---|---|---|
| Delete_Process_Logs_DBO |
Orchestrator のプロセス名です。
2 つのテナントが同じ名前のプロセスを実行する可能性があるため、テナント ID は必須です。
100000 件のバッチ単位でデータを削除します。詳しくは、「 考慮事項」をご覧ください。 | プロセス名とテナント ID に基づいて [dbo].[RobotLogs] テーブルからデータを削除します。 |
| Delete_Process_Logs_Read |
| [read].RobotLogs テーブルを切り捨てます。 |
SQL ストアド プロシージャ 2 が完了し、データがバックフィルされた後、ロボット ログに関連する Insights ダッシュボード ウィジェットを再び利用できるようになりました。大量のデータがある場合、バックフィル プロセスが完了するのに時間がかかる可能性があることにご留意ください。