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 서비스 호출이 발생하는 애플리케이션의 로그 구성에 액세스할 수 있습니다.
프로세스
OpenShift Serverless Logic은 HTTP 요청 및 응답을 추적하기 위해 다음 속성을 설정하여 Apache HTTP 클라이언트를 사용합니다.
# Turning HTTP tracing on quarkus.log.category."org.apache.http".level=DEBUG
애플리케이션의
application.properties
파일에 다음 구성을 추가하여 Apache HTTP Client에 대한 디버깅을 켭니다.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"}"