Edge for Private Cloud v4.18.01
Tutti i clienti Edge for Private Cloud sono tenuti a inviare ad Apigee statistiche sul traffico dei 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 nei deployment di sviluppo o test. Nella maggior parte delle installazioni di Edge, definirai organizzazioni o ambienti specifici per le tue API di produzione. I dati che invii sono destinati solo a queste organizzazioni e ambienti di produzione.
Per facilitare il caricamento di questi dati, Apigee fornisce la versione beta dell'utilità a riga di comando apigee-analytics-collector. Questa utilità invia il report sul volume delle chiamate API ad Apigee. Ogni installazione di Edge for Private Cloud può utilizzare questa utilità per recuperare e segnalare i dati sul traffico ad Apigee.
Accesso ai dati caricati da 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 dei dati di utilizzo per ciascuna delle tue organizzazioni Edge.
Installazione di apigee-analytics-collector
L'utilità apigee-analytics-collector è un RPM che installi 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 Edge sul server di gestione Edge. Puoi installarlo direttamente sul server di gestione, su un altro nodo dell'installazione di Edge o su un nodo separato, purché quest'ultimo possa inviare 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. In questo modo, l'utilità apigee-analytics-collector può caricare i dati direttamente su Apigee.
Se non esiste un nodo con accesso sia all'API di gestione Edge sul server di gestione Edge sia all'accesso a internet esterno, puoi utilizzare l'API di gestione Edge per salvare i dati sul traffico localmente. Devi quindi trasferire i dati su una macchina con accesso a internet per caricarli su Apigee. In questo scenario, non è necessario utilizzare l'utilità apigee-analytics-collector. Per saperne di più, consulta la sezione Caricamento manuale dei dati su Apigee di seguito.
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. L'accesso sudo completo significa che l'utente ha l'accesso sudo per eseguire le stesse operazioni di 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 disporre dell'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 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 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
Per eseguire il comando apigee-analytics-collector e inoltrare i dati ad Apigee, devi disporre delle seguenti informazioni:
- apigee_mgmt_api_uri: l'URL di base dell'API Edge sul tuo server di gestione. Questo URL è in genere nel 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, l'URL è nel formato:
http://ms_DNS/v1
Se abiliti TLS nell'API di gestione Edge, il formato è:
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 di Edge o dell'indirizzo 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 comando di esempio per recuperare i dati sul traffico per tutte le organizzazioni e gli ambienti nell'installazione di Edge e caricarli su 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 visualizzare 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 controllare le azioni del comando. Utilizza le seguenti opzioni per specificare le organizzazioni e gli ambienti da includere nei dati generati:
- -i, --include_orgs <elenco separato da virgole di elementi>
- -x, --exclude_orgs <elenco di elementi separati da virgole>
- -n, --include_envs <elenco separato da virgole di elementi>
- -e, --exclude_envs <comma-separated list of items>
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 i dati solo dall'ambiente di produzione di myOrg.
Per eseguire il dump dei dati su uno schermo 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 il caricamento dei 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 è la possibilità di 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 su prodotti API, sviluppatori, app o proxy API. L'esempio seguente 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 ottenere 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 della riga di comando.
Parametri comando
La tabella seguente elenca l'insieme completo di opzioni per l'utilità apigee-analytics-collector:
|
Comando |
Utilizzo |
|---|---|
|
-h, --help |
Informazioni sull'utilizzo dell'output |
|
-D, --dimension <dimension> |
La dimensione del traffico da raccogliere. Dimensioni valide: apiproducts, devs, apps, apiproxy (predefinita) |
|
-d, --days <days> |
Il numero di giorni precedenti, a partire dalla data corrente, di dati da raccogliere. 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 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 dell'indirizzo email dell'amministratore di sistema di Edge o dell'indirizzo email dell'amministratore dell'organizzazione per le tue organizzazioni di produzione. |
|
-p, --apigee_mgmt_api_password <apigee_mgmt_api_password> |
Password associata all'account email dell'API di gestione Edge specificato da -u. |
|
-i, --include_orgs <items> |
Elenco separato da virgole delle organizzazioni da includere nell'output. |
|
-x, --exclude_orgs <items> |
Elenco separato da virgole delle organizzazioni da escludere dall'output. |
|
-n, --include_envs <items> |
Elenco separato da virgole degli ambienti da includere nell'output. |
|
-e, --exclude_envs <items> |
Elenco separato da virgole di ambienti da includere nell'output. |
|
-o, --output <path> |
Percorso e nome file per salvare l'output. |
|
-s, --time_range_start <time_range_start> |
Intervallo di tempo di inizio per l'esecuzione di query sulle statistiche sul traffico, nel formato: "03/01/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: "04/01/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 |
Scrive l'output nel terminale (stdout), anziché caricarlo su Apigee. |
|
-c, --apigee_analytics_client_id <apigee_analytics_client_id> |
Il tuo ID per caricare i dati su Apigee. Invia un ticket all'assistenza Apigee per ottenerlo. |
|
-r, --apigee_analytics_secret <apigee_analytics_secret> |
Il tuo secret per caricare i dati su Apigee. Invia un ticket all'assistenza Apigee per ottenerlo. |
|
-R, --include_curl_commands |
Includi i comandi cURL generati nell'output per il debug. |
|
-v, --verbose |
Visualizza l'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. In questo modo, l'utilità apigee-analytics-collector può caricare i dati direttamente su Apigee.
Tuttavia, se la macchina non dispone di accesso a internet esterno, utilizza l'API Edge Management per raccogliere i dati sul traffico, quindi utilizza i comandi cURL per caricarli su Apigee da una macchina con accesso a internet. Devi ripetere questa procedura per ogni organizzazione e ambiente di produzione nella tua 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 Edge Get API message count. 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 del server di gestione Edge.
- {org_name} e {env_name} specificano l'organizzazione e l'ambiente.
- apiproxy è la dimensione che raggruppa le metriche in base ai 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 comando cURL utilizza il codice esadecimale
%20per gli spazi nell'intervallo di tempo.
Ad esempio, per raccogliere i conteggi dei messaggi del proxy API ora per ora in un periodo di 24 ore, utilizza la seguente chiamata API di gestione. timeRange contiene caratteri con codifica 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 i dati su 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 specificano le tue credenziali per caricare i dati su Apigee che hai ottenuto dall'assistenza Apigee.
- {org_name} specifica l'organizzazione.
- {"environments"…} contiene i risultati del comando cURL che hai utilizzato per raccogliere le statistiche riportate sopra.