API를 사용하여 측정항목 데이터 보기

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

아래 설명된 API를 사용하여 API 모니터링 측정항목을 가져옵니다. 측정항목은 API 모니터링 로그에 포함된 원시 데이터에서 API 모니터링이 집계한 데이터 값입니다.

다음 섹션에서는 API를 사용하여 측정항목을 관리하는 방법을 설명합니다.

Metrics API에 대한 자세한 내용은 Metrics API를 참고하세요.

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

Metrics API

Metrics API에 GET 요청을 할 때 사용하는 기본 URL은 다음과 같습니다.

https://apimonitoring.enterprise.apigee.com/metrics/resource

여기서 resource는 특정 측정항목에 해당합니다. 다음 표에는 측정항목 리소스가 나와 있습니다.

리소스 설명
/traffic 트래픽 측정항목을 가져옵니다. 프록시 이름, 간격, 기간, 대상, 상태 코드 등의 필터를 지정합니다.
/latency 요청의 지연 시간 측정항목 가져오기

에지 및 백엔드 대상에 적용됩니다 프록시 이름, 간격, 대상, 상태 코드 등의 필터를 지정합니다.

/targets 특정 조직 및 환경의 모든 대상 도메인을 가져옵니다.
/alerthistory 특정 조직 및 기간의 알림 기록 측정항목을 가져옵니다.
/alertinstance/instanceid 특정 알림 인스턴스 ID의 알림 기록 측정항목을 가져옵니다.
/alertsummary 조직 및 기간의 총 알림 수를 가져옵니다.
/faultcodenames 모든 오류 코드 이름을 가져옵니다.
/faultcodes 오류 코드를 가져옵니다.
/faultcodecategories 오류 코드 카테고리를 가져옵니다.
/faultcodesubcategories 오류 코드 하위 카테고리를 가져옵니다.
/faultcodedetails 세부정보와 함께 모든 오류 코드를 가져옵니다.

오류 정보 가져오기

/fault* 리소스는 모두 Edge에서 발생 가능한 오류에 대한 메타데이터를 반환합니다. 예를 들어 가능한 모든 오류 카테고리의 목록을 보려면 다음을 실행합니다.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

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

다음과 같이 응답이 표시됩니다.

{
  "faultCodeCategories":[
    "","API Protocol","Developer/App","Extension Policy","Gateway",
    "Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
  ]
}

그러면 API Protocol 카테고리의 오류 코드 목록을 확인할 수 있습니다.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

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

트래픽 및 지연 시간 측정항목 캡처

Metrics API에는 계산된 측정항목에 커스텀 기간, 프록시, 리전, 환경, 기타 필터를 지정하기 위해 API에 적용할 수 있는 필터가 있습니다. 예를 들어 모든 환경의 이전 1시간에 대한 10분마다 초당 트랜잭션 (tps) 측정항목을 보려면 다음 안내를 따르세요.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=10m&groupBy=env&org=myorg" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN" 

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

이 호출은 다음 형식으로 결과를 반환합니다.

{
  "results":[
    {
      "series":[
        {
          "name":"proxy",
        "tags":
             {
                "env":"prod",
                "intervalSeconds":"60",
                "org":"myorg",
                "region":"myregion"
              },
            "columns":["time","tps"],
            "values":[
              ["2018-08-15T13:10:00Z",5.03],
              ["2018-08-15T13:20:00Z",5.01],
              ["2018-08-15T13:30:00Z",5.81],
              ["2018-08-15T13:40:00Z",5.95],
              …
            ]
          },
       …
       }
    }]
}

columns 속성이 values의 형식을 지정하는 방식을 확인하세요. values 속성에는 이전 10분 간격 동안 10분마다 계산된 tps가 포함됩니다.

interval 쿼리 매개변수는 측정항목이 결과에 저장되는 빈도와 결과 값의 샘플링 기간을 정의합니다. 위의 예에서는 측정항목이 이전 10분 동안 계산되며 10분마다 결과에 기록됩니다.

fromto 쿼리 매개변수를 사용하여 ISO 형식의 기간을 지정합니다. fromto에 의해 지정된 최대 시간은 24시간입니다.

날짜 형식은 다음 중 하나일 수 있습니다.

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

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

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

또는 fromto 쿼리 매개변수를 사용하여 상대적 기간(예: 지난 1시간)을 지정합니다.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

또 다른 옵션은 proxy 쿼리 매개변수를 사용하여 단일 프록시의 초당 트랜잭션 수 (tps)를 표시하는 것입니다.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

지연 시간 측정항목의 경우 트래픽 측정항목과 동일한 기준을 여러 개 지정합니다. 그러나 /latency 리소스의 경우 다음을 실행합니다.

  • percentile 쿼리 매개변수를 50, 90, 95 또는 99로 지정해야 합니다. 예를 들어 90를 지정하면 API는 90번째 백분위수의 총 응답 지연 시간 값을 반환합니다.
  • windowsize은 1분으로 고정되어 있습니다.

예를 들어 1분 동안의 90번째 백분위수에서 총 지연 시간의 측정항목을 확인하려면 다음을 실행합니다.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/latency?percentile=90&select=totalLatency&from=-1h&to=now&interval=5m&windowsize=1m&groupBy=org,env,region&org=myorg" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

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

알림 측정항목 캡처

Metrics API는 모든 알림, 특정 알림 또는 알림 요약에 대한 측정항목을 반환합니다. 예를 들어 조직의 지난 1시간 동안의 알림 기록을 가져오려면 다음 안내를 따르세요.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&from=-1h&to=now" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

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

이 API 호출은 다음 형식으로 응답을 반환합니다.

[
  {
"id":"983c4c7a-c301-4697-95cc-9a7c53e05fac",
"organization":"myorg",
"environment":"prod",
"name":"Public Api 5xx error rate",
"type":"Alert",
"source":"https://www.apigee.net/sonar",
"raw_payload":"
{
    \"reportUUID\":\"\",
    \"reportEnabled\":false,
    \"organization\":\"myorg\",
    \"name\":\"Public Api 5xx error rate\",
    \"self\":\"/alerts/95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"description\":\"\",
    \"conditions\":[
    {
        \"comparator\":\"\u003e\",
        \"metric\":\"rate\",
        \"durationSeconds\":3600,
        \"name\":\"\",
        \"description\":\"\",
        \"threshold\":0.01,
        \"dimensions\":
        {
            \"proxy\":\"myAPI\",
            \"org\":\"myorg\",
            \"env\":\"prod\",
            \"region\":\"myRegion\",
            \"statusCode\":\"5xx\"
            }
        }],
        \"uuid\":\"95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"playbook\":\"This is a test alert.\"
    }",
"time":"2018-08-14T12:45:28Z"
 },
 …
]

그런 다음 반환된 배열에서 id를 사용하여 특정 알림에 관한 정보를 가져올 수 있습니다.

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

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