Caricamento dei dati sul traffico API in Apigee - Versione beta

Edge per Private Cloud v. 4.17.05

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.

Accedere ai dati caricati apigee-analytics-collector

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

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

Installazione di apigee-analytics-collector

L'app 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 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 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 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 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 caricare questi dati su Apigee. Nota come utilizza 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 <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):

>  /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 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 -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:

>  /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 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 (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/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 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.
  • 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. Nota 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 vedere una risposta nel modulo:

{
  "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 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.