- 概要
- 要件
- インストール前
- インストール
- インストール後
- 移行とアップグレード
- 監視とアラート機能
- クラスターの管理
- 製品固有の設定
- トラブルシューティング
- Azure Government への接続に失敗したため、バックアップのセットアップが機能しない
- カスタム ノード taint を有効化すると uipath 名前空間のポッドがスタックする
- プロキシ設定がある場合に Automation Hub と Apps を起動できない
- Velero のバックアップが FailedValidation エラーで失敗する
- 外部シークレットのトラブルシューティング
- Temporal as a Service のトラブルシューティング
- TLS 証明書の検証が有効化されていると、AI Center と Document Understanding ポッドの起動に失敗する
- TLS 証明書の検証エラー
- Fluentd では、IPv6 環境ではログはエクスポートされません
- デスクトップ版の Studio では Integration Service のコネクタとアクティビティを読み込めない
- 手動による ArgoCD ネットワーク ポリシーの軽減策 (GHSA-47m3-95c7-g2g8)
- uipathctl で作成されたワークロードのリソース要求と制限を設定する
NLog を構成する
EKS/AKS の Automation Suite の Orchestrator の NLog ログを設定します。
NLog 拡張機能を追加する
以下の拡張機能が Orchestrator によって既定で読み込まれるため、フォルダーまたは NLog の構成にこれらの拡張機能を含める必要はありません。
NLog.Targets.ElasticSearchUiPath.Orchestrator.Logs.ElasticsearchMicrosoft.ApplicationInsights.NLogTargetNLog.Extensions.AzureEventHub
この設定で使用できるのは Linux 対応の拡張機能のみであるため、選択した NLog 拡張機能がこのルールに準拠していることを確認してください。
拡張機能を使用できるようにするには、クラスター ストレージに拡張機能をアップロードする必要があります。uipathctl コマンド ライン ツールでは、uipathctl config orchestrator upload コマンドを使用してこれを行うことができます。
uipathctl config orchestrator upload --nlog-extensions-directory /path/to/extensions/directory
uipathctl config orchestrator upload --nlog-extensions-directory /path/to/extensions/directory
外部ストレージ構成をクラスター レベルで使用する場合は、それを示すために --is-external-storage パラメーターを含める必要があります。
NLog の高度な設定
NLog の高度な構成を作成する
-
拡張機能、ターゲット、ルールといった標準的なセクションを含む
nlog.config.jsonファイルを作成します。拡張機能セクションは、
assemblyFileを使用して拡張機能アセンブリを指定する項目の配列と、アセンブリのパスです。If custom NLog plugins were loaded (as described in the Adding NLog extensions section), they will be referenced in the
extensionssection. -
nlog.config.jsonファイルでターゲットとルールを構成します。 -
uipathctlコマンド ライン ツールを使用して、nlog.config.jsonファイルを適用します。uipathctl config orchestrator update-config --nlog-config nlog.config.jsonuipathctl config orchestrator update-config --nlog-config nlog.config.json重要:この操作を行うと、既存のカスタム NLog 構成が上書きされます。既存の設定を確認するには、次のコマンドを使用します。
uipathctl config orchestrator get-config --nlog-configuipathctl config orchestrator get-config --nlog-configAzure BLOB にログを書き込む
nlog.config.jsonファイルの例{ "NLog": { "extensions": [ { "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" } ], "targets": { "azureBlob": { "type": "AzureBlobStorage", "connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net", "container": "orchestratorlogs", "blobName": "${date:format=yyyy-MM-dd hh.mm}", "layout": { "type": "JsonLayout", "includeAllProperties": true, "Attributes": [ {"name": "ts","layout": "${longdate}"}, {"name": "level","layout": "${level:upperCase=true}"}, {"name": "logger","layout": "${logger}"}, {"name": "message","layout": "${message}"}, {"name": "exception","layout": "${onexception:${ui-pretty-exception}}"} ] } } }, "rules": { "70_Final": { "writeTo": "stdout,azureBlob" } } } }{ "NLog": { "extensions": [ { "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" } ], "targets": { "azureBlob": { "type": "AzureBlobStorage", "connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net", "container": "orchestratorlogs", "blobName": "${date:format=yyyy-MM-dd hh.mm}", "layout": { "type": "JsonLayout", "includeAllProperties": true, "Attributes": [ {"name": "ts","layout": "${longdate}"}, {"name": "level","layout": "${level:upperCase=true}"}, {"name": "logger","layout": "${logger}"}, {"name": "message","layout": "${message}"}, {"name": "exception","layout": "${onexception:${ui-pretty-exception}}"} ] } } }, "rules": { "70_Final": { "writeTo": "stdout,azureBlob" } } } }Splunk にロボット ログを書き込む
nlog.config.jsonファイルの例を以下に示します。{ "Nlog": { "extensions": [ { "assemblyFile": "NLog.Targets.Splunk.dll" }, { "assembly": "UiPath.Orchestrator.Logs.DatabaseBulk.NLogTarget" } ], "targets": { "Splunk": { "type": "AsyncWrapper", "overflowAction": "Discard", "queueLimit": 10000, "batchSize": 200, "timeToSleepBetweenBatches": 1, "target": { "type": "SplunkHttpEventCollector", "serverUrl": "http://splunk.example.com", "token": "splunk-token", "channel": "", "source": "${logger}", "sourceType": "_json", "index": "uipath", "retriesOnError": "0", "batchSizeBytes": "0", "batchSizeCount": "0", "includeEventProperties": "true", "includePositionalParameters": "true", "includeMdlc": "true", "maxConnectionsPerServer": "10", "ignoreSslErrors": "false", "useProxy": "false", "proxyUrl": "", "proxyPassword": "" } } }, "rules": { "20_Robot_Primary": { "writeTo": "Splunk,database,insightsRobotLogs" } } } }{ "Nlog": { "extensions": [ { "assemblyFile": "NLog.Targets.Splunk.dll" }, { "assembly": "UiPath.Orchestrator.Logs.DatabaseBulk.NLogTarget" } ], "targets": { "Splunk": { "type": "AsyncWrapper", "overflowAction": "Discard", "queueLimit": 10000, "batchSize": 200, "timeToSleepBetweenBatches": 1, "target": { "type": "SplunkHttpEventCollector", "serverUrl": "http://splunk.example.com", "token": "splunk-token", "channel": "", "source": "${logger}", "sourceType": "_json", "index": "uipath", "retriesOnError": "0", "batchSizeBytes": "0", "batchSizeCount": "0", "includeEventProperties": "true", "includePositionalParameters": "true", "includeMdlc": "true", "maxConnectionsPerServer": "10", "ignoreSslErrors": "false", "useProxy": "false", "proxyUrl": "", "proxyPassword": "" } } }, "rules": { "20_Robot_Primary": { "writeTo": "Splunk,database,insightsRobotLogs" } } } }
Splunk queueLimitのサイズ設定
このキューは、低速時に Splunk のバックログを吸収します。平均ではなく、ピークスループットに合わせてサイズを設定します。
queueLimit = peak_logs_per_sec × acceptable_backlog_seconds
queueLimit = peak_logs_per_sec × acceptable_backlog_seconds
| デプロイ | ピーク レート | バックログの許容度 | queueLimit |
|---|---|---|---|
| 小 | ~10 ログ/秒 | 60秒 | 600 |
| 中 | ~35ログ/秒 | 300秒 | 10000 |
| 大 | ~200ログ/秒 | 60秒 | 12000 |
Splunk ターゲットのベスト プラクティス
- セカンダリ ターゲットには
overflowAction: Discardを使用します。Splunk などの外部ログ ターゲットは通常、分析またはオブザーバビリティの宛先であり、Orchestrator データベースは信頼できる情報源です。外部ターゲットが追いつかない場合は、アプリケーションスレッドをブロックするよりも、そのコピーをドロップすることをお勧めします。 - 損失が受け入れられないターゲットのために
overflowAction: Blockを予約します。Blockはイベントの損失を防ぎますが、ブロックを防ぐことはできません。持続的な負荷でキューがいっぱいになると、キューはBufferingWrapperと同じスレッド ブロック動作に戻ります。外部ターゲットがコンプライアンス要件または監査要件であり、ピーク スループットに合わせてサイズqueueLimit余裕がある場合にのみ使用してください。 writeToルールには必ず外部ターゲットと一緒にdatabaseしてください。これにより、外部ターゲットの可用性やパフォーマンスに関係なく、ロボット ログが完全に失われることはありません。- シャットダウン前にフラッシュします。
AsyncWrapperはイベントをメモリ内のキューに保持します。プロセスの終了時にキューの末尾が失われることがないように、正常シャットダウン時に NLog ターゲットがフラッシュされるようにします。
NLog の高度な構成を更新する
NLog の構成を更新するために必要な uipathctl コマンドは、次のとおりです。
uipathctl config orchestrator get-config --nlog-config- 現在の設定をキーと値のペアの json ファイルにエクスポートし、編集できるようにします。uipathctl config orchestrator update-config --nlog-config nlog.config.json- 変更内容を使用して設定を更新します。
-
次のコマンドを使用して、現在のカスタム NLog 構成を json ファイルにエクスポートします。
uipathctl config orchestrator get-config --nlog-config > nlog.config.jsonuipathctl config orchestrator get-config --nlog-config > nlog.config.json -
エクスポートした
nlog.config.jsonファイルを必要に応じて編集します。 設定を追加、削除、または変更できます。注:変更が必要になるたびにファイルを再度エクスポートする必要があります。更新によって NLog の設定がすべて上書きされるためです。
-
次のコマンドを使用して NLog 構成を更新します。
uipathctl config orchestrator update-config --nlog-config nlog.config.json orchestrator config updateduipathctl config orchestrator update-config --nlog-config nlog.config.json orchestrator config updated