Política do StatisticsCollector

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

O que

Permite coletar estatísticas de dados em uma mensagem, como ID do produto, preço, REST ação, URL do cliente e alvo, e tamanho da mensagem. Os dados podem vir de variáveis de fluxo predefinidos pela Apigee ou por variáveis personalizadas definidas por você.

Os dados estatísticos são passados para o servidor de análise, que analisa as estatísticas e gera relatórios. É possível visualizar os relatórios usando a interface de gerenciamento do Edge ou a API Edge.

Amostras

Exemplo 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>

Neste exemplo, você coleta informações estatísticas sobre duas variáveis personalizadas: product.id e product.price. Em cada solicitação, o A política do coletor de estatísticas grava o valor dessas duas variáveis na análise servidor.

Este exemplo também define um valor padrão opcional para cada variável, em que o valor o valor de product.id é 999999 e o product.price padrão é zero. Se uma variável for indefinida e você não especificar um valor padrão, nenhum dado será registrados para a variável. Se você especificar um valor padrão, ele será é registrado quando a variável é indefinida.

Depois de coletar dados estatísticos, use a interface ou a API de gerenciamento de borda para recuperar as estatísticas. Ao recuperar estatísticas, você faz referência aos dados coletados para essas variáveis como productID e price, respectivamente.

Acessar estatísticas

Neste exemplo, você usa a API Edge Management para visualizar os dados estatísticos da uma coleção chamada productID. Essa solicitação cria um relatório personalizado IDs de produtos com base na soma das contagens de mensagens enviadas para cada ID do produto para cada dia. Substitua o nome da sua organização pela variável {org_name}. Substitua o e-mail e a senha da sua conta no Apigee Edge por email:password.

Defina o parâmetro timeRange para incluir o intervalo de tempo em que seus dados foram coletados. Dados com mais de seis meses da data atual não podem ser acessados por padrão. Se Se você quiser acessar dados com mais de seis meses, entre em contato com o suporte do 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

Na resposta, o atributo name contém o ID do produto, e o valor mostra o número de solicitações para cada dia:

{
  "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"
  }
}

Extração de dados para coleta

<?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>

A política do Coletor de estatísticas exige que os dados coletados sejam armazenados em variáveis. Essas variáveis podem ser predefinidas pela Apigee ou por variáveis personalizadas que você definir.

Neste exemplo, você usa a política "Extrair variáveis" para extrair dados de um payload XML. que contém informações meteorológicas. Ela serve para:

  • Extrai o nome da cidade e o grava em uma variável chamada weather.location
  • Extrai as condições atuais e as grava em uma variável chamada weather.condition.

Você pode usar a política do Coletor de estatísticas para coletar informações sobre o variáveis, conforme mostrado abaixo:

<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 acessar um tutorial completo que mostra como extrair dados de um payload XML para o política do coletor de estatísticas, consulte API Analyze o conteúdo da mensagem usando análises personalizadas.


Sobre a política do Coletor de estatísticas

Quando executada, a política do Coletor de estatísticas registra o valor atual de um ou mais variáveis. Podem ser variáveis de fluxo predefinidas pela Apigee ou variáveis personalizadas que que você definir. Esses dados são gravados no servidor de análise de borda.

Para acessar os dados estatísticos coletados pela política, use a API ou o Edge interface de usuário de gerenciamento. Por exemplo, é possível usar a interface do Edge para criar um relatório personalizado que mostra os dados coletados em vários formatos.

Para um tutorial completo usando a política do Coletor de estatísticas, consulte API Analyze o conteúdo da mensagem usando análises personalizadas.

Onde colocar a política

Você pode colocar uma política de coletor de estatísticas no fluxo de solicitação ou resposta de uma API proxy. No entanto, se você colocar várias políticas do Coletor de estatísticas em um proxy, a última um a ser executado determina os dados gravados no servidor de análise e os dados gravados por qualquer as políticas anteriores do Coletor de estatísticas são perdidas.

Um cenário em que você pode ter várias políticas do coletor de estatísticas em um proxy de API é quando há um no fluxo de solicitação ou resposta e outro em um gerenciador de falhas. Se uma falha ocorre no proxy da API, o coletor de estatísticas no gerenciador de falhas determina os dados coletados. Use esse coletor de estatísticas para registrar informações sobre a falha ou para registre qualquer outra informação que você considere necessária. O coletor de estatísticas na falha determina os dados coletados, independentemente de o Coletor de estatísticas na solicitação/resposta já executada.

Para mais informações, consulte Como lidar com falhas.

Referência de elemento

A referência de elementos descreve os elementos e atributos do Coletor de estatísticas política.

<?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>

&lt;StatisticsCollector&gt; atributos

<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Stats-1">

A tabela a seguir descreve atributos comuns a todos os elementos pai de políticas:

Atributo Descrição Padrão Presença
name

O nome interno da política. O valor do atributo name pode conter letras, números, espaços, hifens, sublinhados e pontos. Esse valor não pode exceder 255 caracteres.

Opcionalmente, use o elemento <DisplayName> para rotular a política no editor de proxy da IU de gerenciamento com um nome de linguagem natural diferente.

N/A Obrigatório
continueOnError

Defina como false para retornar um erro quando uma política falhar. Esse é o comportamento esperado na maioria das políticas.

Defina como true para que a execução do fluxo continue, mesmo depois que uma política falhar.

falso Opcional
enabled

Defina como true para aplicar a política.

Defina como false para desativar a política. A política não será aplicada mesmo se ela permanecer anexada a um fluxo.

true Opcional
async

Esse atributo está obsoleto.

falso Obsoleto

Elemento <DisplayName>

Use em conjunto com o atributo name para rotular a política no editor de proxy da IU de gerenciamento com um nome de linguagem natural diferente.

<DisplayName>Policy Display Name</DisplayName>
Padrão

N/A

Se você omitir esse elemento, será usado o valor do atributo name da política.

Presença Opcional
Tipo String

&lt;Statistics&gt;/&lt;Statistic&gt; elemento

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
Atributo Descrição Padrão Presença
nome

O nome usado para fazer referência aos dados coletados para a variável especificada. Ao visualizar dados de análise, use esse nome para fazer referência aos dados coletados sobre a variável especificado por ref. .

Se a variável especificada por ref for indefinida em uma solicitação ou resposta, então defaultStatValue especifica o valor coletados para a variável. Se você omitir o valor padrão, nenhum dado será coletado para o variável quando ela é indefinida.

Restrições de nomenclatura

As seguintes restrições de nomenclatura se aplicam a variáveis de análise personalizadas:

N/A Obrigatório
ref

A variável de fluxo da qual você está coletando estatísticas. Essa variável pode ser um fluxo predefinida pela Apigee ou uma variável personalizada definida no proxy de API.

O atributo ref normalmente faz referência a uma variável personalizada definida pelas variáveis Extrair política. Consulte Extrair variáveis política para saber mais.

N/A Obrigatório
tipo

Especifica o tipo de dados da variável especificada pelo atributo ref. Os valores válidos são: string/integer/float/long/double/boolean.

Para dados do tipo string, faça referência aos dados estatísticos como uma Dimension em um um relatório personalizado. Para tipos de dados numéricos (inteiro/flutuante/longo/duplo), faça referência ao dados estatísticos em um relatório personalizado como uma Dimensão ou uma Métrica. Consulte Gerenciar relatórios personalizados para saber mais.

O valor de type pode ser omitido somente se ref se referir a um A variável de fluxo da Apigee ou o tipo é declarado no payload XML da guia "Extract Variables" política.

string Opcional

Referência de erros

Nesta seção, descrevemos as mensagens de erro e as variáveis de fluxo que são definidas quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para um proxy. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.

Erros de execução

Nenhum.

Erros de implantação

Nome do erro Causa Corrigir
UnsupportedDatatype Se o tipo da variável especificado pelo atributo de referência no elemento <Statistic> da política do Coletor de estatísticas não for compatível, a implantação do proxy de API falhará. Os tipos de dados compatíveis são string, integer, float, long, double e boolean.
InvalidName Se o nome usado para fazer referência aos dados coletados para a variável especificada definida no elemento <Statistic> da política do Coletor de estatísticas entrar em conflito com uma variável definida pelo sistema, a implantação do proxy de API falhará. Algumas das variáveis definidas pelo sistema conhecidas são organization e environment.
DatatypeMissing Se o tipo da variável especificado pelo atributo ref no elemento <Statistic> da política do Coletor de estatísticas estiver ausente, a implantação do proxy de API falhará.

Variáveis de falha

Nenhum.

Schema

Cada tipo de política é definido por um esquema XML (.xsd). Para referência, os esquemas de política estão disponíveis no GitHub.

Temas relacionados

Confira mais informações em: