Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
![](https://docs.apigee.com/static/api-platform/images/icon_policy_statistics-collector.jpg?authuser=0000&hl=pt)
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>
<StatisticsCollector> 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 Opcionalmente, use o elemento |
N/A | Obrigatório |
continueOnError |
Defina como Defina como |
falso | Opcional |
enabled |
Defina como Defina como |
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 |
---|---|
Presença | Opcional |
Tipo | String |
<Statistics>/<Statistic> 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 Se a variável especificada por 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 . |
build |
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 . |
build |
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á. |
build |
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: