Estás consultando la documentación de Apigee Edge.
Consulta la
documentación de Apigee X. Información
Qué
Te permite recopilar estadísticas sobre los datos de un mensaje, como el ID del producto, el precio, la acción de REST, la URL de cliente y de destino, y la longitud del mensaje. Los datos pueden provenir de variables de flujo predefinidas por Apigee o variables personalizadas que tú definas.
Los datos estadísticos se pasan al servidor de estadísticas, que analiza las estadísticas y genera informes. Para ver los informes, puedes usar la IU de administración de Edge o la API de Edge.
Ejemplos
Ejemplo básico
<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>
En este ejemplo, recopilas información estadística sobre dos variables personalizadas: product.id y product.price. En cada solicitud, la política del Recopilador de estadísticas escribe el valor de estas dos variables en el servidor de estadísticas.
En este ejemplo, también se establece un valor predeterminado opcional para cada variable, donde el valor predeterminado de product.id es 999999 y el de product.price predeterminado es 0. Si una variable no está definida y no especificas un valor predeterminado, no se registran datos para la variable. Si especificas un valor predeterminado, este se registra cuando la variable no está definida.
Después de recopilar datos estadísticos, puedes usar la IU o la API de administración de Edge para recuperarlas. Cuando recuperas estadísticas, haces referencia a los datos recopilados para estas variables como productID y price, respectivamente.
Accede a las estadísticas
En este ejemplo, se usa la API de Edge Management para ver los datos estadísticos de la colección llamada productID
. Con esta solicitud, se crea un informe personalizado para los IDs de productos en función de la suma de recuentos de mensajes enviados para cada ID de producto en cada día. Sustituye el nombre de tu organización por la variable {org_name}
y el correo electrónico y la contraseña de tu cuenta en Apigee Edge por email:password
.
Configura el parámetro timeRange
para incluir el intervalo de tiempo en el que se recopilaron los datos. Los datos anteriores a seis meses desde la fecha actual no son accesibles de forma predeterminada. Si
quieres acceder a datos de más de seis meses, comunícate con el equipo de asistencia de 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
En la respuesta, el campo name contiene el ID del producto y el valor muestra la cantidad de solicitudes por cada día:
{ "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" } }
Extraer datos para su recopilación
<?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>
La política del Recopilador de estadísticas requiere que los datos recopilados se almacenen en variables. Estas variables pueden estar predefinidas por Apigee o variables personalizadas que tú definas.
En este ejemplo, se usa la política Extraer variables para extraer datos de una carga útil de XML que contiene información meteorológica. Esta política sirve para lo siguiente:
- Extrae el nombre de la ciudad y lo escribe en una variable llamada weather.location.
- Extrae las condiciones actuales y las escribe en una variable llamada weather.condition.
Luego, puedes usar la política del Recopilador de estadísticas para recopilar información sobre las variables, como se muestra a continuación:
<StatisticsCollector name="publishPurchaseDetails"> <Statistics> <Statistic name="weatherLocation" ref="weather.location" type="string"></Statistic> <Statistic name="weatherCondition" ref="weather.condition" type="string"></Statistic> </Statistics> </StatisticsCollector>
Para ver un instructivo completo que muestra cómo extraer datos de una carga útil de XML para la política del Recopilador de estadísticas, consulta Analiza el contenido de los mensajes de la API con estadísticas personalizadas.
Acerca de la política del Recopilador de estadísticas
Cuando se ejecuta, la política del Recopilador de estadísticas registra el valor actual de una o más variables. Estas variables pueden ser variables de flujo predefinidas por Apigee o variables personalizadas que tú definas. Estos datos se escriben en el servidor de estadísticas perimetrales.
Para acceder a los datos estadísticos que recopila la política, usa la API de Edge o la IU de administración de Edge. Por ejemplo, puedes usar la IU de administración de Edge para crear un informe personalizado que muestre los datos recopilados en una variedad de formatos.
Para obtener un instructivo completo sobre la política del Recopilador de estadísticas, consulta Analiza el contenido de los mensajes de la API con estadísticas personalizadas.
Dónde colocar la política
Puedes incluir una política de Recopilador de estadísticas en el flujo de solicitud o respuesta de un proxy de API. Sin embargo, si colocas varias políticas del Recopilador de estadísticas en un proxy, la última que se ejecute determinará los datos escritos en el servidor de estadísticas y los datos escritos por las políticas anteriores del Recopilador de estadísticas.
Una situación en la que puedes tener varias políticas del Recopilador de estadísticas en un proxy de API es cuando tienes una en el flujo de solicitud o respuesta y otra en un controlador de fallas. Si se produce una falla en el proxy de API, el Recopilador de estadísticas del controlador de fallas determina los datos recopilados. Puedes usar ese Recopilador de estadísticas para registrar información sobre la falla o cualquier otra información que consideres necesaria. El Recopilador de estadísticas del controlador de fallas determina los datos recopilados sin importar si ya se ejecutó o no en la solicitud o respuesta.
Para obtener más información, consulta Soluciona fallas.
Referencia del elemento
La referencia del elemento describe los elementos y atributos de la política del Recopilador de estadísticas.
<?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>
Atributos <Statistics Collector>
<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Stats-1">
En la siguiente tabla, se describen los atributos que son comunes a todos los elementos principales de las políticas:
Atributo | Descripción | Predeterminada | Presencia |
---|---|---|---|
name |
El nombre interno de la política. El valor del atributo De forma opcional, usa el elemento |
No disponible | Obligatorias |
continueOnError |
Configúralo como Configúralo como |
false | Opcional |
enabled |
Configúralo como Configúralo como |
true | Opcional |
async |
Este atributo dejó de estar disponible. |
false | Funciones obsoletas |
Elemento <DisplayName>
Se usan además del atributo name
para etiquetar la política en el editor de proxy de la IU de administración con un nombre de lenguaje natural diferente.
<DisplayName>Policy Display Name</DisplayName>
Predeterminada |
No disponible Si omites este elemento, se usa el valor del atributo |
---|---|
Presencia | Opcional |
Tipo | Cadena |
Elemento <Statistics>/<Statistic>
<Statistics> <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic> </Statistics>
Atributo | Descripción | Predeterminada | Presencia |
---|---|---|---|
name |
Es el nombre que se usa para hacer referencia a los datos recopilados para la variable especificada. Cuando consultes datos de estadísticas, usa este nombre para hacer referencia a los datos recopilados sobre la variable especificada por el atributo Si la variable especificada por Restricciones de nombres Las siguientes restricciones de denominación se aplican a variables de estadísticas personalizadas:
|
No disponible | Obligatorias |
ref |
La variable de flujo para la que recopilas estadísticas. Esta variable puede ser una variable de flujo predefinida por Apigee o una variable personalizada que definas en tu proxy de API. El atributo ref a menudo hace referencia a una variable personalizada definida por la política Extraer variables. Consulta la política para extraer variables para obtener más información. |
No disponible | Obligatorias |
tipo |
Especifica el tipo de datos de la variable especificada por el atributo ref. Los valores válidos son string/integer/float/long/double/boolean. Para obtener datos de tipo string, haz referencia a los datos estadísticos como una Dimensión en un informe personalizado. Para los tipos de datos numéricos (número entero/flotante/largo/doble), haz referencia a los datos estadísticos en un informe personalizado como Dimensión o Métrica. Consulta el artículo Cómo administrar informes personalizados para obtener más información. El valor de type solo se puede omitir si ref hace referencia a una variable de flujo de Apigee predefinida o si el tipo se declara en la carga útil XML de la política Extract Variables. |
cadena | Opcional |
Referencia de errores
En esta sección, se describen los mensajes de error y las variables de flujo que se configuran cuando esta política activa un error. Esta información es importante si deseas saber si desarrollas reglas de fallas para un proxy. Para obtener más información, consulta Lo que necesitas saber sobre errores de políticas y Controla fallas.
Errores de entorno de ejecución
Ninguno
Errores en la implementación
Nombre del error | Causa | Corregir |
---|---|---|
UnsupportedDatatype |
Si el tipo de la variable especificada por el atributo ref en el elemento <Statistic>
de la política del Recopilador de estadísticas no es compatible, la implementación del proxy de la
API fallará. Los tipos de datos admitidos son string , integer , float , long , double y boolean . |
build |
InvalidName |
Si el nombre que se usa para hacer referencia a los datos recopilados para la variable especificada definida en el elemento <Statistic> de la política del Recopilador de estadísticas entra en conflicto con una variable definida por el sistema, la implementación del proxy de API fallará. Algunas de las variables definidas por el sistema conocidas son organization y environment . |
build |
DatatypeMissing |
Si falta el tipo de variable especificada por el atributo ref en el elemento <Statistic> de la política del Recopilador de estadísticas, la implementación del proxy de API fallará. |
build |
Variables con fallas
Ningún contenido de este tipo
Esquema
Un esquema XML (.xsd
) define cada tipo de política. Como referencia, los esquemas de políticas están disponibles en GitHub.
Temas relacionados
Para obtener más información, consulta: