Política de StatisticsCollector

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 name puede contener letras, números, espacios, guiones, guiones bajos y puntos. Este valor no puede superar los 255 caracteres.

De forma opcional, usa el elemento <DisplayName> para etiquetar la política en el editor de proxy de la IU de administración con un nombre de lenguaje natural diferente.

No disponible Obligatorias
continueOnError

Configúralo como false para mostrar un error cuando una política falla. Este es el comportamiento previsto para la mayoría de las políticas.

Configúralo como true para continuar con la ejecución del flujo incluso después de que una política falle.

false Opcional
enabled

Configúralo como true para aplicar la política.

Configúralo como false para desactivar la política. La política no se aplicará incluso si permanece adjunta a un flujo.

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 name de la política.

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 ref.

Si la variable especificada por ref no está definida en una solicitud o respuesta, defaultStatValue especifica el valor recopilado para la variable. Si omites el valor predeterminado, no se recopilan datos para la variable cuando esta no esté definida.

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.
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.
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á.

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: