- 概要
- 要件
- インストール前
- インストール
- インストール後
- 移行とアップグレード
- 監視とアラート機能
- クラスターの管理
- 製品固有の設定
- トラブルシューティング
- ODF の S3 リクエストに対する 500 エラーとレート制限
- 外部シークレットのトラブルシューティング
- ODF 4.20 の CSI ドライバー トレレーションの設定
- Temporal as a Service のトラブルシューティング
- TLS 証明書の検証が有効化されていると、AI Center と Document Understanding ポッドの起動に失敗する
- デスクトップ版の Studio では Integration Service のコネクタとアクティビティを読み込めない
- TLS 証明書の検証エラー
- 手動による ArgoCD ネットワーク ポリシーの軽減策 (GHSA-47m3-95c7-g2g8)
- uipathctl で作成されたワークロードのリソース要求と制限を設定する
NLog を構成する
OpenShift 上の 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を使用して拡張機能アセンブリを指定する項目の配列と、アセンブリのパスです。カスタムの NLog プラグインが読み込まれた場合 (「NLog 拡張機能を追加する」のセクションを参照)、そのプラグインは
extensionsセクションで参照されます。 -
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-config
Azure 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