Apigee Edge 문서입니다.
Go to the
Apigee X 문서로 이동합니다. info
대상
제품 ID, 가격, REST 작업, 클라이언트 및 대상 URL, 메시지 길이와 같이 메시지의 데이터 통계를 수집할 수 있습니다. 데이터는 Apigee로 사전 정의된 흐름 변수 또는 사용자가 정의한 커스텀 변수에서 시작될 수 있습니다.
통계 데이터는 통계를 분석하고 보고서를 생성하는 분석 서버로 전달됩니다. Edge 관리 UI 또는 Edge API를 사용하여 보고서를 볼 수 있습니다.
샘플
기본 예시
<StatisticsCollector name="publishPurchaseDetails"> <Statistics> <Statistic name="productID" ref="product.id" type="string">999999</Statistic> <Statistic name="price" ref="product.price" type="string">0</Statistic> </Statistics> </StatisticsCollector>
이 예에서는 두 개의 커스텀 변수( product.id 및 product.price)에 대한 통계 정보를 수집합니다. 모든 요청에서 통계 수집기 정책은 이 두 변수의 값을 분석 서버에 작성합니다.
이 예에서는 각 변수에 선택적 기본값도 설정합니다. 여기서 기본 product.id 값은 999999 이고 기본 product.price 은 0입니다. 변수가 정의되지 않고 기본값을 지정하지 않으면 변수에 데이터가 기록되지 않습니다. 기본값을 지정하면 변수가 정의되지 않을 때 기본값이 기록됩니다.
통계 데이터를 수집한 후에는 Edge 관리 UI 또는 API 를 사용하여 통계를 검색할 수 있습니다. 통계를 검색할 때 이러한 변수에 대해 수집된 데이터를 각각 productID 및 price로 참조합니다.
통계 액세스
이 예에서는 Edge 관리 API를 사용하여
컬렉션인 productID의 통계 데이터를 봅니다. 이 요청은 각 제품 ID에 대해 매일 제출된 메시지 수의 합계를 기반으로 제품 ID에 대한 커스텀 보고서를 작성합니다. 조직 이름을 변수 {org_name}으로 대체하고 Apigee Edge 계정의 이메일과 비밀번호를 email:password로 대체합니다.
데이터가 수집된 시간 간격을 포함하도록 timeRange 매개변수를 설정합니다. 현재 날짜로부터 6개월 이상 오래된 데이터는 기본적으로 액세스할 수 없습니다. 6개월 이상 오래된 데이터에 액세스하려면 Apigee Edge 지원팀에 문의하세요.
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/environments/test/stats/productID?"select=sum(message_count)&timeRange=1/19/2015%2000:00~6/21/2015%2000:00&timeUnit=day"
-u email:password
응답에서 name 필드에는 제품 ID가 포함되고 value에는 매일의 요청 수가 표시됩니다.
{
"environments" : [ {
"dimensions" : [ {
"metrics" : [ {
"name" : "sum(message_count)",
"values" : [ {
"timestamp" : 1353369600000,
"value" : "4.0"
} ]
} ],
"name" : "52"
}, {
"metrics" : [ {
"name" : "sum(message_count)",
"values" : [ {
"timestamp" : 1353369600000,
"value" : "19.0"
} ]
} ],
"name" : "14"
}, ...
} ],
"metaData" : {
"samplingRate" : "100"
}
}수집을 위한 데이터 추출
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables async="false" continueOnError="false" enabled="true" name="GetWeatherData"> <VariablePrefix>weather</VariablePrefix> <XMLPayload> <Namespaces> <Namespace prefix="yweather">http://xml.weather.yahoo.com/ns/rss/1.0</Namespace> </Namespaces> <Variable name="location" type="string"> <XPath>/rss/channel/yweather:location/@city</XPath> </Variable> <Variable name="condition" type="string"> <XPath>/rss/channel/item/yweather:condition/@text</XPath> </Variable> </XMLPayload> </ExtractVariables>
통계 수집기 정책에서는 수집된 데이터를 변수에 저장해야 합니다. 이러한 변수는 Apigee로 사전 정의되거나 사용자가 정의하는 커스텀 변수일 수 있습니다.
이 예에서는 변수 추출 정책을 사용하여 날씨 정보가 포함된 XML 페이로드 에서 데이터를 추출합니다. 이 정책은 다음과 같습니다.
- 도시 이름을 추출하고 weather.location이라는 변수에 작성합니다.
- 현재 조건을 추출하고 weather.condition이라는 변수에 작성합니다.
그런 다음 아래와 같이 통계 수집기 정책을 사용하여 변수에 대한 정보를 수집할 수 있습니다.
<StatisticsCollector name="publishPurchaseDetails"> <Statistics> <Statistic name="weatherLocation" ref="weather.location" type="string"></Statistic> <Statistic name="weatherCondition" ref="weather.condition" type="string"></Statistic> </Statistics> </StatisticsCollector>
통계 수집기 정책의 XML 페이로드에서 데이터를 추출하는 방법을 보여주는 전체 튜토리얼은 API 메시지 콘텐츠를 커스텀 분석을 사용하여 분석을 참조하세요.
통계 수집기 정책 정보
실행되면 통계 수집기 정책은 하나 이상의 변수의 현재 값을 기록합니다. 이러한 변수는 Apigee로 사전 정의된 흐름 변수 또는 사용자가 정의하는 커스텀 변수일 수 있습니다. 이 데이터는 Edge 분석 서버에 작성됩니다.
정책에서 수집한 통계 데이터에 액세스하려면 Edge API 또는 Edge 관리 UI를 사용합니다. 예를 들어 Edge 관리 UI를 사용하여 수집된 데이터를 다양한 형식으로 표시하는 커스텀 보고서를 만들 수 있습니다.
통계 수집기 정책을 사용하는 전체 튜토리얼은 API 메시지 콘텐츠를 커스텀 분석을 사용하여 분석을 참조하세요.
정책을 배치할 위치
API 프록시의 요청 또는 응답 흐름에 통계 수집기 정책을 배치할 수 있습니다. 하지만 정책 하나에 통계 수집기 정책을 여러 개 배치하면 실행할 마지막 정책에서 분석 서버에 작성된 데이터를 확인하고 이전 통계 수집기 정책에서 작성된 데이터가 손실됩니다.
API 프록시에 통계 수집기 정책이 여러 개 있을 수 있는 한 가지 시나리오는 요청 또는 응답 흐름에서 정책이 하나 있고 오류 핸들러에 다른 정책이 있는 경우입니다. API 프록시에서 오류가 발생하면 오류 핸들러의 통계 수집기가 수집한 데이터를 확인합니다. 이 통계 수집기를 사용하여 오류에 대한 정보를 기록하거나 필요하다고 생각되는 다른 정보를 기록할 수 있습니다. 오류 핸들러의 통계 수집기는 요청/응답의 통계 수집기 가 이미 실행되었는지 여부와 관계없이 수집된 데이터를 확인합니다.
자세한 내용은 Handling faults를 참조하세요.
요소 참조
요소 참조는 통계 수집기 정책의 요소 및 속성을 설명합니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1"> <DisplayName>Statistics Collector 1</DisplayName> <Statistics> <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic> </Statistics> </StatisticsCollector>
<StatisticsCollector> 속성
<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Stats-1">
다음 표는 모든 정책 상위 요소의 공통 속성에 대해 설명합니다.
| 속성 | 설명 | 기본값 | 현재 상태 |
|---|---|---|---|
name |
정책의 내부 이름입니다. 원하는 경우 |
해당 없음 | 필수 |
continueOnError |
정책이 실패할 경우 오류가 반환되도록 하려면 정책이 실패해도 흐름 실행이 계속되도록 하려면 |
거짓 | 선택사항 |
enabled |
정책을 시행하려면 정책을 중지하려면 |
참 | 선택사항 |
async |
이 속성은 지원이 중단되었습니다. |
거짓 | 지원 중단됨 |
<DisplayName> 요소
name 속성 외에도 이 요소를 사용하여 관리 UI 프록시 편집기의 정책에 다른 자연어 이름으로 라벨을 지정합니다.
<DisplayName>Policy Display Name</DisplayName>
| 기본값 |
해당 없음 이 요소를 생략하면 정책 |
|---|---|
| 현재 상태 | 선택사항 |
| 유형 | 문자열 |
<Statistics>/<Statistic> 요소
<Statistics> <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic> </Statistics>
| 속성 | 설명 | 기본값 | 존재 여부 |
|---|---|---|---|
| 이름 |
지정된 변수에 대해 수집되는 데이터를 참조하는 데 사용되는 이름입니다. 분석 데이터를 볼 때 이 이름을 사용하여 요청 또는 응답에서 이름 지정 제한사항 커스텀 분석 변수에는 다음과 같은 이름 지정 제한이 적용됩니다.
|
해당 사항 없음 | 필수 |
| ref |
통계를 수집하는 흐름 변수입니다. 이 변수는 Apigee에서 사전 정의된 흐름 변수 또는 API 프록시에서 정의하는 커스텀 변수일 수 있습니다. ref 속성은 변수 추출 정책에 의해 정의된 커스텀 변수를 참조하는 경우가 많습니다. 자세한 내용은 변수 추출 정책을 참조하세요. |
해당 사항 없음 | 필수 |
| 유형 |
ref 속성으로 지정된 변수의 데이터 유형을 지정합니다. 유효한 값은: string/integer/float/long/double/boolean입니다. 문자열 유형의 데이터인 경우 측정기준으로 통계 데이터를 커스텀 보고서에서 참조하세요. 수치 데이터 유형 (integer/float/long/double)의 경우 맞춤 보고서의 통계 데이터를 측정기준 또는 측정항목으로 참조하세요. 자세한 내용은 커스텀 보고서 관리를 참조하세요. type의 값은 ref가 사전 정의된 Apigee 흐름 변수를 참조하거나 유형이 변수 추출 정책의 XML 페이로드에 선언된 경우에만 생략할 수 있습니다. |
문자열 | 선택사항 |
오류 참조
This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
None.
Deployment errors
| Error name | Cause | Fix |
|---|---|---|
UnsupportedDatatype |
If the type of the variable specified by the ref attribute in the <Statistic> element
of the Statistics Collector policy is unsupported, then the deployment of the API proxy
fails. The supported data types are string, integer,
float, long, double, and boolean. |
build |
InvalidName |
If the name used to reference the data collected for the specified variable defined
within the <Statistic> element of the Statistics Collector policy conflicts with a
system-defined variable, then the deployment of the API proxy fails. Some of the known
system-defined variables are organization and environment. |
build |
DatatypeMissing |
If the type of the variable specified by the ref attribute in the <Statistic> element
of the Statistics Collector policy is missing, then the deployment of the API proxy fails. |
build |
Fault variables
None.
스키마
각 정책 유형은 XML 스키마(.xsd)로 정의됩니다. 참고로 GitHub에서 정책 스키마를 사용할 수 있습니다.
관련 주제
자세한 내용은 다음을 참고하세요.