2.3. サービスのトラブルシューティング
ワークフローオーケストレーションを維持するには、OpenAPI 関数を使用するような HTTP ベースの関数呼び出しを効率的にトラブルシューティングすることが重要です。
問題を診断するには、HTTP リクエストとレスポンスをトレースできます。
2.3.1. HTTP リクエストとレスポンスのトレース
OpenShift Serverless Logic は、Apache HTTP クライアントを使用して HTTP リクエストとレスポンスをトレースします。
前提条件
- OpenShift Container Platform でアプリケーションやその他のワークロードを作成するための適切なロールと権限を持つ OpenShift Serverless Logic プロジェクトにアクセスできる。
- OpenAPI 仕様ファイルにアクセスできる。
- HTTP リクエストとレスポンスを関連付けるためのワークフロー定義とインスタンス ID にアクセスできる。
- HTTP サービス呼び出しが発生しているアプリケーションのログ設定にアクセスできる。
手順
HTTP リクエストとレスポンスをトレースするために、OpenShift Serverless Logic は次のプロパティーを設定して Apache HTTP クライアントを使用します。
# Turning HTTP tracing on quarkus.log.category."org.apache.http".level=DEBUG
Apache HTTP クライアントのデバッグを有効にするには、アプリケーションの
application.properties
ファイルに次の設定を追加します。quarkus.log.category."org.apache.http".level=DEBUG
- ログ設定の変更を反映するには、アプリケーションを再起動します。
再起動後、ログで HTTP リクエストトレースを確認します。
トレースされた HTTP リクエストのログの例
2023-09-25 19:00:55,242 DEBUG Executing request POST /v2/models/yolo-model/infer HTTP/1.1 2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> POST /v2/models/yolo-model/infer HTTP/1.1 2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> Accept: application/json 2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> Content-Type: application/json 2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> kogitoprocid: inferencepipeline 2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> kogitoprocinstanceid: 85114b2d-9f64-496a-bf1d-d3a0760cde8e 2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> kogitoprocist: Active 2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> kogitoproctype: SW 2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> kogitoprocversion: 1.0 2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> Content-Length: 23177723 2023-09-25 19:00:55,244 DEBUG http-outgoing-0 >> Host: yolo-model-opendatahub-model.apps.trustyai.dzzt.p1.openshiftapps.com
リクエストログに続く HTTP レスポンストレースのログを確認します。
トレースされた HTTP レスポンスのログの例
2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "HTTP/1.1 500 Internal Server Error[\r][\n]" 2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "content-type: application/json[\r][\n]" 2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "date: Mon, 25 Sep 2023 19:01:00 GMT[\r][\n]" 2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "content-length: 186[\r][\n]" 2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "set-cookie: 276e4597d7fcb3b2cba7b5f037eeacf5=5427fafade21f8e7a4ee1fa6c221cf40; path=/; HttpOnly; Secure; SameSite=None[\r][\n]" 2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "[\r][\n]" 2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "{"code":13, "message":"Failed to load Model due to adapter error: Error calling stat on model file: stat /models/yolo-model__isvc-1295fd6ba9/yolov5s-seg.onnx: no such file or directory"}"