Tutti i clienti di Edge per Cloud privato devono inviare ad Apigee le statistiche sul traffico proxy API. Apigee consiglia ai clienti di caricare queste informazioni una volta al giorno, possibilmente creando un cron job.
Devi inviare i dati per i deployment delle API di produzione, ma non per le API in deployment di sviluppo o test. Nella maggior parte delle installazioni Edge, devi definire organizzazioni o ambienti specifici per le API di produzione. I dati inviati sono destinati solo alle organizzazioni e agli ambienti di produzione corrispondenti.
Per facilitare il caricamento di questi dati, Apigee fornisce la release beta dell'utilità a riga di comando apigee-analytics-collector
. Questa utilità invia il report sul volume delle chiamate API ad Apigee. Ogni Edge per l'installazione del cloud privato può utilizzare questa utilità per recuperare i dati sul traffico e generare report su Apigee.
Obbligatorio: contatta l'assistenza Apigee prima di caricare i dati
Prima di poter caricare i dati su Apigee, devi contattare l'assistenza Apigee Edge per completare il processo di onboarding.
Installa apigee-analytics-collector
L'utilità apigee-analytics-collector
è un RPM che viene installato utilizzando l'utilità apigee-service
.
Dove installare
Il nodo su cui installi l'utilità apigee-analytics-collector
può essere qualsiasi nodo
in grado di 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, purché questo nodo possa effettuare richieste API al server di gestione.
Requisiti di accesso a internet
Installa l'utilità apigee-analytics-collector
su una
macchina con accesso a internet esterno. Quindi l'utilità apigee-analytics-collector
può caricare i dati direttamente in Apigee.
Se non esiste un nodo con accesso all'API di gestione perimetrale su Edge Management Server
e accesso a internet esterno, puoi utilizzare l'API di gestione perimetrale per salvare i dati sul traffico
localmente. Devi quindi trasferire i dati su una macchina con accesso a internet per poterli caricare su Apigee. In questo scenario, non è necessario utilizzare l'utilità apigee-analytics-collector
. Per saperne di più, consulta Caricamento manuale dei dati in Apigee.
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 completo sudo, significa che l'utente dispone dell'accesso sudo per eseguire le stesse operazioni dell'utente 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
.
Configurazione di un utente per l'esecuzione di apigee-analytics-collector
Devi eseguire apigee-analytics-collector
come utente
non root. Questo utente deve avere accesso sudo completo all'utente "apigee".
Per configurare un utente in modo che abbia accesso completo sudo all'utente "apigee", utilizza il comando "visudo" per modificare il file sudoers e 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 della guida
per l'utilità apigee-analytics-collector
:
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic --help
Informazioni obbligatorie per eseguire apigee-analytics-collector
Sono necessarie le seguenti informazioni per eseguire il comando apigee-analytics-collector
e inoltrare i dati ad Apigee:
apigee_mgmt_api_uri
: l'URL di base dell'API Edge sul tuo server di gestione. Generalmente questo URL ha il seguente formato:http://ms_IP:8080/v1
Dove ms_IP è l'indirizzo IP o il server di gestione e 8080 è la porta utilizzata dall'API Edge. Se hai creato una voce DNS per l'API Edge, il formato dell'URL sarà:
http://ms_DNS/v1
Se abiliti TLS sull'API Edge Management, il formato sarà il seguente:
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 perimetrale o dell'amministratore dell'organizzazione delle organizzazioni di produzione.apigee_mgmt_api_password
: la password perimetrale per l'account specificato daapigee_mgmt_api_email
.apigee_analytics_client_id
e apigee_analytics_secret: le tue credenziali per caricare dati su Apigee. Invia un ticket all'assistenza Apigee Edge per ottenereapigee_analytics_client_id
eapigee_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 Edge e per caricarli in Apigee. Nota 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, come apigee_analytics_client_id e apigee_analytics_secret.
Dovresti vedere 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 controllare le azioni del comando. 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
(oppure
le opzioni --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 i dati solo dall'ambiente di produzione di
myOrg
.
Per eseguire il dump dei dati su una schermata in modo da 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 in 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 tu possa visualizzare diversi tipi di dati localmente. Apigee richiede solo il caricamento dei dati sul traffico API, ma l'opzione -D
consente di visualizzare i dati relativi a prodotti API, sviluppatori, app o proxy API. L'esempio seguente 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 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 del comando
La seguente tabella elenca il set completo di opzioni per l'utilità apigee-analytics-collector
:
Comando | Descrizione |
---|---|
-h, --help |
Informazioni sull'utilizzo dell'output |
-D, --dimension dimension |
La dimensione del traffico da raccogliere. I valori validi sono:
|
-d, --days days
|
Il numero di giorni precedenti di dati da raccogliere, a partire dalla data corrente. Il valore predefinito è 3. Se specifichi |
-m, --apigee_mgmt_api_uri apigee_mgmt_api_uri |
URL all'API Edge Management. |
-u, --apigee_mgmt_api_email apigee_mgmt_api_email |
L'indirizzo email di un account con accesso alle API |
-p, --apigee_mgmt_api_password apigee_mgmt_api_password |
La password associata all'account email dell'API Edge Management specificato da |
-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 di inizio per le query sulle statistiche sul traffico, nel formato: "MM/DD/YYYY HH:MM". Se specifichi |
-z, --time_range_end time_range_end
|
L'intervallo di tempo termina per l'esecuzione di query sulle statistiche sul traffico, nel formato: "01/04/2016 24:00". Se specifichi |
-t, --time_unit time_unit
|
Unità di tempo per i dati sul traffico. Il valore predefinito è
Se imposti |
-S, --standard_output
|
Scrivi l'output sul terminale (stdout), anziché 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 all'assistenza Apigee Edge per ottenerlo. |
-r, --apigee_analytics_secret apigee_analytics_secret
|
Il tuo secret per caricare i dati su Apigee. Invia un ticket all'assistenza Apigee Edge per ottenerlo. |
-R, --include_curl_commands
|
Includi nell'output i comandi |
-v, --verbose
|
Mostra output dettagliato. |
Caricamento manuale dei dati su 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 i dati direttamente in Apigee.
Tuttavia, se la macchina non dispone di un accesso a internet esterno, utilizza l'API di gestione perimetrale per raccogliere i dati sul traffico, quindi usa 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/apiproxy?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour"
Questo comando utilizza l'API per il conteggio dei messaggi dell'API Edge Get. 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.
- 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. Tieni presente che il comandocurl
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 la seguente 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 con 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 quindi caricare i dati in Apigee da una macchina 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 caricare su Apigee i dati ottenuti da Apigee.
- org_name specifica il nome dell'organizzazione.
- "environments"... contiene i risultati del comando
curl
che hai utilizzato per raccogliere le statistiche precedenti.