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

Alle Edge for Private Cloud-Kunden müssen Statistiken zur API an Apigee senden Proxy-Traffic. 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.

Um Sie beim Hochladen dieser Daten zu unterstützen, stellt Apigee die Betaversion der apigee-analytics-collector-Befehlszeile Dienstprogramm. 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

Erforderlich: Wenden Sie sich vor dem Hochladen von Daten an den Apigee-Support

Bevor Sie Daten in Apigee hochladen können, müssen Sie sich an den Apigee Edge-Support wenden, um das Onboarding abzuschließen. .

Apigee-Analytics-Collector installieren

Das apigee-analytics-collector ist ein RPM, den Sie mit dem apigee-service-Dienstprogramm installieren.

Installationsort

Der Knoten, auf dem Sie das Dienstprogramm apigee-analytics-collector installieren, kann ein beliebiger Knoten sein Knoten, der auf die Edge-Verwaltungs-API auf dem Edge-Verwaltungsserver zugreifen kann. Sie können es installieren direkt auf dem Verwaltungsserver, auf einem anderen Knoten der Edge-Installation oder auf einem separaten solange dieser Knoten API-Anfragen an den Verwaltungsserver senden kann.

Internetzugang Anforderungen

Installieren Sie das Dienstprogramm apigee-analytics-collector auf einem mit externem Internetzugang. Dann wird 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 Zugriff auf das externe Internet haben, können Sie mit der Edge-Management-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 den apigee-analytics-collector nicht verwenden. Dienstprogramm. Weitere Informationen finden Sie unter Manuelles Hochladen von Daten auf Apigee

Installation

Verwenden Sie den folgenden Befehl, um das Dienstprogramm apigee-analytics-collector zu installieren. Weil eine RPM-Datei installieren, muss dieser Befehl vom Root-Nutzer oder von einem Nutzer mit vollem sudo-Zugriff. Für einen vollständigen sudo-Zugriff bedeutet dies, dass der Benutzer sudo-Zugriff hat, um dieselbe Aktion auszuführen. Vorgänge als Root.

/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install

Apigee-analytics-collector ausführen

In diesem Abschnitt wird beschrieben, wie das Dienstprogramm apigee-analytics-collector ausgeführt wird.

Benutzer zum Ausführen von apigee-analytics-collector konfigurieren

Sie müssen apigee-analytics-collector nicht als Root-Nutzer ausführen Nutzer. Dieser Benutzer muss vollen sudo-Zugriff auf den „Apigee“ haben Nutzer.

Um einen Benutzer so zu konfigurieren, dass er vollen sudo-Zugriff auf den „Apigee“ hat verwenden Sie den Befehl „visudo“ Befehl für bearbeiten Sie die sudoers-Datei, um sie hinzuzufügen:

analyticsUser        ALL=(apigee)      NOPASSWD: ALL

Dabei ist analyticsUser der Nutzername der ausgeführten Person. das Dienstprogramm apigee-analytics-collector.

Nach der Installation des Dienstprogramms apigee-analytics-collector und den Nutzer konfigurieren, können Sie das Dienstprogramm testen, indem Sie den Hilfebefehl für dem 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 in Ihrer Verwaltung Server. Diese URL hat normalerweise die folgende Form:

    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, befindet sich die URL in das Formular:

    http://ms_DNS/v1

    Wenn Sie TLS in der Edge Management API aktivieren, hat sie das folgende Format:

    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: Die E-Mail-Adresse eines Kontos mit Zugriff auf das Edge /stats APIs Häufig ist die E-Mail-Adresse des Edge-Systemadministrators oder die E-Mail-Adresse des Organisationsadministrators für Ihre Produktionsorganisationen.
  • apigee_mgmt_api_password: Das Edge-Passwort für das Konto, das durch apigee_mgmt_api_email.
  • apigee_analytics_client_id und apigee_analytics_secret: Ihre Anmeldedaten zum Hochladen von Daten in Apigee. Bitte senden Sie ein Ticket beim Apigee Edge-Support, um apigee_analytics_client_id und apigee_analytics_secret.

Beispiele für Befehle

Unten sehen Sie einen Beispielbefehl zum Abrufen von Verkehrsdaten für alle Organisationen und Umgebungen in der Edge-Installation und laden diese Daten in Apigee hoch. Achten Sie darauf, wie Sie apigee-service für Folgendes verwenden: 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. apigee_analytics_client_id und apigee_analytics_secret

Die Ergebnisse sollten im folgenden Formular angezeigt werden:

[
  {
    "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 Geben Sie die Organisationen und Umgebungen an, die in die generierten Daten aufgenommen werden sollen:

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

Wenn Sie beispielsweise nur die Produktionsorganisationen und -umgebungen angeben möchten, verwenden Sie die Methode -i (oder --include_orgs) und -n (oder Optionen für --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 sammeln Sie nur Daten aus der Produktionsumgebung des myOrg

Wenn Sie die Daten vor dem Senden an Apigee auf einen Bildschirm übertragen möchten, um sie zu prüfen, verwenden Sie die -S Option:

/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

Bei der Option -S werden die Daten in Apigee hochladen. Sie können den Befehl dann noch einmal ohne die Option -S ausführen, um den Daten in Apigee.

Ein Grund für die Verwendung von -S damit Sie verschiedene Datentypen lokal anzeigen können. Bei Apigee müssen Sie nur API-Verkehrsdaten hochladen, aber mit der Option -D können Sie Daten zur API anzeigen Produkten, Entwicklern, Apps oder API-Proxys. Im folgenden Beispiel werden die -D und -S Optionen zum Anzeigen von Entwicklerdaten lokal:

/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 ein, um ausführliche Ausgabe und die Option -R um die von apigee-analytics-collector generierten curl-Befehle anzuzeigen:

/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 die apigee-analytics-collector-Dienstprogramm:

Befehl Beschreibung
-h, --help

Informationen zur Ausgabenutzung

-D, --dimension dimension

Die zu erfassende Traffic-Dimension. Gültige Werte sind:

  • apiproducts
  • apiproxy (Standard)
  • apps
  • devs
-d, --days days

Die Anzahl der letzten Tage mit zu erfassenden Daten, beginnend ab dem aktuellen Datum. Die Der Standardwert ist 3.

Wenn Sie -d angeben, geben Sie nicht gleichzeitig -s und -z, um einen Zeitraum festzulegen.

-m, --apigee_mgmt_api_uri apigee_mgmt_api_uri

URL zur Edge-Verwaltungs-API.

-u, --apigee_mgmt_api_email apigee_mgmt_api_email

Die E-Mail-Adresse eines Kontos mit Zugriff auf die Edge /stats APIs. Dies ist in der Regel die E-Mail-Adresse des Edge-Systemadministrators oder E-Mail-Adresse des Organisationsadministrators für für Ihre Produktionsorganisationen.

-p, --apigee_mgmt_api_password apigee_mgmt_api_password

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

-i, --include_orgs items

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

-x, --exclude_orgs items

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

-n, --include_envs items

Eine durch Kommas getrennte Liste von Umgebungen, die in die Ausgabe aufgenommen werden sollen.

-e, --exclude_envs items

Eine durch Kommas getrennte Liste von Umgebungen, die aus der Ausgabe einbezogen werden sollen.

-o, --output path

Pfad und Dateiname zum Speichern der Ausgabe.

-s, --time_range_start time_range_start

Zeitraum, der für die Abfrage von Zugriffsstatistiken im Format „MM/DD/YYYY HH:MM“ gestartet werden soll.

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

-z, --time_range_end time_range_end

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

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

-t, --time_unit time_unit

Zeiteinheit für Verkehrsdaten. Der Standardwert ist hour. Gültige Zeiteinheiten sind:

  • second
  • minute
  • hour (Standard)
  • day
  • week

Wenn Sie -t auf week und -d auf 365 eingeben, gibt Apigee eine große Datenmenge zurück, die in 52 separate (einer für jede 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. Bitte senden Sie ein Ticket beim Apigee Edge-Support, um erhalten.

-r, --apigee_analytics_secret apigee_analytics_secret

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

-R, --include_curl_commands

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

-v, --verbose

Ausführliche Ausgabe anzeigen.

Daten manuell in Apigee hochladen

Apigee empfiehlt die Installation des apigee-analytics-collector-Dienstprogramms auf einem mit externem Internetzugang. Dann wird das Dienstprogramm apigee-analytics-collector Daten direkt in Apigee hochladen.

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

Verwenden Sie den folgenden curl-Befehl, um Traffic-Daten für eine bestimmte Organisation und für ein bestimmtes Zeitintervall:

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 Get API Message Count API. Dabei gilt:

  • apigee_mgmt_api_email:apigee_mgmt_api_password gibt die E-Mail-Adresse eines Kontos mit Zugriff auf die Edge /stats APIs.
  • ms_IP ist die IP-Adresse oder den DNS-Namen des Edges. Verwaltungsserver.
  • org_name und env_name geben die Organisation und Umgebung.
  • apiproxy ist die Dimension, mit der Messwerte nach API-Proxys gruppiert werden.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour gibt an Der Zeitraum, unterteilt in die Zeiteinheiten der zu erfassenden Messwerte Beachten Sie, dass die Im Befehl curl wird der Hexadezimalcode %20 für Leerzeichen in der Zeit verwendet Bereich.

Um beispielsweise die Anzahl der API-Proxy-Nachrichten stündlich über einen Zeitraum von 24 Stunden zu erfassen, verwenden Sie die Follower bei API-Aufruf.

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"

timeRange enthält URL-codierte Zeichen.

Es sollte eine Antwort im Formular angezeigt werden:

{
  "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" ]
  }
}

Um diese Daten dann von einem Computer mit Internetzugang in Apigee hochzuladen, verwenden Sie Folgendes: Befehl 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"...'

Wobei:

  • apigee_analytics_client_id:apigee_analytics_secret geben Folgendes an: Anmeldedaten zum Hochladen von Daten in Apigee, die Sie von Apigee erhalten haben.
  • org_name gibt den Namen der Organisation an.
  • "environments"... enthält die Ergebnisse des curl-Befehls, der mit denen Sie oben Statistiken gesammelt haben.