Edge per Private Cloud v4.19.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 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.
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 il processo di onboarding.
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 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 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 <dimension> |
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 <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. 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 <apigee_mgmt_api_password> |
Password associata all'account email dell'API Edge Management specificato da -u. |
-i, --include_orgs <items> |
Elenco separato da virgole di organizzazioni da includere nell'output. |
-x, --excluded_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, --excluded_envs <items> |
Elenco separato da virgole di ambienti da includere dall'output. |
-o, --output <path> |
Percorso e nome file per salvare l'output. |
-s, --time_range_start <time_range_start> |
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 <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. L'unità di misura predefinita è |
-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 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.
- <ms_IP> è 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&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&timeUnit=hour"
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 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.