Caricamento dei dati sul traffico API in Apigee - Versione beta

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

Obbligatorio: contatta l'assistenza Apigee prima di caricare i dati

Prima di poter caricare dati su Apigee, devi contattare l'assistenza Apigee Edge per completare l'onboarding e il processo di sviluppo.

Installa apigee-analytics-collector

apigee-analytics-collector è un valore RPM installato 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 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'utility apigee-analytics-collector possono caricare dati direttamente su Apigee.

Se non esistono nodi con accesso entrambi all'API di gestione perimetrale su Edge Management Server e l'accesso a internet esterno, quindi puoi utilizzare 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 apigee-analytics-collector utilità. Consulta Caricamento manuale dei dati su Apigee per scoprire di più.

Installazione

Usa 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 che ha accesso completo a sudo. Per un accesso sudo completo, significa che l'utente dispone dell'accesso sudo per eseguire le stesse come root.

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

Esecuzione di apigee-analytics-collector

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

Configurare un utente per l'esecuzione di apigee-analytics-collector

Devi eseguire apigee-analytics-collector come non-root utente. Questo utente deve avere accesso completo all'app "apigee" utente.

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

analyticsUser        ALL=(apigee)      NOPASSWD: ALL

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

Dopo l'installazione dell'utilità apigee-analytics-collector e configurando 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

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

  • apigee_mgmt_api_uri: l'URL di base dell'API Edge nella pagina di gestione Server. In genere questo URL ha il seguente 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 che ha accesso a API /stats Edge. 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 con l'assistenza Apigee Edge 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 caricare questi dati su Apigee. Nota come usa apigee-service per esegui 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 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 comma-separated list of items
  • -x, --exclude_orgs comma-separated list of items
  • -n, --include_envs comma-separated list of items
  • -e, --exclude_envs comma-separated list of items

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

/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, 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 -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 ad Apigee.

Un motivo per utilizzare -S è possibile visualizzare diversi tipi di dati a livello locale. Apigee richiede solo che tu carica i 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 seguente utilizza gli attributi -D e -S opzioni per visualizzare i dati sviluppatore a livello locale:

/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 ottenere un output dettagliato e l'opzione -R per vedere 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 comando

La tabella seguente elenca l'insieme completo di opzioni per la Utilità apigee-analytics-collector:

Comando Descrizione
-h, --help

Informazioni sull'utilizzo in output

-D, --dimension dimension

La dimensione del traffico da raccogliere. I valori validi sono:

  • apiproducts
  • apiproxy (valore predefinito)
  • apps
  • devs
-d, --days days

Il numero di dati dei giorni precedenti da raccogliere, a partire dalla data corrente. La 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 perimetrale.

-u, --apigee_mgmt_api_email apigee_mgmt_api_email

L'indirizzo email di un account con accesso alle API Edge /stats. In genere 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 apigee_mgmt_api_password

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

-i, --include_orgs items

Un elenco separato da virgole di organizzazioni da includere nell'output.

-x, --exclude_orgs items

Un elenco separato da virgole di organizzazioni da escludere dall'output.

-n, --include_envs items

Un elenco separato da virgole di ambienti da includere nell'output.

-e, --exclude_envs items

Un elenco separato da virgole di ambienti da includere dall'output.

-o, --output path

Il percorso e il nome file per salvare l'output.

-s, --time_range_start time_range_start

Intervallo di tempo da iniziare per eseguire query sulle statistiche sul traffico, nel formato: "MM/DD/YYYY HH:MM".

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 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. Il valore predefinito è hour. Unità di tempo valide sono:

  • second
  • minute
  • hour (valore predefinito)
  • day
  • week

Se imposti -t su week e -d su 365, Apigee restituisce una grande quantità di dati raggruppati in 52 (una per ogni settimana).

-S, --standard_output

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

-c, --apigee_analytics_client_id apigee_analytics_client_id

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

-r, --apigee_analytics_secret apigee_analytics_secret

Il tuo secret per caricare i dati su Apigee. Invia un ticket con l'assistenza Apigee Edge 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 un con accesso esterno a internet. Quindi l'utility apigee-analytics-collector possono caricare dati 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 poi usano i comandi curl per caricarli su Apigee da un con una macchina virtuale accesso a internet. Devi ripetere la procedura per ogni organizzazione di produzione e 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 dell'API. In questo comando:

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

Ad esempio, per raccogliere i conteggi dei messaggi proxy API ora per ora in un periodo di 24 ore, utilizza seguo chiamata API.

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&timeUnit=hour"

Tieni presente che timeRange contiene caratteri di codifica URL.

Dovresti vedere una risposta nel modulo:

{
  "environments" : [ {
    "dimensions" : [ {
      "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"
      } ],
    "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 comando 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 il tuo le credenziali per il caricamento su Apigee che hai ottenuto da Apigee.
  • org_name specifica il nome dell'organizzazione.
  • "environments"... contiene i risultati del comando curl che che hai utilizzato per raccogliere le statistiche riportate sopra.