API-Traffic-Daten in Apigee hochladen – Beta-Release

Edge for Private Cloud v4.18.01

Alle Edge for Private Cloud-Kunden müssen Apigee Statistiken zum API-Proxy-Traffic senden. Apigee empfiehlt Kunden, diese Informationen einmal täglich hochzuladen, und erstellen einen Cronjob.

Sie müssen die Daten für Ihre Produktions-API-Bereitstellungen einreichen, jedoch nicht für APIs in der Entwicklung. oder Bereitstellungen testen. In den meisten Edge-Installationen definieren Sie für Ihre Produktions-APIs. Die von Ihnen eingereichten Daten beziehen sich nur auf Organisationen und Umgebungen.

Zum Hochladen dieser Daten stellt Apigee die Betaversion des Befehlszeilentools apigee-analytics-collector bereit. Dieses Dienstprogramm sendet den API-Aufrufvolumenbericht zurück an Apigee. Jede Kante des Bei der Installation der privaten Cloud können mit diesem Dienstprogramm Traffic-Daten abgerufen und gemeldet werden Apigee

Der Zugriff auf die von apigee-analytics-collector

Nach dem Hochladen von Daten mit dem Dienstprogramm apigee-analytics-collector Sie können sie sich in Apigee 360 ansehen.

Melden Sie sich bei Apigee 360 an und wählen Sie die Option Nutzung aus, um die Daten anzusehen. Auf der Seite Nutzung sehen Sie ein Nutzungsdiagramm und eine Tabelle mit Nutzungsdaten für jede Ihrer Edge-Organisationen.

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 jeder Knoten sein, der auf die Edge-Verwaltungs-API auf dem Edge-Verwaltungsserver zugreifen kann. Sie können sie direkt auf dem Verwaltungsserver, auf einem anderen Knoten der Edge-Installation oder auf einem separaten Knoten installieren, sofern dieser Knoten API-Anfragen an den Verwaltungsserver senden kann.

Internetzugang Anforderungen

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 kein Knoten mit Zugriff auf die Edge-Verwaltungs-API auf dem Edge-Verwaltungsserver vorhanden ist und externem Internetzugang haben, können Sie mit der Edge-Verwaltungs-API den Traffic Daten lokal gespeichert. Anschließend müssen Sie die Daten auf einen Computer mit Internetzugang übertragen, um sie dort hochzuladen. Apigee 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 vollem Sudo-Zugriff ausgeführt werden. Für den uneingeschränkten sudo-Zugriff bedeutet dies, dass der Nutzer sudo-Zugriff hat, um dieselben Vorgänge wie root 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 vollen sudo-Zugriff auf den Nutzer „apigee“ haben.

Wenn Sie einen Nutzer mit vollem Sudo-Zugriff auf den Nutzer „apigee“ konfigurieren möchten, bearbeiten Sie mit dem Befehl „visudo“ die Sudoers-Datei und fügen Sie Folgendes hinzu:

analyticsUser        ALL=(apigee)      NOPASSWD: ALL

Dabei ist analyticsUser der Nutzername der Person, die das Dienstprogramm apigee-analytics-collector ausführt.

Nach der Installation des Dienstprogramms apigee-analytics-collector und den Nutzer konfigurieren, können Sie das Dienstprogramm testen, indem Sie den Hilfebefehl für das Dienstprogramm apigee-analytics-collector:

> /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 Verwaltungsserver. Diese URL hat normalerweise das folgende Format:
    http://ms_IP:8080/v1

    Dabei ist ms_IP die IP-Adresse oder Ihr Verwaltungsserver und 8080 ist den von der Edge API verwendeten Port. Wenn Sie einen DNS-Eintrag für die Edge API erstellt haben, hat die URL folgende Form:
    http://ms_DNS/v1

    Wenn Sie TLS in der Edge-Verwaltungs-API aktivieren, hat sie folgende Form:
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: Die E-Mail-Adresse eines Kontos mit Zugriff auf die Edge-APIs /stats. Häufig ist dies die E-Mail-Adresse des Edge-Systemadministrators oder die E-Mail-Adresse des Administrators der Produktionsorganisation.
  • apigee_mgmt_api_password: Das Edge-Passwort für das Konto, das mit apigee_mgmt_api_email angegeben ist.
  • apigee_analytics_client_id und apigee_analytics_secret: Ihre Anmeldedaten zum Hochladen von Daten in Apigee. Bitte senden Sie ein Ticket beim Apigee-Support, um apigee_analytics_client_id und apigee_analytics_secret.

Beispiele für Befehle

Im Folgenden sehen Sie einen Beispielbefehl zum Abrufen von Traffic-Daten für alle Organisationen und Umgebungen in der Edge-Installation und zum Hochladen dieser Daten in Apigee. Achten Sie darauf, wie Sie Verwenden Sie apigee-service, um Führen Sie den Befehl apigee-analytics-collector aus:

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

Der Befehl enthält alle erforderlichen Informationen, z. B. Ihre apigee_analytics_client_id und apigee_analytics_secret.

Die Ergebnisse sollten in etwa 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 einbezogen werden sollen:

  • -i, --include_orgs <durch Kommas getrennte Liste von Elementen>
  • -x, --exclude_orgs <durch Kommas getrennte Liste von Elementen>
  • -n, --include_envs <comma-separated list of items>
  • -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 werden nur Daten aus der Produktionsumgebung von myOrg erfasst.

Mit der Option -S können Sie die Daten auf einen Bildschirm übertragen, um sie zu prüfen, bevor Sie sie an Apigee senden:

>  /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 zu Apigee übersprungen. Sie können den Befehl dann ohne die Option -S noch einmal ausführen, um die Daten an Apigee zu senden.

Eine Möglichkeit, die Option -S zu verwenden, besteht darin, verschiedene Datentypen lokal anzuzeigen. Bei Apigee müssen Sie nur API-Verkehrsdaten hochladen. Mit der Option -D können Sie jedoch Daten zur API Produkten, Entwicklern, Apps oder API-Proxys. 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 

Geben Sie die Option -v an, um eine ausführliche Ausgabe zu erhalten, und die Option -R, um die von apigee-analytics-collector generierten curl-Befehle zu sehen:

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

Im nächsten Abschnitt finden Sie 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 Ausgabenutzung

-D, --dimension <dimension>

Die zu erfassende Traffic-Dimension. Gültige Dimensionen: apiproducts, devs, apps, apiproxy (Standard)

-d, --days &lt;days&gt;

Die Anzahl der Tage, beginnend mit dem aktuellen Datum, für die Daten erhoben werden sollen. 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 Ihrer Produktionsorganisationen.

-p, --apigee_mgmt_api_password &lt;apigee_mgmt_api_password&gt;

Passwort, das mit dem durch -u angegebenen E-Mail-Konto der Edge-Verwaltungs-API verknüpft ist.

-i, --include_orgs &lt;items&gt;

Durch Kommas getrennte Liste der Organisationen, die in die Ausgabe aufgenommen werden sollen.

-x, --exclude_orgs <items>

Durch Kommas getrennte Liste der Organisationen, die von der Ausgabe ausgeschlossen werden sollen.

-n, --include_envs <items>

Durch Kommas getrennte Liste der Umgebungen, die in die Ausgabe eingeschlossen werden sollen.

-e, --exclude_envs <items>

Durch Kommas getrennte Liste der Umgebungen, die in die Ausgabe eingeschlossen werden sollen.

-o, --output &lt;path&gt;

Pfad und Dateiname zum Speichern der Ausgabe.

-s, --time_range_start &lt;time_range_start&gt;

Zeitraum, ab dem die Zugriffsstatistiken abgefragt werden sollen, im Format „03/01/2016 00:00“.

Wenn Sie „-d“ angeben, geben Sie nicht auch „-s“ und „-z“ an, um einen Zeitraum festzulegen.

-z, --time_range_end &lt;time_range_end&gt;

Ende des Zeitraums für die Abfrage von Trafficstatistiken im Format „01.04.2016 24:00“.

Wenn Sie „-d“ angeben, geben Sie nicht auch „-s“ und „-z“ an, um einen Zeitraum festzulegen.

-t, --time_unit &lt;time_unit&gt;

Zeiteinheit für Besucherzahlen. Standardwoche. Standardeinheiten nach 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 &lt;apigee_analytics_client_id&gt;

Ihre ID zum Hochladen von Daten in Apigee. Bitte senden Sie ein Ticket beim Apigee-Support, um erhalten.

-r, --apigee_analytics_secret <apigee_analytics_secret>

Ihr Secret für den Upload von Daten in Apigee. Bitte senden Sie ein Ticket beim Apigee-Support, um erhalten.

-R, --include_curl_commands

Nehmen Sie die generierten cURL-Befehle zur Fehlerbehebung in die Ausgabe auf.

-v, --verbose

Detaillierte Ausgabe anzeigen.

Daten manuell in Apigee hochladen

Apigee empfiehlt, dass Sie das Dienstprogramm apigee-analytics-collector auf einem mit externem Internetzugang. Dann kann das Dienstprogramm apigee-analytics-collector direkt in Apigee.

Wenn der Computer jedoch keinen externen Internetzugriff hat, verwenden Sie die Edge-Verwaltungs-API, um Verkehrsdaten zu sammeln und sie dann mit cURL-Befehlen von einem Computer mit Internetzugang. Sie müssen diesen Vorgang für jede Produktionsorganisation in Ihrer Edge-Installation.

Mit dem folgenden cURL-Befehl können Sie Traffic-Daten für eine bestimmte Organisation und Umgebung für ein bestimmtes Zeitintervall 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"

Für diesen Befehl wird die Edge Get API-Nachrichtenanzahl verwendet. Dabei gilt:

  • apigee_mgmt_api_email:apigee_mgmt_api_password E-Mail-Adresse eines Kontos mit Zugriff auf die Edge /stats APIs.
  • <ms_IP> ist die IP-Adresse oder der DNS-Name des Edge-Verwaltungsservers.
  • Mit {org_name} und {env_name} werden die Organisation und die Umgebung angegeben.
  • apiproxy ist die Dimension, die Messwerte nach API-Proxys gruppiert.
  • Mit MM/TT/JJJJ%20HH:MM~MM/TT/JJJJ%20HH:MM&timeUnit=hour wird der Zeitraum in Zeiteinheiten der zu erhebenden Messwerte unterteilt. Beachten Sie, dass im cURL-Befehl der Hexadezimalcode %20 für die Lücken im Zeitraum verwendet wird.

Um beispielsweise die Anzahl der API-Proxy-Nachrichten stündlich über einen Zeitraum von 24 Stunden zu erfassen, verwenden Sie die Follower bei 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" ]
  }
}

Um diese Daten dann von einem Computer mit Internetzugang in Apigee hochzuladen, verwenden Sie den folgenden cURL-Befehl:

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.
  • {&quot;environments&quot;...} enthält die Ergebnisse des cURL-Befehls, der mit denen Sie oben Statistiken gesammelt haben.