Caricamento dei dati sul traffico API in Apigee - Versione beta

Edge per Private Cloud v4.18.01

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 di Edge, dovrai definire organizzazioni o ambienti specifici per le tue API di produzione. I dati inviati sono solo per queste organizzazioni e questi ambienti di produzione.

Per aiutarti a caricare questi dati, Apigee fornisce la release beta dell'utilità a riga di comando apigee-analytics-collector. 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.

Accedere ai dati caricati 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 di utilizzo e una tabella di dati sull'utilizzo per ciascuna delle tue organizzazioni Edge.

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 può accedere all'API di gestione di Edge sul server di gestione di Edge. Puoi installarlo direttamente sul server di gestione, su un altro nodo dell'installazione Edge o su un nodo distinto , a condizione che il nodo possa inviare richieste API al server di gestione.

Accesso a internet requisiti

Installa l'utilità apigee-analytics-collector su un con accesso esterno a internet. L'utilità apigee-analytics-collector può caricare i dati direttamente in 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 saperne di più.

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 sudo completo. 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 amministratore. Questo utente deve avere 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 testarla eseguendo il comando di aiuto 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

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 sul tuo server di gestione. 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 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 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 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

Nota che il comando contiene tutte le informazioni richieste, come 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 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, --exclude_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 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 i 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 dello 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 a riga di comando.

Parametri del comando

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

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 (predefinita)

-d, --days &lt;days&gt;

Il numero di giorni passati, a partire dalla data corrente, di 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 <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 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, --exclude_orgs <items>

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 nell'output.

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

Percorso e nome del 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 <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 su Apigee.

-c, --apigee_analytics_client_id <apigee_analytics_client_id>

Il tuo ID per il caricamento dei dati in 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 dei dati in Apigee

Apigee consiglia di installare l'utilità apigee-analytics-collector su una macchina con accesso a internet esterno. Quindi, l'utilità apigee-analytics-collector può caricare direttamente su 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 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/apiproxy?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour"

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

  • apigee_mgmt_api_email:apigee_mgmt_api_password specifica la indirizzo email di un account con accesso alle API Edge /stats.
  • <ms_IP> è l'indirizzo IP o il nome DNS del server di gestione Edge.
  • {org_name} e {org_name} specificano la tra organizzazioni e ambiente.
  • apiproxy è la dimensione che raggruppa le metriche per proxy API.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&amp;timeUnit=hour specifica l'intervallo di tempo diviso in unità di tempo delle metriche da raccogliere. Tieni presente che il comando cURL utilizza il codice esadecimale %20 per gli spazi nell'intervallo di tempo.

Ad esempio, per raccogliere i conteggi dei messaggi proxy API ora per ora in un periodo di 24 ore, utilizza seguo chiamata API di gestione dei dati. L'intervallo di tempo contiene caratteri codificati nell'URL.

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/apiproxy?select=sum(message_count)&timeRange=01%2F01%2F2018%2000%3A00~01%2F02%2F2018%2000%3A00"

Dovresti visualizzare una risposta nel seguente formato:

{
  "environments" : [ {
    "metrics" : [ {
      "name" : "sum(message_count)",
      "values": [
                {
                  "timestamp": 1514847600000,
                  "value": "35.0"
                },
                {
                  "timestamp": 1514844000000,
                  "value": "19.0"
                },
                {
                  "timestamp": 1514840400000,
                  "value": "58.0"
                },
                {
                  "timestamp": 1514836800000,
                  "value": "28.0"
                },
                {
                  "timestamp": 1514833200000,
                  "value": "29.0"
                },
                {
                  "timestamp": 1514829600000,
                  "value": "33.0"
                },
                {
                  "timestamp": 1514826000000,
                  "value": "26.0"
                },
                {
                  "timestamp": 1514822400000,
                  "value": "57.0"
                },
                {
                  "timestamp": 1514818800000,
                  "value": "41.0"
                },
                {
                  "timestamp": 1514815200000,
                  "value": "27.0"
                },
                {
                  "timestamp": 1514811600000,
                  "value": "47.0"
                },
                {
                  "timestamp": 1514808000000,
                  "value": "66.0"
                },
                {
                  "timestamp": 1514804400000,
                  "value": "50.0"
                },
                {
                  "timestamp": 1514800800000,
                  "value": "41.0"
                },
                {
                  "timestamp": 1514797200000,
                  "value": "49.0"
                },
                {
                  "timestamp": 1514793600000,
                  "value": "35.0"
                },
                {
                  "timestamp": 1514790000000,
                  "value": "89.0"
                },
                {
                  "timestamp": 1514786400000,
                  "value": "42.0"
                },
                {
                  "timestamp": 1514782800000,
                  "value": "47.0"
                },
                {
                  "timestamp": 1514779200000,
                  "value": "21.0"
                },
                {
                  "timestamp": 1514775600000,
                  "value": "27.0"
                },
                {
                  "timestamp": 1514772000000,
                  "value": "20.0"
                },
                {
                  "timestamp": 1514768400000,
                  "value": "12.0"
                },
                {
                  "timestamp": 1514764800000,
                  "value": "7.0"
                }
              ]
            }
          ],
          "name" : "proxy1"
  } ],
  "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 tue credenziali per il caricamento dei dati in Apigee che hai ottenuto dall'assistenza Apigee.
  • {org_name} specifica l'organizzazione.
  • {&quot;environments&quot;...} contiene i risultati del comando cURL che che hai utilizzato per raccogliere le statistiche riportate sopra.