Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Что
Позволяет собирать статистику по данным в сообщении, например идентификатору товара, цене, действию REST, URL клиента и целевому 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 соответственно.
Как посмотреть статистику
В этом примере вы используете Edge Management API, чтобы посмотреть статистические данные для коллекции productID. Этот запрос создает специальный отчет для идентификаторов товаров на основе суммы количества сообщений, отправленных для каждого идентификатора товара за каждый день. Замените переменную {org_name} названием вашей организации, а переменную email:password – адресом электронной почты и паролем от вашего аккаунта в Apigee Edge.
Задайте параметр 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
В ответе поле name содержит идентификатор продукта, а значение показывает количество запросов за каждый день:
{
"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 или заданы вами.
В этом примере вы используете правило Extract Variables, чтобы извлечь данные из полезной нагрузки 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. Например, с помощью интерфейса управления Edge можно создать специальный отчет, в котором собранные данные будут представлены в разных форматах.
Полное руководство по использованию правила Statistics Collector приведено в статье Как анализировать содержимое сообщений API с помощью специальной аналитики.
Где разместить правила
Вы можете добавить правило Statistics Collector в поток запросов или ответов прокси API. Однако если в прокси-сервере задано несколько правил для сборщика статистики, то данные, записанные предыдущими правилами, будут потеряны, а на сервер аналитики будут отправлены только данные, собранные последним выполненным правилом.
В прокси-сервере API может быть несколько правил Statistics Collector, например если одно из них находится в потоке запроса или ответа, а другое – в обработчике ошибок. Если в прокси-сервере 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>
<Statistics> <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic> </Statistics>
| Атрибут | Описание | По умолчанию | Тип поля |
|---|---|---|---|
| name |
Название, используемое в качестве ссылки на данные, собранные для указанной переменной. При просмотре данных аналитики используйте это название, чтобы ссылаться на данные, собранные о переменной, указанной в атрибуте Если переменная, указанная в параметре Ограничения на названия При именовании пользовательских переменных Аналитики действуют следующие ограничения:
|
Н/Д | Обязательно |
| ref |
Переменная потока, для которой вы собираете статистику. Эта переменная может быть переменной потока, заранее определенной Apigee, или пользовательской переменной, которую вы задали в прокси-сервере API. Атрибут ref часто ссылается на пользовательскую переменную, определенную правилом Extract Variables. Подробнее о правилах в отношении извлечения переменных… |
Н/Д | Обязательно |
| тип |
Указывает тип данных переменной, заданной атрибутом ref. Допустимые значения: string/integer/float/long/double/boolean. Для строковых данных статистические данные можно использовать в качестве параметра в специальном отчете. Для числовых типов данных (целое число, число с плавающей запятой, длинное целое число, число двойной точности) статистические данные в специальном отчете можно использовать как параметр или показатель. Подробнее о том, как управлять специальными отчетами… Значение type можно не указывать, только если ref относится к предопределенной переменной потока Apigee или тип объявлен в полезной нагрузке XML правила "Извлечь переменные". |
string | Необязательно |
Справочник по ошибкам
В этом разделе описаны сообщения об ошибках и переменные потока, которые устанавливаются, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок для прокси. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…
Ошибки времени выполнения
Нет.
Ошибки развертывания
| Название ошибки | Причина | Исправить |
|---|---|---|
UnsupportedDatatype |
Если тип переменной, указанный в атрибуте ref элемента <Statistic> правила "Сборщик статистики", не поддерживается, развертывание прокси-сервера API завершится неудачно. Поддерживаются следующие типы данных: string, integer, float, long, double и boolean. |
build |
InvalidName |
Если название, используемое для ссылки на данные, собранные для указанной переменной, определенной в элементе <Statistic> правила "Сборщик статистики", конфликтует с системной переменной, развертывание прокси-сервера API завершится неудачно. К известным системным переменным относятся, например, organization и environment. |
build |
DatatypeMissing |
Если тип переменной, указанной в атрибуте ref элемента <Statistic> правила "Сборщик статистики", отсутствует, развертывание прокси-сервера API завершится неудачно. |
build |
Переменные ошибок
Нет.
Схема
Каждый тип правил определяется схемой XML (.xsd). Схемы правил доступны на GitHub.
Статьи по теме
Статьи по теме