Norme di Statisticscollector

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

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 da variabili personalizzate definite dall'utente.

I dati statistici vengono passati al server di analisi, che li analizza e genera report. Puoi visualizzare i report utilizzando l'interfaccia utente di gestione di Edge o l'API Edge.

Esempi

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, la policy Statistics Collector 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 product.price è 0. Se una variabile non è definita e non specifichi un valore predefinito, non vengono registrati dati per la variabile. Se specifichi un valore predefinito, questo viene registrato quando la variabile non è definita.

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

Accesso alle statistiche

In questo esempio, utilizzi l'API di gestione di Edge per visualizzare i dati statistici per la raccolta denominata productID. Questa richiesta crea un report personalizzato per gli ID prodotto in base alla somma dei conteggi dei messaggi inviati per ogni ID prodotto per ogni giorno. Sostituisci il nome dell'organizzazione con la variabile {org_name} e sostituisci l'email e la password del tuo account su Apigee Edge con email:password.

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

La policy Statistics Collector richiede che i dati raccolti vengano archiviati nelle variabili. Queste variabili possono essere predefinite da Apigee o variabili personalizzate definite dall'utente.

In questo esempio, utilizzi la policy Extract Variables per estrarre i dati da un payload XML che contiene informazioni meteo. Questa policy:

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

Puoi quindi utilizzare la policy Statistics Collector 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 la policy Statistics Collector, consulta Analizzare i contenuti dei messaggi delle API mediante analisi personalizzate.


Informazioni sulla policy Statistics Collector

Quando viene eseguita, la policy Statistics Collector registra il valore corrente di una o più variabili. Queste variabili possono essere variabili di flusso predefinite da Apigee o variabili personalizzate che definite dall'utente. Questi dati vengono scritti nel server di analisi di Edge.

Per accedere ai dati statistici raccolti dalla policy, utilizza l'API Edge o l'interfaccia utente di gestione di Edge. Ad esempio, puoi utilizzare l'interfaccia utente di gestione di Edge per creare un report personalizzato che mostri i dati raccolti in una varietà di formati.

Per un tutorial completo sull'utilizzo della policy Statistics Collector, consulta Analizzare i contenuti dei messaggi delle API mediante analisi personalizzate.

Dove inserire la policy

Puoi inserire una policy Statistics Collector nel flusso di richiesta o risposta di un proxy API. Tuttavia, se inserisci più policy Statistics Collector in un proxy, l'ultima eseguita determina i dati scritti nel server di analisi e i dati scritti dalle policy Statistics Collector precedenti vengono persi.

Uno scenario in cui potresti avere più policy Statistics Collector in un proxy API è quando ne hai una nel flusso di richiesta o risposta e un'altra in un gestore di errori. Se si verifica un errore nel proxy API, la policy Statistics Collector nel gestore di errori determina i dati raccolti. Puoi utilizzare la policy Statistics Collector per registrare informazioni sull'errore o per registrare qualsiasi altra informazione che ritieni necessaria. La policy Statistics Collector nel gestore di errori determina i dati raccolti indipendentemente dal fatto che la policy Statistics Collector nella richiesta/risposta sia già stata eseguita o meno.

Per saperne di più, consulta Gestire gli errori.

Riferimento elemento

Il riferimento elemento descrive gli elementi e gli attributi della policy Statistics Collector.

<?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 del criterio:

Attributo Descrizione Predefinito Presenza
name

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

Se vuoi, puoi utilizzare l'elemento <DisplayName> per etichettare il criterio in l'editor proxy della UI di gestione con un nome diverso in linguaggio naturale.

N/D Obbligatorio
continueOnError

Imposta il valore su false per restituire un errore quando un criterio non viene eseguito. Si tratta di un comportamento previsto per la maggior parte dei criteri.

Imposta su true per fare in modo che l'esecuzione del flusso continui anche dopo un criterio non riesce.

falso Facoltativo
enabled

Imposta il valore su true per applicare il criterio.

Imposta false per disattivare il criterio. Il criterio non verrà applicata anche se rimane collegata a un flusso.

true Facoltativo
async

Questo attributo è obsoleto.

falso Deprecato

&lt;DisplayName&gt; elemento

Da utilizzare in aggiunta all'attributo name per etichettare il criterio in editor proxy della UI di gestione con un nome diverso e in linguaggio naturale.

<DisplayName>Policy Display Name</DisplayName>
Predefinito

N/D

Se ometti questo elemento, il valore dell'attributo name del criterio è in uso.

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 sulla variabile specificata dall'ref attributo.

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

Restrizioni di denominazione

Le seguenti restrizioni di denominazione si applicano alle variabili di analisi personalizzate:

N/D Obbligatorio
ref

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

L'attributo ref fa spesso riferimento a una variabile personalizzata definita dalla policy Extract Variables policy. Per saperne di più, consulta la policy Extract Variables policy.

N/D Obbligatorio
tipo

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

Per i dati di tipo stringa, fai riferimento ai dati statistici come Dimensione in un report personalizzato. Per i tipi di dati numerici (intero/float/long/double), fai riferimento ai dati statistici in un report personalizzato come Dimensione o Metrica. Per saperne di più, consulta Gestire i report personalizzati.

Il valore di type può essere omesso solo se ref fa riferimento a una variabile di flusso predefinita di Apigee o se il tipo è dichiarato nel payload XML della policy Extract Variables.

stringa Facoltativo

Messaggi di errore

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

Errori di runtime

Nessuno.

Errori di deployment

Nome dell'errore Causa Correggi
UnsupportedDatatype Se il tipo di variabile specificato dall'attributo ref nell'elemento <Statistic> del criterio del Collector di 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 Collector di statistiche è in conflitto con una variabile definita dal sistema, il deployment del proxy API non va a buon fine. Alcune delle variabili predefinite dal sistema sono organization e environment.
DatatypeMissing Se il tipo della variabile specificato dall'attributo ref nell'elemento <Statistic> del criterio del Collector di statistiche non è presente, il deployment del proxy API non va a buon fine.

Variabili di errore

Nessuno.

Schema

Ogni tipo di policy è definito da uno schema XML (.xsd). Per riferimento, gli schemi delle policy sono disponibili su GitHub.

Argomenti correlati

Per ulteriori informazioni, vedi: