현재 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분마다 결과에 기록됩니다.
from
및 to
쿼리 매개변수를 사용하여 ISO 형식의 기간을 지정합니다.
from
및 to
에 의해 지정된 최대 시간은 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"
또는 from
및 to
쿼리 매개변수를 사용하여 상대적 기간(예: 지난 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를 참고하세요.