Edge for Private Cloud v4.18.01
Alle Edge for Private Cloud-Kunden müssen Apigee Statistiken zum API-Proxy-Traffic senden. Apigee empfiehlt, dass Kunden diese Informationen einmal täglich hochladen, möglicherweise durch Erstellen eines Cronjobs.
Sie müssen die Daten für Ihre Produktions-API-Bereitstellungen einreichen, aber nicht für APIs in Entwicklungs- oder Testbereitstellungen. In den meisten Edge-Installationen definieren Sie bestimmte Organisationen oder Umgebungen für Ihre Produktions-APIs. Die von Ihnen eingereichten Daten sind nur für diese Produktionsorganisationen und -umgebungen bestimmt.
Um das Hochladen dieser Daten zu erleichtern, stellt Apigee die Betaversion des Befehlszeilen-Dienstprogramms apigee-analytics-collector zur Verfügung. Dieses Dienstprogramm sendet den Bericht zum API-Aufrufvolumen an Apigee zurück. Jede Edge for Private Cloud-Installation kann dieses Dienstprogramm verwenden, um Trafficdaten abzurufen und an Apigee zu melden.
Auf die von apigee-analytics-collector hochgeladenen Daten zugreifen
Nachdem Sie Daten mit dem Dienstprogramm apigee-analytics-collector hochgeladen haben, können Sie sie in Apigee 360 ansehen.
Wenn Sie die Daten aufrufen möchten, melden Sie sich in Apigee 360 an und wählen Sie die Option Nutzung aus. Auf der Seite Nutzung werden ein Nutzungsdiagramm und eine Tabelle mit Nutzungsdaten für jede Ihrer Edge-Organisationen angezeigt.
apigee-analytics-collector installieren
Das Dienstprogramm apigee-analytics-collector ist ein RPM, das Sie mit dem Dienstprogramm apigee-service installieren.
Installationsort
Der Knoten, auf dem Sie das Dienstprogramm apigee-analytics-collector installieren, kann ein beliebiger Knoten sein, der auf die Edge Management API auf dem Edge Management Server zugreifen kann. Sie können es direkt auf dem Management Server, auf einem anderen Knoten der Edge-Installation oder auf einem separaten Knoten installieren, sofern dieser Knoten API-Anfragen an den Management Server senden kann.
Anforderungen für den Internetzugriff
Installieren Sie das Dienstprogramm apigee-analytics-collector auf einem Computer mit externem Internetzugriff. Anschließend kann das Dienstprogramm apigee-analytics-collector Daten direkt in Apigee hochladen.
Wenn es keinen Knoten mit Zugriff auf die Edge Management API auf dem Edge Management Server und mit externem Internetzugriff gibt, können Sie die Edge Management API verwenden, um die Traffic-Daten lokal zu speichern. Anschließend müssen Sie die Daten auf einen Computer mit Internetzugriff übertragen, um sie in Apigee hochzuladen. In diesem Szenario müssen Sie das Dienstprogramm apigee-analytics-collector nicht verwenden. Weitere Informationen finden Sie unten unter Daten manuell in Apigee hochladen.
Installation
Verwenden Sie den folgenden Befehl, um das Dienstprogramm apigee-analytics-collector zu installieren. Da Sie eine RPM-Datei installieren, muss dieser Befehl vom Root-Nutzer oder von einem Nutzer mit vollständigem sudo-Zugriff ausgeführt werden. Vollständiger sudo-Zugriff bedeutet, dass der Nutzer sudo-Zugriff hat, um dieselben Vorgänge wie der Root-Nutzer auszuführen.
> /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install
apigee-analytics-collector ausführen
In diesem Abschnitt wird beschrieben, wie Sie das Dienstprogramm apigee-analytics-collector ausführen.
Nutzer für die Ausführung von apigee-analytics-collector konfigurieren
Sie müssen apigee-analytics-collector als Nutzer ohne Root-Berechtigung ausführen. Dieser Nutzer muss vollständigen sudo-Zugriff auf den Nutzer „apigee“ haben.
Wenn Sie einen Nutzer so konfigurieren möchten, dass er vollen sudo-Zugriff auf den Nutzer „apigee“ hat, verwenden Sie den Befehl „visudo“, um die sudoers-Datei zu bearbeiten und Folgendes hinzuzufügen:
analyticsUser ALL=(apigee) NOPASSWD: ALL
Dabei ist analyticsUser der Nutzername der Person, die das Dienstprogramm apigee-analytics-collector ausführt.
Nachdem Sie das Dienstprogramm apigee-analytics-collector installiert und den Nutzer konfiguriert haben, können Sie das Dienstprogramm testen, indem Sie den Hilfebefehl für das Dienstprogramm apigee-analytics-collector ausführen:
> /opt/apigee/apigee-service/bin/ apigee-service apigee-analytics-collector export traffic --help
Erforderliche Informationen zum Ausführen von apigee-analytics-collector
Sie benötigen die folgenden Informationen, um den Befehl apigee-analytics-collector auszuführen und Daten an Apigee weiterzuleiten:
- apigee_mgmt_api_uri: Die Basis-URL der Edge API auf Ihrem Management Server. Diese URL hat normalerweise das folgende Format:
http://ms_IP:8080/v1
Dabei ist ms_IP die IP-Adresse oder Ihr Management Server und 8080 der von der Edge API verwendete Port. Wenn Sie einen DNS-Eintrag für die Edge API erstellt haben, hat die URL folgendes Format:
http://ms_DNS/v1
Wenn Sie TLS für die Edge Management API aktivieren, hat sie folgendes Format:
https://ms_IP:8080/v1
https://ms_DNS/v1 - apigee_mgmt_api_email: Die E-Mail-Adresse eines Kontos mit Zugriff auf die Edge-/stats-APIs. Häufig ist dies die E-Mail-Adresse des Edge-Systemadministrators oder die E-Mail-Adresse des Administrators der Organisation für Ihre Produktionsorganisationen.
- apigee_mgmt_api_password: Das Edge-Passwort für das von apigee_mgmt_api_email angegebene Konto.
- apigee_analytics_client_id und apigee_analytics_secret: Ihre Anmeldedaten zum Hochladen von Daten in Apigee. Reichen Sie ein Ticket beim Apigee-Support ein, um apigee_analytics_client_id und apigee_analytics_secret zu erhalten.
Beispiele für Befehle
Im Folgenden sehen Sie einen Beispielbefehl zum Abrufen von Trafficdaten für alle Organisationen und Umgebungen in der Edge-Installation und zum Hochladen dieser Daten in Apigee. Beachten Sie, wie Sie apigee-service verwenden, um den Befehl apigee-analytics-collector auszuführen:
> /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
Beachten Sie, dass der Befehl alle erforderlichen Informationen enthält, z. B. Ihre apigee_analytics_client_id und Ihr apigee_analytics_secret.
Die Ergebnisse sollten so aussehen:
[
{
"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
}
]
}
]Verwenden Sie Befehlszeilenoptionen für den Befehl, um seine Aktionen zu steuern. Verwenden Sie die folgenden Optionen, um die Organisationen und Umgebungen anzugeben, die in die generierten Daten aufgenommen werden sollen:
- -i, --include_orgs <durch Kommas getrennte Liste von Elementen>
- -x, --exclude_orgs <durch Kommas getrennte Liste von Elementen>
- -n, --include_envs <durch Kommas getrennte Liste von Elementen>
- -e, --exclude_envs <durch Kommas getrennte Liste von Elementen>
Wenn Sie beispielsweise nur die Produktionsorganisationen und -umgebungen angeben möchten, verwenden Sie die Optionen -i (oder --include_orgs) und -n (oder --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 diesem Beispiel erfassen Sie nur Daten aus der Produktionsumgebung von myOrg.
Wenn Sie die Daten auf einem Bildschirm ausgeben möchten, um sie zu prüfen, bevor Sie sie an Apigee senden, verwenden Sie die Option -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
Mit der Option -S wird der Datenupload in Apigee übersprungen. Anschließend können Sie den Befehl ohne die Option -S noch einmal ausführen, um die Daten an Apigee zu senden.
Ein Grund für die Verwendung der Option -S ist, dass Sie verschiedene Datentypen lokal anzeigen können. Apigee erfordert nur, dass Sie API-Traffic-Daten hochladen. Mit der Option -D können Sie jedoch Daten zu API-Produkten, Entwicklern, Anwendungen oder API-Proxys anzeigen lassen. Im folgenden Beispiel werden die Optionen -D und -S verwendet, um Entwicklerdaten lokal anzuzeigen:
> /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
Fügen Sie die Option -v hinzu, um eine ausführliche Ausgabe zu erhalten, und die Option -R, um die von apigee-analytics-collector generierten curl-Befehle aufzurufen:
> /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
Der nächste Abschnitt enthält eine vollständige Liste der Befehlszeilenoptionen.
Befehlsparameter
In der folgenden Tabelle sind alle Optionen für das Dienstprogramm apigee-analytics-collector aufgeführt:
|
Befehl |
Verwenden |
|---|---|
|
-h, --help |
Informationen zur Nutzung der Ausgabe |
|
-D, --dimension <dimension> |
Die zu erfassende Traffic-Dimension. Gültige Dimensionen: apiproducts, devs, apps, apiproxy (Standard) |
|
-d, --days <days> |
Die Anzahl der Tage, für die Daten erhoben werden sollen, beginnend mit dem aktuellen Datum. Der Standardwert ist 3. Wenn Sie -d angeben, geben Sie nicht auch -s und -z an, um einen Zeitraum festzulegen. |
|
-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri> |
URL zur Edge Management API. |
|
-u, --apigee_mgmt_api_email <apigee_mgmt_api_email> |
Die E-Mail-Adresse eines Kontos mit Zugriff auf die Edge-/stats-APIs. Häufig ist dies die E-Mail-Adresse des Edge-Systemadministrators oder die E-Mail-Adresse des Administrators der Organisation für Ihre Produktionsorganisationen. |
|
-p, --apigee_mgmt_api_password <apigee_mgmt_api_password> |
Passwort, das mit dem E-Mail-Konto der Edge Management API verknüpft ist, das durch -u angegeben wird. |
|
-i, --include_orgs <items> |
Durch Kommas getrennte Liste der Organisationen, die in die Ausgabe aufgenommen werden sollen. |
|
-x, --exclude_orgs <items> |
Durch Kommas getrennte Liste von Organisationen, die von der Ausgabe ausgeschlossen werden sollen. |
|
-n, --include_envs <items> |
Durch Kommas getrennte Liste der Umgebungen, die in die Ausgabe aufgenommen werden sollen. |
|
-e, --exclude_envs <items> |
Durch Kommas getrennte Liste der Umgebungen, die in die Ausgabe aufgenommen werden sollen. |
|
-o, --output <path> |
Pfad und Dateiname zum Speichern der Ausgabe. |
|
-s, --time_range_start <time_range_start> |
Startzeitraum für die Abfrage von Traffic-Statistiken im Format „03/01/2016 00:00“. Wenn Sie „-d“ angeben, dürfen Sie nicht auch „-s“ und „-z“ angeben, um einen Zeitraum festzulegen. |
|
-z, --time_range_end <time_range_end> |
Ende des Zeitraums für die Abfrage von Traffic-Statistiken im Format „04/01/2016 24:00“. Wenn Sie „-d“ angeben, dürfen Sie nicht auch „-s“ und „-z“ angeben, um einen Zeitraum festzulegen. |
|
-t, --time_unit <time_unit> |
Zeiteinheit für Verkehrsdaten. Standardwoche. Standardeinheiten pro Stunde. Gültige Zeiteinheiten: Sekunde, Minute, Stunde, Tag, Woche. |
|
-S, --standard_output |
Schreiben Sie die Ausgabe in das Terminal (stdout), anstatt sie in Apigee hochzuladen. |
|
-c, --apigee_analytics_client_id <apigee_analytics_client_id> |
Ihre ID zum Hochladen von Daten in Apigee. Reichen Sie ein Ticket beim Apigee-Support ein, um es zu erhalten. |
|
-r, --apigee_analytics_secret <apigee_analytics_secret> |
Ihr Secret zum Hochladen von Daten in Apigee. Reichen Sie ein Ticket beim Apigee-Support ein, um es zu erhalten. |
|
-R, --include_curl_commands |
Die generierten cURL-Befehle in die Ausgabe für das Debugging aufnehmen. |
|
-v, --verbose |
Detaillierte Ausgabe anzeigen. |
Daten manuell in Apigee hochladen
Apigee empfiehlt, das Dienstprogramm apigee-analytics-collector auf einem Computer mit externem Internetzugriff zu installieren. Anschließend kann das Dienstprogramm apigee-analytics-collector Daten direkt in Apigee hochladen.
Wenn der Computer jedoch keinen externen Internetzugriff hat, verwenden Sie die Edge Management API, um Trafficdaten zu erfassen, und laden Sie sie dann mit cURL-Befehlen von einem Computer mit Internetzugriff in Apigee hoch. Sie müssen diesen Vorgang für jede Produktionsorganisation und -umgebung in Ihrer Edge-Installation wiederholen.
Verwenden Sie den folgenden cURL-Befehl, um Trafficdaten für eine bestimmte Organisation und Umgebung für ein bestimmtes Zeitintervall zu erfassen:
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"Dieser Befehl verwendet die Edge-API „Get API message count“. Dabei gilt:
- apigee_mgmt_api_email:apigee_mgmt_api_password gibt die E-Mail-Adresse eines Kontos mit Zugriff auf die Edge-/stats-APIs an.
- <ms_IP> ist die IP-Adresse oder der DNS-Name des Edge Management Servers.
- {org_name} und {env_name} geben die Organisation und die Umgebung an.
- apiproxy ist die Dimension, nach der Messwerte nach API-Proxys gruppiert werden.
- MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour gibt den Zeitraum an, der in Zeiteinheiten der zu erfassenden Messwerte unterteilt ist. Beachten Sie, dass der cURL-Befehl den Hexadezimalcode
%20für die Leerzeichen im Zeitraum verwendet.
Wenn Sie beispielsweise die Anzahl der API-Proxy-Nachrichten stündlich über einen Zeitraum von 24 Stunden erfassen möchten, verwenden Sie den folgenden Management API-Aufruf. Der „timeRange“ enthält URL-codierte Zeichen.
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"
Es sollte eine Antwort im Formular angezeigt werden:
{
"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" ]
}
}Verwenden Sie den folgenden cURL-Befehl, um diese Daten von einem Computer mit Internetzugriff in Apigee hochzuladen:
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"...}'Dabei gilt:
- apigee_analytics_client_id:apigee_analytics_secret: Geben Sie Ihre Anmeldedaten für das Hochladen von Daten in Apigee an, die Sie vom Apigee-Support erhalten haben.
- {org_name} gibt die Organisation an.
- {"environments"...} enthält die Ergebnisse des cURL-Befehls, mit dem Sie oben Statistiken erfasst haben.