Caricamento dei dati sul traffico API in Apigee - Versione beta

Edge for Private Cloud versione 4.17.09

Tutti i clienti di Edge per Private Cloud sono tenuti a inviare ad Apigee le statistiche sul traffico proxy delle API. Apigee consiglia ai clienti di caricare queste informazioni una volta al giorno, possibilmente tramite la creazione di un job cron.

Devi inviare i dati per i deployment delle API di produzione, ma non per le API in fase di sviluppo o per i deployment di test. Nella maggior parte delle installazioni di Edge, dovrai definire organizzazioni o ambienti specifici per le tue API di produzione. I dati inviati sono solo per le organizzazioni e gli ambienti di produzione in questione.

Per aiutarti a caricare questi dati, Apigee fornisce la release beta dell'utilità a riga di comando apigee-analytics-collector. Questa utility invia il report sul volume delle chiamate API ad Apigee. Ogni Edge per l'installazione di Private Cloud può utilizzare questa utility per recuperare e segnalare i dati sul traffico ad Apigee.

Accesso ai dati caricati da apigee-analytics-collector

Dopo aver caricato i dati con l'utilità apigee-analytics-collector, puoi visualizzarli in Apigee 360.

Per visualizzare i dati, accedi ad Apigee 360 e seleziona l'opzione Utilizzo. La pagina Utilizzo mostra un grafico sull'utilizzo e una tabella di dati sull'utilizzo per ciascuna o le tue organizzazioni perimetrali.

Installazione di apigee-analytics-collector

L'utilità apigee-analytics-collector è un RPM che puoi installare utilizzando l'utilità apigee-service.

Dove installare

Il nodo su cui installi l'utilità apigee-analytics-collector può essere qualsiasi nodo che possa accedere all'API Edge Management su Edge Management Server. Puoi installarlo direttamente sul server di gestione, su un altro nodo dell'installazione Edge o su un nodo separato, a condizione che questo possa inviare richieste API al server di gestione.

Requisiti per l'accesso a internet

Installa l'utilità apigee-analytics-collector su una macchina con accesso esterno a internet. L'utilità apigee-analytics-collector può quindi caricare i dati direttamente in Apigee.

Se non è presente alcun nodo con accesso sia all'API Edge Management sul server di gestione Edge sia a internet esterno, puoi utilizzare l'API Edge Management per salvare i dati sul traffico 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. Per saperne di più, consulta Caricare manualmente i dati in Apigee di seguito.

Installazione

Utilizza il seguente comando per installare l'utilità apigee-analytics-collector. Poiché stai installando un file RPM, questo comando deve essere eseguito dall'utente root o da un utente con accesso completo a sudo. Per l'accesso sudo completo, l'utente ha accesso sudo per eseguire le stesse operazioni di root.

> /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install 

Eseguire apigee-analytics-collector

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

Configurare un utente per eseguire apigee-analytics-collector

Devi eseguire apigee-analytics-collector come utente non root. Questo utente deve disporre dell'accesso sudo completo all'utente "apigee".

Per configurare un utente in modo che abbia accesso sudo completo all'utente "apigee", utilizza il comando "visudo" per modificare il file sudoers in modo da aggiungere:

analyticsUser        ALL=(apigee)      NOPASSWD: ALL

dove analyticsUser è il nome utente della persona che esegue l'utilità apigee-analytics-collector.

Dopo aver installato l'utilità apigee-analytics-collector e configurato l'utente, puoi testare l'utilità eseguendo il comando help per l'utilità apigee-analytics-collector:

> /opt/apigee/apigee-service/bin/ apigee-service apigee-analytics-collector export traffic --help

Informazioni richieste per eseguire apigee-analytics-collector

Per eseguire il comando apigee-analytics-collector e inoltrare i dati ad Apigee, sono necessarie le seguenti informazioni:

  • apigee_mgmt_api_uri: l'URL base dell'API Edge sul tuo server di gestione. Questo URL ha in genere il seguente formato:
    http://ms_IP:8080/v1

    Dove ms_IP è l'indirizzo IP del server di gestione e 8080 è la porta utilizzata dall'API Edge. Se hai creato una voce DNS per l'API Edge, l'URL avrà il seguente formato:
    http://ms_DNS/v1

    Se abiliti TLS nell'API Edge Management, il formato sarà:
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: l'indirizzo email di un account con accesso alle API Edge /stats. Spesso si tratta dell'indirizzo email dell'amministratore di sistema di Edge o dell'amministratore dell'organizzazione per le 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 il caricamento dei dati in Apigee. Invia un ticket all'assistenza Apigee per ottenere apigee_analytics_client_id e apigee_analytics_secret.

Comandi di esempio

Di seguito è riportato un comando di esempio per recuperare i dati sul traffico per tutte le organizzazioni e gli ambienti nell'installazione di Edge e caricarli in Apigee. Tieni presente come utilizzi apigee-service per eseguire il comando apigee-analytics-collector:

>  /opt/apigee/apigee-service/bin/apigee-service 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

Tieni presente che il comando contiene tutte le informazioni richieste, ad esempio apigee_analytics_client_id e apigee_analytics_secret.

Dovresti vedere i risultati nel seguente formato:

[
  {
    "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 controllare le azioni del comando. 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, --exclude_envs <elenco di elementi separati da virgole>

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

>  /opt/apigee/apigee-service/bin/apigee-service 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, raccogli solo i dati dall'ambiente di produzione di myOrg.

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

>  /opt/apigee/apigee-service/bin/apigee-service 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 il caricamento dei dati su Apigee. Puoi quindi eseguire nuovamente il comando senza l'opzione -S per inviare i dati ad Apigee.

Un motivo per utilizzare l'opzione -S è che puoi visualizzare diversi tipi di dati localmente. Apigee richiede solo di caricare i dati sul traffico delle API, ma l'opzione -D ti consente di visualizzare i dati su prodotti, sviluppatori, app o proxy API. L'esempio riportato di seguito utilizza le opzioni -D e -S per visualizzare i dati sviluppatore localmente:

>  /opt/apigee/apigee-service/bin/apigee-service 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 visualizzare un output dettagliato e l'opzione -R per visualizzare i comandi curl generati da apigee-analytics-collector:

 >  /opt/apigee/apigee-service/bin/apigee-service 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 del comando

La tabella seguente elenca il set completo di opzioni per l'utilità apigee-analytics-collector:

Comando

Utilizzo

-h, --help

Informazioni sull'utilizzo dell'output

-D, --dimensione <dimensione>

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

-d, --days <days>

Il numero di giorni passati, a partire dalla data corrente, di dati da raccogliere. Il valore predefinito è 3.

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

-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri>

URL dell'API di gestione di Edge.

-u, --apigee_mgmt_api_email <apigee_mgmt_api_email>

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

-p, --apigee_mgmt_api_password <apigee_mgmt_api_password>

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

-i, --include_orgs <items>

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

-x, --exclude_orgs <items>

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

-n, --include_envs <items>

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

-e, --exclude_envs <items>

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

-o, --output <percorso>

Percorso e nome del file per salvare l'output.

-s, --time_range_start <time_range_start>

Intervallo di tempo da cui iniziare a eseguire query sulle statistiche sul traffico, nel formato: "03/01/2016 00:00".

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

-z, --time_range_end <time_range_end>

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

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

-t, --time_unit <time_unit>

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), anziché caricarlo in Apigee.

-c, --apigee_analytics_client_id <apigee_analytics_client_id>

Il tuo ID per il caricamento dei dati in Apigee. Invia un ticket all'assistenza Apigee per ottenerne uno.

-r, --apigee_analytics_secret <apigee_analytics_secret>

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

-R, --include_curl_commands

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

-v, --verbose

Mostra output dettagliato.

Caricamento manuale dei dati in Apigee

Apigee consiglia di installare l'utilità apigee-analytics-collector su una macchina con accesso esterno a internet. L'utilità apigee-analytics-collector può caricare i dati direttamente in Apigee.

Tuttavia, se la macchina non ha accesso a internet esterno, utilizza l'API Edge Management per raccogliere i dati sul traffico e poi utilizza i comandi cURL per caricarli in Apigee da una macchina con accesso a internet. Devi ripetere questa procedura per ogni organizzazione e ambiente di produzione nell'installazione di Edge.

Utilizza il seguente comando cURL per raccogliere i dati sul traffico per un'organizzazione e un ambiente specifici 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. In questo comando:

  • apigee_mgmt_api_email:apigee_mgmt_api_password specifica l'indirizzo email di un account con accesso alle API Edge /stats.
  • <ms_IP> è l'indirizzo IP o il nome DNS di Edge Management Server.
  • {org_name} e {env_name} specificano l'organizzazione e l'ambiente.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM specifica l'intervallo di tempo delle statistiche da raccogliere. Tieni presente che il comando cURL utilizza il codice esadecimale %20 per gli spazi nell'intervallo di tempo.

Ad esempio, per raccogliere le statistiche per 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 poi i dati in Apigee da un computer con accesso a internet, utilizza il seguente comando 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 tue credenziali per il caricamento dei dati in Apigee che hai ottenuto dall'assistenza Apigee.
  • {org_name} specifica l'organizzazione.
  • {"environments"...} contiene i risultati del comando cURL che hai utilizzato per raccogliere le statistiche sopra.