Apigee への API トラフィック データのアップロード - ベータ版リリース

Edge for Private Cloud のすべてのお客様は、API に関する統計情報を Apigee に送信する必要があります。 ルーティングできますApigee では、お客様が情報を 1 日 1 回、できれば cron ジョブを作成します。

本番環境の API デプロイのデータは送信する必要がありますが、開発中の API のデータを送信する必要はありません。 デプロイのテストなどを行いますほとんどの Edge インストールでは、特定の組織または 本番 API 環境を構築できますお客様が提出するデータは、 組織と環境の管理に使用できます。

このデータのアップロードを支援するために、Apigee は apigee-analytics-collector コマンドライン ユーティリティですこのユーティリティは、API 呼び出し量レポートを Apigee に返します。世界中の プライベート クラウド インストールでは、このユーティリティを使用してトラフィック データを取得して報告し、 Apigee

必須: データをアップロードする前に Apigee サポートにお問い合わせください

Apigee にデータをアップロードする前に、Apigee Edge サポートに連絡してオンボーディングを完了する必要があります。 プロセスです

apigee-analytics-collector をインストールする

apigee-analytics-collector ユーティリティは、apigee-service ユーティリティを使用してインストールする RPM です。

インストール先

apigee-analytics-collector ユーティリティをインストールするノードには、任意のものを指定できます。 Edge Management Server 上の Edge Management API にアクセス可能なノード。インストールできます。 Management Server、Edge インストールの別のノード、または別のローカル コンピュータに そのノードが Management Server に API リクエストを発行できる限り、このノードへの適用を継続できます。

インターネット アクセス 要件

apigee-analytics-collector ユーティリティを 外部インターネットにアクセスできるマシンに 接続する必要があります次に、apigee-analytics-collector ユーティリティにより、 Apigee にデータを直接アップロードできます。

Edge Management Server 上の Edge Management API への両方のアクセス権を持つノードがない場合 アクセスできれば、Edge Management API を使用して、 ローカルに保存する必要がありますその後、データをインターネットにアクセスできるマシンに転送し、 Apigeeこのシナリオでは、apigee-analytics-collector を使用する必要はありません。 ユーティリティです詳しくは、 データの手動アップロード Apigee をご覧ください。

インストール

次のコマンドを使用して、apigee-analytics-collector ユーティリティをインストールします。なぜなら、 インストールする場合、このコマンドは root ユーザーまたは sudo の完全アクセス権が必要です。sudo フルアクセスの場合、ユーザーは同じことを実行するための sudo アクセス権がある 権限をユーザーに付与します。

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

apigee-analytics-collector を実行する

このセクションでは、apigee-analytics-collector ユーティリティの実行方法について説明します。

apigee-analytics-collector を実行するようにユーザーを構成する

apigee-analytics-collector を root 以外のユーザーとして実行する必要があります。 できます。このユーザーには、「apigee」への完全な sudo アクセス権が必要ですできます。

「apigee」へのフル sudo アクセス権をユーザーが持つように構成します。「visudo」を使用します。コマンドを sudoers ファイルを編集して以下を追加します。

analyticsUser        ALL=(apigee)      NOPASSWD: ALL

ここで、analyticsUser は実行中のユーザーのユーザー名です。 apigee-analytics-collector ユーティリティ。

apigee-analytics-collector ユーティリティのインストール後 ユーザーを設定するには、help コマンドを実行して apigee-analytics-collector ユーティリティを実行します。

/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic --help

apigee-analytics-collector を実行するために必要な情報

apigee-analytics-collector コマンドを実行するには、次の情報が必要です。 データを Apigee に転送するには:

  • apigee_mgmt_api_uri: 管理上の Edge API のベース URL できます。この URL は通常、次のような形式になります。

    http://ms_IP:8080/v1

    ここで、ms_IP は IP アドレスまたは Management Server で、8080 は 使用されるポートを指定します。Edge API の DNS エントリを作成した場合、URL は 次のフォームを使用します。

    http://ms_DNS/v1

    Edge Management API で TLS を有効にした場合、次の形式になります。

    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: アクセス権のあるアカウントのメールアドレス Edge /stats API。多くの場合、 Edge のシステム管理者のメールアドレスまたは組織管理者のメールアドレスになります おすすめします
  • apigee_mgmt_api_password: 指定したアカウントの Edge パスワード apigee_mgmt_api_email
  • apigee_analytics_client_idapigee_analytics_secret: Apigee にデータをアップロードするための認証情報。Apigee Edge サポートにチケットを提出して、 apigee_analytics_client_idapigee_analytics_secret

コマンドの例

以下は、トラフィック データを取得するコマンドの例です。 そのデータを Apigee にアップロードします。ここで、 apigee-service を使用して以下を行います。 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

コマンドには、 apigee_analytics_client_idapigee_analytics_secret

結果が次の形式で表示されます。

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

アクションを制御するには、コマンドにコマンドライン オプションを使用します。次のオプションを使用して、 生成されたデータに含める組織と環境を指定します。

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

たとえば、本番環境の組織と環境のみを指定するには、 -i(または --include_orgs)と -n(または --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

この例では、本番環境の本番環境からのみ myOrg

Apigee に送信する前にデータを画面にダンプして調べるには、-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

-S オプションはデータを省略する アップロードできます。その後、-S オプションなしでコマンドを再実行し、 Apigee にデータを転送できます

-S を使用する理由の一つ 異なる種類のデータをローカルに表示できます。Apigee で必要なのは、 API トラフィック データをアップロードしますが、-D オプションを使用すると API に関するデータを表示できます プロダクト、デベロッパー、アプリ、API プロキシです。以下の例では、-D と デベロッパー データを表示する -S オプション 使用します。

/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

-v オプションを含めて、 詳細出力、-R オプション apigee-analytics-collector によって生成された curl コマンドを表示するには、次のコマンドを実行します。

/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

次のセクションでは、コマンドライン オプションの一覧を示します。

コマンド パラメータ

次の表に、 apigee-analytics-collector ユーティリティ:

コマンド 説明
-h, --help

使用状況情報を出力する

-D, --dimension dimension

収集するトラフィックのディメンション。指定できる値は次のとおりです。

  • apiproducts
  • apiproxy(デフォルト)
  • apps
  • devs
-d, --days days

現在の日付を起点として、収集するデータの過去の日数。「 デフォルトは 3 です。

-d を指定する場合は、-s-z: 期間を設定します。

-m, --apigee_mgmt_api_uri apigee_mgmt_api_uri

Edge Management API への URL。

-u, --apigee_mgmt_api_email apigee_mgmt_api_email

Edge /stats API にアクセスできるアカウントのメールアドレス。 これは通常、 Edge のシステム管理者のメールアドレス、または おすすめします

-p, --apigee_mgmt_api_password apigee_mgmt_api_password

指定した Edge Management API メール アカウントに関連付けられているパスワード -u

-i, --include_orgs items

出力に含める組織のカンマ区切りのリスト。

-x, --exclude_orgs items

出力から除外する組織のカンマ区切りのリスト。

-n, --include_envs items

出力に含める環境のカンマ区切りのリスト。

-e, --exclude_envs items

出力に含める環境のカンマ区切りのリスト。

-o, --output path

出力を保存するパスとファイル名。

-s, --time_range_start time_range_start

トラフィック統計情報のクエリを開始する期間。形式は「MM/DD/YYYY HH:MM」です。

-d を指定する場合は、-s-z も指定しないでください。 期間を設定できます。

-z, --time_range_end time_range_end

トラフィック統計情報をクエリする期間の終了日。形式は「04/01/2016 24:00」です。

-d を指定する場合は、-s-z も指定しないでください。 期間を設定できます。

-t, --time_unit time_unit

交通データの時間単位。デフォルト値は hour です。有効な時間単位 次のとおりです。

  • second
  • minute
  • hour(デフォルト)
  • day
  • week

-tweek に設定し、-d を次のように設定します。 365 の場合、Apigee は大量のデータを 52 個の個別のデータにグループ化して返します。 (週に 1 つずつ)。

-S, --standard_output

出力を Apigee にアップロードするのではなく、ターミナル(stdout)に書き込みます。

-c, --apigee_analytics_client_id apigee_analytics_client_id

Apigee にデータをアップロードするための ID。Apigee Edge サポートにチケットを送信して、 あります。

-r, --apigee_analytics_secret apigee_analytics_secret

Apigee にデータをアップロードするためのシークレット。Apigee Edge サポートにチケットを送信して、 あります。

-R, --include_curl_commands

生成された curl コマンドをデバッグのために出力に含めます。

-v, --verbose

詳細な出力を表示します。

Apigee にデータを手動でアップロードする

apigee-analytics-collector ユーティリティは、ローカルマシンにインストールする 外部インターネットにアクセスできるマシンに 接続する必要があります次に、apigee-analytics-collector ユーティリティにより、 Apigee にデータを直接アップロードできます。

ただし、マシンに外部インターネット アクセスがない場合は、Edge 管理 API を使用して トラフィック データを収集して、curl コマンドを使用して マシンを インターネットアクセス。本番環境の組織ごとにこのプロセスを繰り返す必要があります。 実行する必要があります。

次の curl コマンドを使用して、特定の組織のトラフィック データを収集し、 一定の間隔で環境を構築します。

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"

このコマンドは、Edge Get API のメッセージ カウント API を使用します。コマンドの内容:

  • apigee_mgmt_api_email:apigee_mgmt_api_password は、 Edge /stats API にアクセスできるアカウントのメールアドレス。
  • ms_IP は、Edge の IP アドレスまたは DNS 名です。 Management Server。
  • org_nameenv_name は、 組織と環境の両方が含まれます。
  • apiproxy は、API プロキシごとに指標をグループ化するディメンションです。
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour 指定 収集する指標の時間単位で分割された期間。なお、 curl コマンドは、時刻のスペースに 16 進数コード %20 を使用します。 あります。

たとえば、24 時間にわたって API プロキシのメッセージ数を時間単位で収集するには、 <ph type="x-smartling-placeholder"></ph>さんをフォロー API 呼び出し

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 には URL エンコードされた文字が含まれています)。

次のようなレスポンスが表示されます。

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

そのデータをインターネットにアクセスできるマシンから Apigee にアップロードするには、次のコマンドを使用します。 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"...'

ここで

  • apigee_analytics_client_id:apigee_analytics_secret: Apigee から取得したデータを Apigee にアップロードするための認証情報。
  • org_name には組織名を指定します。
  • "environments"... には、次の curl コマンドの結果が含まれます。 使用した統計データです。