Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Что
Позволяет собирать статистику по данным в сообщении, таким как идентификатор продукта, цена, действие REST, URL-адрес клиента и цели, а также длина сообщения. Данные могут поступать из переменных потока, предопределенных Apigee, или из пользовательских переменных, которые вы определяете.
Статистические данные передаются на аналитический сервер, который анализирует статистику и генерирует отчеты. Вы можете просмотреть отчеты, используя пользовательский интерфейс управления Edge или 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 или API для получения статистики. При получении статистики вы ссылаетесь на данные, собранные для этих переменных, как productID и price соответственно.
Доступ к статистике
В этом примере вы используете API управления Edge для просмотра статистических данных для коллекции с именем productID . Этот запрос создает пользовательский отчет для идентификаторов продуктов на основе суммы количества сообщений, отправленных для каждого идентификатора продукта за каждый день. Замените название вашей организации на переменную {org_name} , а адрес электронной почты и пароль вашей учетной записи в Apigee Edge на email:password .
Установите параметр timeRange таким образом, чтобы он включал временной интервал, в течение которого были собраны ваши данные. Данные старше шести месяцев с текущей даты по умолчанию недоступны. Если вы хотите получить доступ к данным старше шести месяцев, обратитесь в службу поддержки 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
В ответе поле «Имя» содержит идентификатор продукта, а поле «Значение» показывает количество запросов за каждый день:
{
"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.
Для доступа к статистическим данным, собранным в рамках политики, вы используете API Edge или пользовательский интерфейс управления Edge. Например, вы можете использовать пользовательский интерфейс управления Edge для создания пользовательского отчета, отображающего собранные данные в различных форматах.
Полное руководство по использованию политики сбора статистики см. в разделе «Анализ содержимого сообщений API с помощью пользовательской аналитики» .
Куда разместить полис
Вы можете добавить политику сбора статистики в поток запроса или ответа API-прокси. Однако, если вы добавите несколько политик сбора статистики в прокси, то последняя выполненная политика определит данные, записываемые на аналитический сервер, а данные, записанные предыдущими политиками сбора статистики, будут потеряны.
Один из сценариев, когда в API-прокси может быть несколько политик сбора статистики, — это когда одна находится в потоке запроса или ответа, а другая — в обработчике ошибок. Если в API-прокси возникает ошибка, то сборщик статистики в обработчике ошибок определяет, какие данные будут собраны. Вы можете использовать этот сборщик статистики для записи информации об ошибке или для записи любой другой информации, которую вы считаете необходимой. Сборщик статистики в обработчике ошибок определяет данные, которые будут собраны, независимо от того, был ли уже выполнен сборщик статистики в запросе/ответе.
Дополнительную информацию см. в разделе «Обработка ошибок» .
Ссылка на элемент
В справочном документе по элементам описываются элементы и атрибуты политики сбора статистических данных.
<?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 , чтобы пометить политику в редакторе прокси-сервера пользовательского интерфейса управления другим именем на естественном языке.
<DisplayName>Policy Display Name</DisplayName>
| По умолчанию | Н/Д Если вы опустите этот элемент, будет использовано значение атрибута |
|---|---|
| Присутствие | Необязательный |
| Тип | Нить |
Элемент <Статистика>/<Статистика>
<Statistics> <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic> </Statistics>
| Атрибут | Описание | По умолчанию | Присутствие |
|---|---|---|---|
| имя | Имя, используемое для ссылки на данные, собранные для указанной переменной. При просмотре аналитических данных используйте это имя для ссылки на данные, собранные по переменной, указанной атрибутом Если переменная, указанная в Ограничения на именование К пользовательским аналитическим переменным применяются следующие ограничения на именование:
| Н/Д | Необходимый |
| ссылка | Переменная потока, для которой вы собираете статистику. Эта переменная может быть предопределенной Apigee переменной потока или пользовательской переменной, которую вы определяете в своем API-прокси. Атрибут `ref` часто ссылается на пользовательскую переменную, определенную политикой извлечения переменных. Дополнительную информацию см. в разделе «Политика извлечения переменных» . | Н/Д | Необходимый |
| тип | Указывает тип данных переменной, заданной атрибутом ref . Допустимые значения: string/integer/float/long/double/boolean. Для данных строкового типа используйте в качестве ссылки на статистические данные измерение в пользовательском отчете. Для числовых типов данных (целое число/число с плавающей запятой/длинное число/число с плавающей запятой) используйте в качестве ссылки на статистические данные в пользовательском отчете либо измерение , либо метрику . Дополнительные сведения см. в разделе «Управление пользовательскими отчетами» . Значение параметра 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.
Связанные темы
Для получения более подробной информации см.: