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

Edge for Private Cloud Version 4.17.05

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.

Zur Unterstützung beim Hochladen dieser Daten stellt Apigee den Betarelease der Befehlszeile apigee-analytics-collector bereit. 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

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. Die Auf der Seite Nutzung werden ein Nutzungsdiagramm und eine Tabelle mit Nutzungsdaten für jede Edge-Organisationen

Apigee-Analytics-Collector installieren

Der apigee-analytics-collector ist ein RPM, den Sie mit dem Dienstprogramm apigee-service 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 kann das Dienstprogramm apigee-analytics-collector direkt in Apigee.

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 unter Manuelles Hochladen von Daten auf Apigee finden Sie unten.

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 Sie das Dienstprogramm apigee-analytics-collector ausführen.

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

Sie müssen apigee-analytics-collector als Nicht-Root 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 des ausgeführten Nutzers. 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 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 weiterleiten:

  • apigee_mgmt_api_uri: Die Basis-URL der Edge API in Ihrer Verwaltung. Server. 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, 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 die 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-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 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. 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 <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 Methode 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 sammeln Sie nur Daten aus der Produktionsumgebung des myOrg haben.

Mit der Option -S können Sie die Daten auf einen Bildschirm übertragen, um sie zu überprü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 werden die Daten in Apigee hochladen. Sie können den Befehl dann ohne die Option -S noch einmal ausführen, um die Daten an Apigee zu senden.

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. 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 zur Anzeige von Entwicklerdaten verwendet. 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 hinzu, 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

Die folgende Tabelle enthält den vollständigen Satz von Optionen für das Dienstprogramm apigee-analytics-collector:

Befehl

Verwenden

-h, --help

Informationen zur Ausgabenutzung

-D, --Dimension &lt;dimension&gt;

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

-d, --days <days>

Die Anzahl der vergangenen Tage (ab dem aktuellen Datum) an zu erfassenden Daten. Die Der Standardwert ist 3.

Wenn Sie -d angeben, führen Sie dürfen nicht auch -s und -z zum Festlegen einer Uhrzeit Bereich.

-m, --apigee_mgmt_api_uri &lt;apigee_mgmt_api_uri&gt;

URL zur Edge-Verwaltungs-API.

-u, --apigee_mgmt_api_email &lt;apigee_mgmt_api_email&gt;

Die E-Mail-Adresse eines Kontos mit Zugriff auf die Edge /stats APIs. Häufig ist dies der E-Mail-Adresse des Edge-Systemadministrators oder E-Mail-Adresse des Organisationsadministrators für für Ihre 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 &lt;items&gt;

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

-n, --include_envs &lt;items&gt;

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

-e, --exclude_envs &lt;items&gt;

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

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

Pfad und Dateiname zum Speichern der Ausgabe.

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

Der Startzeitbereich für die Abfrage von Traffic-Statistiken im Format „03/01/2016 00:00“.

Wenn Sie „-d“ angeben, geben Sie nicht gleichzeitig „-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 gleichzeitig „-s“ und „-z“ an, um einen Zeitraum festzulegen.

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

Zeiteinheit für Verkehrsdaten. 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 &lt;apigee_analytics_secret&gt;

Ihr Secret für das Hochladen 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

Ausführliche 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.

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 E-Mail-Adresse eines Kontos mit Zugriff auf die Edge /stats APIs.
  • &lt;ms_IP&gt; ist die IP-Adresse oder der DNS-Name des Edges. Verwaltungsserver.
  • {org_name} und {org_name} geben die Organisation und Umgebung.
  • apiproxy ist die Dimension, die Messwerte nach API-Proxys gruppiert.
  • Mit MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&amp;timeUnit=hour wird angegeben, Der Zeitraum, unterteilt in die Zeiteinheiten der zu erfassenden Messwerte Beachten Sie, dass der cURL-Befehl verwendet den Hexadezimalcode %20 für die Leerzeichen im Zeitraum.

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

Verwenden Sie den folgenden cURL, um diese Daten von einem Computer mit Internetzugang in Apigee hochzuladen 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 angeben Anmeldedaten zum Hochladen von Daten in Apigee, die Sie vom Apigee-Support erhalten haben.
  • {org_name} gibt die Organisation an.
  • {"environments"...} enthält die Ergebnisse des cURL-Befehls, der mit denen Sie oben Statistiken gesammelt haben.