API를 사용하여 로그 보기

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

API Monitoring 로그를 다운로드하여 API Monitoring 대시보드에 표시되는 측정항목을 계산하는 데 사용되는 원시 데이터를 확인합니다. 커스텀 기간, 특정 프록시, 특정 상태 코드, 기타 여러 변수에 대한 로그를 다운로드할 수 있습니다.

참고: 기본적으로 로그 API를 호출하면 상태 코드가 4xx 및 5xx인 결과만 반환되며 코드 2xx가 포함된 결과만 반환되지 않습니다. 대부분의 결과는 상태 코드가 2xx이므로 이 작업은 결과 수를 제한하기 위해 수행됩니다. 상태 코드 2xx의 결과를 가져오려면 요청에 status=2xx를 추가합니다. 예를 들면 https://apimonitoring.enterprise.apigee.com/logs?status=2xx입니다.

다음 섹션에서는 API를 사용하여 로그를 관리하는 방법을 설명합니다.

로그 API에 관한 자세한 내용은 로그 API를 참고하세요.

이 예에서 사용된 cURL 옵션에 대한 자세한 내용은 cURL 사용을 참고하세요.

조직 및 환경의 로그 다운로드

로그 API를 사용하여 특정 조직 및 환경의 로그를 다운로드합니다.

https://apimonitoring.enterprise.apigee.com/logs

orgenv 쿼리 매개변수를 사용하여 조직 및 환경의 이름을 전달해야 합니다.

기본적으로 API는 지난 1시간 동안의 최근 로그 항목 10개를 반환합니다. 예를 들면 다음과 같습니다.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

OAuth 2.0 액세스 토큰 가져오기에 설명된 대로 $ACCESS_TOKEN을 OAuth 2.0 액세스 토큰으로 설정합니다.

응답은 다음과 같은 형식의 로그 항목 배열입니다.

[   
  {
"request":"GET /v1/o/myorg/z HTTP/1.1",
    "request_length":1349,
    "request_message_id":"rrt-0623eb157b650315c-c-ne-7785-16029140-1",
    "virtual_host":"api.enterprise.apigee.com",
    "response_size":144,
    "response_time":0.551,
    "response_status":"404",
    "timestamp":"2018-08-14T17:31:07Z",
    "fault_code":"messaging.adaptors.http.flow.ErrorResponseCode",
    "fault_flow":"-",
    "fault_policy":"null/null",
    "fault_proxy":
        "/organizations/myorg/environments/prod/apiproxies/myAPI/revisions/50",
    "fault_source":"target"
  },
  …
]

fromto 쿼리 매개변수를 사용하여 ISO 형식의 기간을 지정합니다. 날짜 형식은 다음 중 하나일 수 있습니다.

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-mm-ddThh:mm:ss+00:00

예를 들면 다음과 같습니다.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod&from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

API에는 다수의 선택적 쿼리 매개변수가 있습니다. 예를 들어 HTTP 404 응답을 생성하는 myAPI라는 프록시의 로그를 확인하려면 다음을 실행합니다.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod&proxy=myAPI&status=404" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

10개가 넘는 로그 항목을 반환하려면 limit 쿼리 매개변수를 설정하세요. 최댓값 1,000으로 설정할 수 있습니다.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod&proxy=myAPI&status=404&limit=200" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

추가 옵션은 로그 API를 참고하세요.

가상 호스트 및 기본 경로와 연결된 프록시 나열

에지 라우터의 가상 호스트를 사용하면 도메인 이름, HTTP/HTTPS와 같은 프로토콜, 포트 번호를 지정할 수 있습니다. 예를 들어 Edge Router에서 다음 설정으로 가상 호스트를 정의합니다.

  • 호스트 별칭 = apis.acme.com
  • port = 443
  • TLS 사용 설정됨

이러한 설정에 따라 이 가상 호스트와 연결된 API 프록시에 대한 요청은 다음 형식을 사용합니다.

https://apis.acme.com/proxy-base-path/resource-path

각 항목의 의미는 다음과 같습니다.

  • proxy-base-path는 API 프록시를 만들 때 정의되며 각 API 프록시마다 고유합니다.
  • resource-path는 API 프록시를 통해 액세스할 수 있는 리소스의 경로입니다.

가상 호스트에 대한 상세 내용은 가상 호스트 정보를 참조하세요.

로그 API의 다음 리소스에 GET 요청을 실행하여 특정 가상 호스트 및 기본 경로와 연결된 API 프록시 목록을 다운로드합니다.

https://apimonitoring.enterprise.apigee.com/logs/apiproxies

orgenv 쿼리 매개변수와 가상 호스트 및 기본 경로와 연결된 URI를 사용하여 조직 및 환경의 이름을 전달해야 합니다.

예를 들어 다음 API 호출은 가상 호스트 http://apis.acme.com 및 기본 경로 /v1/perf와 연결된 프록시를 반환합니다.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs/apiproxies?org=myorg&env=prod&select=http://apis.acme.com/v1/perf" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" 

OAuth 2.0 액세스 토큰 가져오기에 설명된 대로 $ACCESS_TOKEN을 OAuth 2.0 액세스 토큰으로 설정합니다.

추가 옵션은 로그 API를 참고하세요.