Edge for Private Cloud v. 4.17.05
Edge for Private Cloud のすべてのお客様は、API に関する統計情報を Apigee に送信する必要があります。 ルーティングできますApigee では、お客様が情報を 1 日 1 回、できれば cron ジョブを作成します。
本番環境の API デプロイのデータは送信する必要がありますが、開発中の API のデータを送信する必要はありません。 デプロイのテストなどを行いますほとんどの Edge インストールでは、特定の組織または 本番 API 環境を構築できますお客様が提出するデータは、 組織と環境の管理に使用できます。
このデータのアップロードを支援するために、Apigee は apigee-analytics-collector コマンドラインのベータ版リリースを提供しています。 ユーティリティですこのユーティリティは、API 呼び出し量レポートを Apigee に返します。世界中の プライベート クラウド インストールでは、このユーティリティを使用してトラフィック データを取得して報告し、 Apigee
がアップロードしたデータへのアクセス apigee-analytics-collector
apigee-analytics-collector ユーティリティを使用してデータをアップロードした後、 Apigee 360 で表示できます。
データを表示するには、Apigee 360 にログインし、[Usage] オプションを選択します。「 [使用状況] ページには、使用状況グラフと、インスタンスごとの使用状況データの表が表示されます。 エッジ組織
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_id と apigee_analytics_secret: Apigee にデータをアップロードするための認証情報。Apigee サポートにチケットを提出して、 apigee_analytics_client_id と apigee_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_id と apigee_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 <項目のカンマ区切りリスト>
- -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> |
収集するトラフィックのディメンション。有効なディメンション: apiproducts、devs、apps、apiproxy(デフォルト) |
-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> |
-u で指定された Edge Management API メール アカウントに関連付けられているパスワード。 |
-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> |
トラフィック統計情報のクエリを開始する期間。形式は「03/01/2016 00:00」です。 -d を指定する場合は、期間の設定に -s と -z も指定しないでください。 |
-z、--time_range_end <time_range_end> |
トラフィック統計情報をクエリする期間の終了日。形式は「04/01/2016 24:00」です。 -d を指定する場合は、期間の設定に -s と -z も指定しないでください。 |
-t、--time_unit <time_unit> |
交通データの時間単位。デフォルトの週。デフォルトの単位は時間単位です。有効な時間単位: 秒、分、時間、日、週です |
-S、--standard_output |
出力を Apigee にアップロードするのではなく、ターミナル(stdout)に書き込みます。 |
-c、--apigee_analytics_client_id <apigee_analytics_client_id> |
Apigee にデータをアップロードするための ID。Apigee サポートにチケットを送信して、 あります。 |
-r、--apigee_analytics_secret <apigee_analytics_secret> |
Apigee にデータをアップロードするためのシークレット。Apigee サポートにチケットを送信して、 あります。 |
-R、--include_curl_commands |
生成された cURL コマンドをデバッグのために出力に含めます。 |
-v、--verbose |
詳細な出力を表示します。 |
Apigee にデータを手動でアップロードする
apigee-analytics-collector ユーティリティは Compute Engine インスタンスにインストールすることをおすすめします。 外部インターネットにアクセスできるマシンに 接続する必要がありますこれにより、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_name} と {org_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>さんをフォロー 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 を使用します。 command:
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 コマンドの結果が含まれます。 使用した統計データです。