Norme di Statisticscollector

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Cosa

Consente di raccogliere statistiche per i dati in un messaggio, come ID prodotto, prezzo, azione REST, URL client e di destinazione e lunghezza del messaggio. I dati possono provenire da variabili di flusso predefinite da Apigee o variabili personalizzate da te definite.

I dati statistici vengono trasmessi al server di analisi che analizza le statistiche e genera report. Puoi visualizzare i report utilizzando l'UI di gestione perimetrale o l'API Edge.

Samples

Esempio di base

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

In questo esempio, raccogli informazioni statistiche su due variabili personalizzate: product.id e product.price. A ogni richiesta, il criterio del raccoglitore delle statistiche scrive il valore di queste due variabili nel server di analisi.

Questo esempio imposta anche un valore predefinito facoltativo per ogni variabile, dove il valore predefinito di product.id è 999999 e il valore predefinito di product.price è 0. Se una variabile non è definita e non specifichi un valore predefinito, per questa variabile non vengono registrati dati. Se specifichi un valore predefinito, quest'ultimo viene registrato quando la variabile non è definita.

Dopo aver raccolto i dati statistici, puoi utilizzare l'interfaccia utente o l'API di gestione perimetrale per recuperare le statistiche. Quando recuperi le statistiche, fai riferimento ai dati raccolti per queste variabili come productID e price, rispettivamente.

Accesso alle statistiche

In questo esempio, utilizzerai l'API Edge Management per visualizzare i dati statistici per la raccolta denominata productID. Questa richiesta crea un report personalizzato per gli ID prodotto in base alla somma del numero di messaggi inviato per ogni ID prodotto ogni giorno. Sostituisci il nome della tua organizzazione con la variabile {org_name} e l'indirizzo email e la password del tuo account su Apigee Edge con email:password.

Imposta il parametro timeRange per includere l'intervallo di tempo in cui sono stati raccolti i dati. Per impostazione predefinita, non sono accessibili dati che risalgono a più di sei mesi prima della data corrente. Se desideri accedere a dati risalenti a più di sei mesi fa, contatta l'assistenza 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

Nella risposta, il campo name contiene l'ID prodotto, mentre il valore mostra il numero di richieste per ogni giorno:

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

Estrazione dei dati per la raccolta

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

Il criterio del raccoglitore delle statistiche richiede che i dati raccolti vengano archiviati in variabili. Queste variabili possono essere predefinite da Apigee o variabili personalizzate da te definite.

In questo esempio, utilizzerai il criterio Estrai variabili per estrarre i dati da un payload XML che contiene informazioni meteo. Queste norme:

  • Estrae il nome della città e lo scrive in una variabile denominata weather.location
  • Estrae le condizioni correnti e le scrive in una variabile denominata weather.condition

Puoi quindi utilizzare il criterio del raccoglitore delle statistiche per raccogliere informazioni sulle variabili, come mostrato di seguito:

<StatisticsCollector name="publishPurchaseDetails">
  <Statistics>
    <Statistic name="weatherLocation" ref="weather.location" type="string"></Statistic>
    <Statistic name="weatherCondition" ref="weather.condition" type="string"></Statistic>
  </Statistics>
</StatisticsCollector>

Per un tutorial completo che mostra come estrarre i dati da un payload XML per il criterio del raccoglitore delle statistiche, vedi Analizzare i contenuti dei messaggi dell'API utilizzando dati e analisi personalizzati.


Informazioni sul criterio relativo al raccoglitore di statistiche

Quando vengono eseguiti, il criterio del raccoglitore delle statistiche registra il valore corrente di una o più variabili. Queste variabili possono essere variabili di flusso predefinite da Apigee o variabili personalizzate da te definite. Questi dati vengono scritti nel server di analisi Edge.

Per accedere ai dati statistici raccolti dal criterio, utilizza l'API Edge o l'UI di gestione perimetrale. Ad esempio, puoi utilizzare l'interfaccia utente di gestione perimetrale per creare un report personalizzato che mostri i dati raccolti in vari formati.

Per un tutorial completo utilizzando il criterio per la raccolta delle statistiche, vedi Analizzare i contenuti dei messaggi dell'API utilizzando dati e analisi personalizzati.

Dove inserire il criterio

Puoi inserire un criterio per la raccolta delle statistiche nel flusso di richiesta o risposta di un proxy API. Tuttavia, se inserisci più criteri del raccoglitore di statistiche in un proxy, l'ultimo da eseguire determina che i dati scritti nel server di analisi e quelli scritti da qualsiasi criterio del raccoglitore di statistiche precedenti andranno persi.

Uno scenario in cui potresti avere più criteri per il raccoglitore delle statistiche in un proxy API è quando ne hai uno nel flusso di richiesta o risposta e un altro in un gestore di errori. Se si verifica un errore nel proxy API, il raccoglitore delle statistiche nel gestore degli errori determina i dati raccolti. Puoi utilizzare questo raccoglitore di statistiche per registrare le informazioni sull'errore o per registrare qualsiasi altra informazione che ritieni necessaria. Il raccoglitore delle statistiche nel gestore degli errori determina i dati raccolti indipendentemente dal fatto che il raccoglitore delle statistiche nella richiesta/risposta sia già stato eseguito o meno.

Per scoprire di più, consulta la sezione Gestione degli errori.

Riferimento elemento

Il riferimento all'elemento descrive gli elementi e gli attributi del criterio per la raccolta delle statistiche.

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

Attributi <StatisticsCollector>

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

La tabella seguente descrive gli attributi comuni a tutti gli elementi principali dei criteri:

Attributo Descrizione Predefinito Presenza
name

Il nome interno della norma. Il valore dell'attributo name può contenere lettere, numeri, spazi, trattini, trattini bassi e punti. Questo valore non può superare i 255 caratteri.

Facoltativamente, utilizza l'elemento <DisplayName> per etichettare il criterio nell'editor proxy dell'interfaccia utente di gestione con un nome diverso in linguaggio naturale.

N/A Obbligatorie
continueOnError

Impostalo su false per restituire un errore in caso di errore di un criterio. Questo è il comportamento previsto per la maggior parte dei criteri.

Imposta su true per fare in modo che l'esecuzione del flusso continui anche in caso di errore di un criterio.

false Facoltativo
enabled

Imposta il criterio su true per applicare il criterio.

Impostala su false per disattivare il criterio. Il criterio non verrà applicato anche se rimane associato a un flusso.

true Facoltativo
async

Questo attributo è obsoleto.

false Deprecata

Elemento <DisplayName>

Utilizzalo in aggiunta all'attributo name per etichettare il criterio nell'editor proxy dell'interfaccia utente di gestione con un nome diverso in linguaggio naturale.

<DisplayName>Policy Display Name</DisplayName>
Predefinito

N/A

Se ometti questo elemento, viene utilizzato il valore dell'attributo name del criterio.

Presenza Facoltativo
Tipo Stringa

Elemento <Statistics>/<Statistic>

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
Attributo Descrizione Predefinito Presenza
nome

Il nome utilizzato per fare riferimento ai dati raccolti per la variabile specificata. Quando visualizzi i dati di analisi, utilizza questo nome per fare riferimento ai dati raccolti relativi alla variabile specificata dall'attributo ref.

Se la variabile specificata da ref non è stata definita in una richiesta o in una risposta, defaultStatValue specifica il valore raccolto per la variabile. Se ometti il valore predefinito, non vengono raccolti dati per la variabile quando la variabile non è definita.

Limitazioni di denominazione

Alle variabili Analytics personalizzate si applicano le seguenti restrizioni di denominazione:

N/A Obbligatorie
rif

La variabile di flusso per la quale stai raccogliendo le statistiche. Può essere una variabile di flusso predefinita da Apigee o una variabile personalizzata da te definita nel proxy API.

L'attributo ref spesso fa riferimento a una variabile personalizzata definita dal criterio Estrai variabili. Per saperne di più, consulta Criterio di estrazione delle variabili.

N/A Obbligatorie
digita

Specifica il tipo di dati della variabile specificata dall'attributo ref. I valori validi sono: stringa/numero intero/float/lungo/doppio/booleano.

Per i dati di tipo stringa, fai riferimento ai dati statistici come Dimensione in un report personalizzato. Per i tipi di dati numerici (numero intero/in virgola mobile/lungo/doppio), fai riferimento ai dati statistici in un report personalizzato come Dimensione o Metrica. Per ulteriori informazioni, consulta Gestire i report personalizzati.

Il valore di type può essere omesso solo se ref si riferisce a una variabile di flusso Apigee predefinita o il tipo viene dichiarato nel payload XML del criterio Estrai variabili.

stringa Facoltativo

Messaggi di errore

Questa sezione descrive i messaggi di errore e le variabili di flusso che vengono impostati quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Nessuna.

Errori di deployment

Nome errore Causa Correggi
UnsupportedDatatype Se il tipo di variabile specificato dall'attributo ref nell'elemento <Statistic> del criterio per la raccolta delle statistiche non è supportato, il deployment del proxy API non va a buon fine. I tipi di dati supportati sono string, integer, float, long, double e boolean.
InvalidName Se il nome utilizzato per fare riferimento ai dati raccolti per la variabile specificata definita all'interno dell'elemento <Statistic> del criterio del raccoglitore di statistiche è in conflitto con una variabile definita dal sistema, il deployment del proxy API non andrà a buon fine. Alcune delle variabili note definite dal sistema sono organization e environment.
DatatypeMissing Se il tipo di variabile specificato dall'attributo ref nell'elemento <Statistic> del criterio per la raccolta delle statistiche non è presente, il deployment del proxy API non riesce.

Variabili di errore

Nessuna.

Schema

Ogni tipo di criterio è definito da uno schema XML (.xsd). Come riferimento, gli schemi dei criteri sono disponibili su GitHub.

Argomenti correlati

Per ulteriori informazioni, vedi: