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

Edge for Private Cloud v4.18.01

すべての Edge for Private Cloud のお客様は、API プロキシのトラフィックに関する統計情報を Apigee に提供していただく必要があります。Apigee では、お客様が情報を 1 日 1 回、できれば cron ジョブを作成します。

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

このデータのアップロードを支援するために、Apigee は apigee-analytics-collector コマンドラインのベータ版リリースを提供しています。 ユーティリティですこのユーティリティは、API 呼び出しのボリューム レポートを Apigee に送り返します。すべての Edge for Private Cloud 実装環境では必ずこのユーティリティがトラフィック データを取得し Apigee にレポートします。

apigee-analytics-collector によってアップロードされたデータにアクセスする

apigee-analytics-collector ユーティリティを使用してデータをアップロードすると、Apigee 360 でデータを表示できます。

データを表示するには、Apigee 360 にログインし、[Usage] オプションを選択します。[使用状況] ページには、各 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 ユーティリティをインストールします。RPM ファイルをインストールするため、このコマンドは 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 ユーティリティをインストールしてユーザーを構成した後、apigee-analytics-collector ユーティリティの help コマンドを実行してユーティリティをテストできます。

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

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

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

  • apigee_mgmt_api_uri: Management Server 上の Edge API のベース URL。この URL は通常、次の形式です。
    http://ms_IP:8080/v1

    ここで、ms_IP は IP アドレスまたは Management Server で、8080 は Edge API で使用されるポートです。Edge API 用に DNS エントリを作成した場合、URL は次の形式になります。
    http://ms_DNS/v1

    Edge Management API で TLS を有効にすると、URL は次の形式になります。
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: Edge /stats API へのアクセス権限を持つアカウントのメールアドレス。多くの場合、 Edge のシステム管理者のメールアドレスまたは組織管理者のメールアドレスになります おすすめします
  • apigee_mgmt_api_password: apigee_mgmt_api_email で指定されたアカウントの Edge パスワード。
  • apigee_analytics_client_idapigee_analytics_secret: Apigee にデータをアップロードするための認証情報。Apigee サポートにチケットを送信して、apigee_analytics_client_idapigee_analytics_secret を取得してください。

コマンドの例

以下は、Edge 実装環境内のすべての組織と環境のトラフィック データを取得して、Apigee にそのデータをアップロードするコマンド例になります。apigee-analytics-collector コマンドを実行する際に apigee-service をどのように使用するかについて注意してください。

>  /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 <アイテムのカンマ区切りリスト>
  • -x、--exclude_orgs <comma-separated list of items>
  • -n、--include_envs <アイテムのカンマ区切りリスト>
  • -e、--exclude_envs <アイテムのカンマ区切りリスト>

たとえば、本番環境の組織と環境のみを指定するには、 -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 を使用する理由の 1 つは、 異なる種類のデータをローカルに表示できます。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>

収集するトラフィックのディメンション。有効なディメンション: apiproductsdevsappsapiproxy(デフォルト)

-d、--days(&lt;days&gt;

収集するデータの、現時点の日付から数えた遡る日数。「 デフォルトは 3 です。

-d を指定した場合は、 -s-z: 時刻を設定します あります。

-m、--apigee_mgmt_api_uri <apigee_mgmt_api_uri>

Edge 管理 API への URL

-u、--apigee_mgmt_api_email <apigee_mgmt_api_email>

Edge /stats API にアクセスできるアカウントのメールアドレス。通常は、Edge のシステム管理者のメールアドレス、または本番環境組織の組織管理者のメールアドレスを使用します。

-p、--apigee_mgmt_api_password &lt;apigee_mgmt_api_password&gt;

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

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

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

-x、--exclude_orgs <items>

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

-n、--include_envs <items>

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

-e、--exclude_envs <items>

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

-o、--output <path>

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

-s、--time_range_start &lt;time_range_start&gt;

トラフィック統計情報のクエリを開始する期間。形式: 「03/01/2016 00:00」

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

-z、--time_range_end &lt;time_range_end&gt;

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

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

-t、--time_unit &lt;time_unit&gt;

トラフィック データの時間単位。デフォルトの週。デフォルトの単位は時間単位です。有効な時間単位: 秒、分、時間、日、週です

-S、--standard_output

出力を apigee にアップロードせずに、ターミナルに標準出力(stdout)で書き出し

-c、--apigee_analytics_client_id <apigee_analytics_client_id>

Apigee にデータをアップロードするための ID。Apigee サポートにチケットを送信して取得してください。

-r、--apigee_analytics_secret &lt;apigee_analytics_secret&gt;

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

-R、--include_curl_commands

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

-v、--verbose

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

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

外部インターネット アクセスが可能なマシンに apigee-analytics-collector ユーティリティをインストールすることをおすすめします。これにより、apigee-analytics-collector ユーティリティは、 Apigee に直接送信されます。

ただし、マシンに外部インターネット アクセスがない場合は、Edge 管理 API を使用して トラフィック データを収集し、次に cURL コマンドを使用して、トラフィックを インターネットアクセス。Edge 実装環境内のすべての本番環境の組織と環境に対して、この手順を繰り返してください。

次の 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 Management Server の IP アドレスまたは DNS 名です。
  • {org_name}{env_name} は組織と環境を指定します。
  • apiproxy は、API プロキシごとに指標をグループ化するディメンションです。
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&amp;timeUnit=hour では、 収集する指標の時間単位で分割された期間。cURL コマンドの 時間範囲内のスペースに 16 進数コード %20 を使用します。

たとえば、24 時間にわたって 1 時間ごとの API プロキシのメッセージ数を収集するには、次の Management API 呼び出しを使用します。timeRange には URL エンコードされた文字が含まれています。

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"

レスポンスは次の形式で表示されます。

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

取得したデータをインターネットにアクセスできるマシンから 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"...} には、上記の stats を収集するために使用した cURL コマンドの結果を含めます。