Caricamento dei dati sul traffico API in Apigee - Versione beta

Edge per Private Cloud v. 4.16.09

Tutti i clienti di Edge per il cloud privato sono tenuti a inviare ad Apigee le statistiche sull'API il traffico proxy. Apigee consiglia ai clienti di caricare queste informazioni una volta al giorno, probabilmente la creazione di un cron job.

Devi inviare i dati per i deployment dell'API di produzione, ma non per le API in fase di sviluppo o test dei deployment. Nella maggior parte delle installazioni Edge, definirai le organizzazioni specifiche per le API di produzione. I dati inviati sono solo per la produzione organizzazioni e ambienti.

Per facilitare il caricamento di questi dati, Apigee fornisce la versione beta della riga di comando apigee-analytics-collector utilità. Questa utilità invia il report sul volume di chiamate API ad Apigee. Ogni vantaggio per L'installazione del cloud privato può utilizzare questa utilità per recuperare e segnalare i dati sul traffico a Apigee.

Per ulteriori informazioni sul processo di caricamento dei dati sul traffico su Apigee, consulta Domande frequenti.

Guarda un breve video per vedere come funziona lo strumento.

Installazione di apigee-analytics-collector

L'app apigee-analytics-collector è un modulo Node.js che puoi installare utilizzando npm.

Installazione requisiti

L'app apigee-analytics-collector richiede:

  • npm 2.x o versioni successive
  • Node.js 4.x.

Dove installare

Il nodo su cui installi l'utilità apigee-analytics-collector può essere qualsiasi nodo che può accedere all'API di gestione perimetrale su Edge Management Server. Puoi installarlo direttamente sul server di gestione, su un altro nodo dell'installazione di Edge o su un server solo se il nodo è in grado di effettuare richieste API al server di gestione.

Accesso a Internet requisiti

Installa l'utilità apigee-analytics-collector su un con accesso esterno a internet. Quindi, l'utilità apigee-analytics-collector può caricare direttamente su Apigee.

Se non esistono nodi con accesso entrambi all'API di gestione perimetrale su Edge Management Server e con accesso esterno a internet, puoi usare l'API Edge Management per risparmiare il traffico a livello locale. Devi quindi trasferire i dati su una macchina con accesso a internet per il caricamento su Apigee. In questo scenario, non è necessario utilizzare l'utilità apigee-analytics-collector. Consulta Caricamento manuale dei dati su Apigee di seguito per ulteriori informazioni.

Installazione

Utilizza il seguente comando per installare l'utilità apigee-analytics-collector:

> npm install apigee-analytics-collector -g

Esecuzione di apigee-analytics-collector

Questa sezione descrive come eseguire l'utilità apigee-analytics-collector.

Informazioni richieste per eseguire apigee-analytics-collector

Sono necessarie le seguenti informazioni per eseguire il comando apigee-analytics-collector inoltrare i dati ad Apigee:

  • apigee_mgmt_api_uri: l'URL di base dell'API Edge sulla tua gestione Server. In genere questo URL è nel formato:
    http://ms_IP:8080/v1

    Dove ms_IP è l'indirizzo IP o il tuo server di gestione e 8080 è la porta usata dall'API Edge. Se hai creato una voce DNS per l'API Edge, l'URL è il modulo:
    http://ms_DNS/v1

    Se abiliti TLS sull'API di gestione perimetrale, il formato sarà:
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: l'indirizzo email di un account con accesso all'indirizzo API Edge /stats. Spesso questo sarà l'email dell'amministratore del sistema perimetrale o l'email dell'amministratore dell'organizzazione per le tue organizzazioni di produzione.
  • apigee_mgmt_api_password: la password Edge per l'account specificato da apigee_mgmt_api_email.
  • apigee_analytics_client_id e apigee_analytics_secret: Le tue credenziali per caricare i dati su Apigee. Invia un ticket all'assistenza Apigee per ottenere apigee_analytics_client_id e apigee_analytics_secret.

Comandi di esempio

Di seguito è riportato un esempio di comando per recuperare i dati sul traffico per tutte le organizzazioni e ambienti nell'installazione Edge e caricarli su Apigee:

> apigee-analytics-collector export traffic \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret

Nota che il comando contiene tutte le informazioni richieste, come apigee_analytics_client_id e apigee_analytics_secret.

Dovresti visualizzare i risultati nel modulo:

[
  {
    "org": "myOrg",
    "env": "prod",
    "time_range_start": "08/27/2016 00:00",
    "time_range_end": "08/30/2016 00:00",
    "response": [
      {
        "store_org_env_metrics_hourly_v4": 1
      }
    ]
  },
  {
    "org": "VALIDATE",
    "env": "test",
    "time_range_start": "08/27/2016 00:00",
    "time_range_end": "08/30/2016 00:00",
    "response": [
      {
        "store_org_env_metrics_hourly_v4": 1
      }
    ]
  }
]

Utilizza le opzioni della riga di comando per il comando per controllarne le azioni. Utilizza le seguenti opzioni per specificare le organizzazioni e gli ambienti da includere nei dati generati:

  • -i, --include_orgs <elenco di elementi separati da virgole>
  • -x, --excluded_orgs <elenco di elementi separati da virgole>
  • -n, --include_envs <elenco di elementi separati da virgole>
  • -e, --excluded_envs <elenco di elementi separati da virgole>

Ad esempio, per specificare solo le organizzazioni e gli ambienti di produzione, utilizza Opzioni -i (o --include_orgs) e -n (o --include_envs):

> apigee-analytics-collector export traffic -i myOrg -n prod \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret

In questo esempio, i dati vengono raccolti solo dall'ambiente di produzione myOrg.

Per eseguire il dump dei dati in una schermata ed esaminarli prima di inviarli ad Apigee, utilizza l'opzione -S:

> apigee-analytics-collector export traffic -i myOrg -n prod -S \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret 

L'opzione -S omette i dati su Apigee. Puoi quindi eseguire nuovamente il comando senza l'opzione -S per inviare i dati ad Apigee.

Un motivo per utilizzare -S è possibile visualizzare diversi tipi di dati a livello locale. Apigee richiede solo che tu Carica dati sul traffico dell'API, ma l'opzione -D ti consente di visualizzare i dati sull'API. prodotti, sviluppatori, app o proxy API. L'esempio riportato di seguito utilizza le opzioni -D e -S per visualizzare i dati sviluppatore a livello locale:

> apigee-analytics-collector export traffic -i myOrg -n prod -S -D devs \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret 

Includi l'opzione -v per ottenere un output dettagliato e l'opzione -R per vedere i comandi curl generati da apigee-analytics-collector:

 > apigee-analytics-collector export traffic -i myOrg -n prod -S -R -v \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret 

La sezione successiva contiene un elenco completo delle opzioni della riga di comando.

Parametri comando

La seguente tabella elenca il set completo di opzioni per apigee-analytics-collector utility:

Comando

Usa

-h, --help

Informazioni sull'utilizzo in output

-D, --dimension &lt;dimension&gt;

La dimensione del traffico da raccogliere. Dimensioni valide: apiproducts, devs, apps, apiproxy (predefinito)

-d, --days <days>

Il numero di giorni precedenti, a partire dalla data corrente, dei dati da raccogliere. La il valore predefinito è 3.

Se specifichi -d, non specificare anche -s e -z per impostare un orario intervallo.

-m, --apigee_mgmt_api_uri &lt;apigee_mgmt_api_uri&gt;

URL dell'API di gestione perimetrale.

-u, --apigee_mgmt_api_email &lt;apigee_mgmt_api_email&gt;

L'indirizzo email di un account con accesso alle API Edge /stats. Spesso si tratta L'email dell'amministratore del sistema periferico o l'email dell'amministratore dell'organizzazione per nelle tue organizzazioni di produzione.

-p, --apigee_mgmt_api_password &lt;apigee_mgmt_api_password&gt;

Password associata all'account email dell'API Edge Management specificato da -u.

-i, --include_orgs &lt;items&gt;

Elenco separato da virgole di organizzazioni da includere nell'output.

-x, --excluded_orgs &lt;items&gt;

Elenco separato da virgole di organizzazioni da escludere dall'output.

-n, --include_envs &lt;items&gt;

Elenco separato da virgole di ambienti da includere nell'output.

-e, --excluded_envs &lt;items&gt;

Elenco separato da virgole di ambienti da includere dall'output.

-o, --output &lt;path&gt;

Percorso e nome file per salvare l'output.

-s, --time_range_start &lt;time_range_start&gt;

Intervallo di tempo da avviare per l'esecuzione di query sulle statistiche sul traffico, nel formato: "01/03/2016 00:00".

Se specifichi -d, non specificare anche -s e -z per impostare un intervallo di tempo.

-z, --time_range_end &lt;time_range_end&gt;

Fine dell'intervallo di tempo per l'esecuzione di query sulle statistiche sul traffico, nel formato: "01/04/2016 24:00".

Se specifichi -d, non specificare anche -s e -z per impostare un intervallo di tempo.

-t, --time_unit &lt;time_unit&gt;

Unità di tempo per i dati sul traffico. Settimana predefinita. Unità predefinite per ora. Unità di tempo valide: secondo, minuto, ora, giorno, settimana.

-S, --standard_output

Scrivi l'output nel terminale (stdout) invece di caricarlo su Apigee.

-c, --apigee_analytics_client_id &lt;apigee_analytics_client_id&gt;

Il tuo ID per il caricamento dei dati su Apigee. Invia un ticket con l'assistenza Apigee a ottenere.

-r, --apigee_analytics_secret &lt;apigee_analytics_secret&gt;

Il tuo secret per caricare i dati su Apigee. Invia un ticket con l'assistenza Apigee a ottenere.

-R, --include_curl_commands

Includi i comandi cURL generati nell'output per il debug.

-v, --verbose

Mostra output dettagliato.

Caricamento manuale di dati su Apigee

Apigee consiglia di installare l'utilità apigee-analytics-collector su una con accesso esterno a internet. Quindi, l'utilità apigee-analytics-collector può caricare direttamente su Apigee.

Tuttavia, se la macchina non dispone di un accesso esterno a internet, utilizza l'API Edge Management per raccolgono dati sul traffico e quindi usano i comandi cURL per caricarli su Apigee da una macchina accesso a internet. Devi ripetere questo processo per ogni organizzazione di produzione nell'installazione di Edge.

Utilizza il seguente comando cURL per raccogliere i dati sul traffico per un'organizzazione specifica e per un intervallo di tempo specificato:

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://<ms_IP>:8080/v1/organizations/{org_name}/environments/{env_name}/stats/?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM"

Questo comando utilizza l'API Edge Get per il conteggio dei messaggi dell'API. In questo comando:

  • apigee_mgmt_api_email:apigee_mgmt_api_password specifica la indirizzo email di un account con accesso alle API Edge /stats.
  • &lt;ms_IP&gt; è l'indirizzo IP o il nome DNS dell'istanza il server di gestione.
  • {org_name} e {org_name} specificano la tra organizzazioni e ambiente.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM specifica l'intervallo di tempo di le statistiche da raccogliere. Nota che il comando cURL utilizza il codice esadecimale %20 per gli spazi nell'intervallo di tempo.

Ad esempio, per raccogliere le statistiche relative a un periodo di 24 ore, utilizza il seguente comando:

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/?select=sum(message_count)&timeRange=08/29/2016%2000:00~08/30/2016%2000:00"

Dovresti vedere una risposta nel modulo:

{
  "environments" : [ {
    "metrics" : [ {
      "name" : "sum(message_count)",
      "values" : [ "42.0" ]
    } ],
    "name" : "prod"
  } ],
  "metaData" : {
    "errors" : [ ],
    "notices" : [ "query served by:53dab80c-e811-4ba6-a3e7-b96f53433baa", "source pg:6b7bab33-e732-405c-a5dd-4782647ce096", "Table used: myorg.prod.agg_api" ]
  }
}

Per caricare quei dati in Apigee da una macchina con accesso a internet, utilizza il seguente cURL :

curl -X POST -H 'Content-Type:application/json' \
-u apigee_analytics_client_id:apigee_analytics_secret \
https://nucleus-api-prod.apigee.com/v1/apigee-analytics-cli-api/traffic/orgs/{org_name}/apis -d '{"environments"...}'

dove:

  • apigee_analytics_client_id:apigee_analytics_secret specifica le credenziali per il caricamento su Apigee che hai ottenuto dall'assistenza Apigee.
  • {org_name} specifica l'organizzazione.
  • {"environments"...} contiene i risultati del comando cURL che che hai utilizzato per raccogliere le statistiche riportate sopra.