Apigee Analytics サービスからディメンションの指標を取得してフィルタリングする

API Platform のベースパス: https://api.enterprise.apigee.com/v1/o/{org_name}

API リソースのパス: /environments/{env_name}/stats/{dimension_name}

説明: GET メソッドを使用してディメンションの指標を取得します。

動詞 GET
認証: Basic 認証
メディアの種類:
application/json
概要: /stats API リソースの GET リクエストを使用してレポートを生成します。以下を付属させます。
  • レポートのディメンションを定義するオプションの URI パラメータ。Apigee は一連のディメンションを定義し、それらのディメンションに対する一連の指標を事前に集計します。ディメンションが定義されない場合(URI パラメータが空白の場合)、指定した環境に存在するすべての API に対するレポートが生成されます。
  • レポートの指標、時間範囲、時間間隔、フィルタ / ドリルダウンを定義する一連のクエリ パラメータ。

dimension_name: API Platform の指標を取得するエンティティを定義する URI パラメータ。Apigee は、レポートで使用可能な一連のディメンションを定義します。サポートされるディメンションは以下のとおりです。

  • /stats/apis: API Platform 上の組織内の API プロキシ
  • /stats/uris: API Platform 上の組織内の API パターン
  • /stats/apiproducts: 組織に定義されている API プロダクト
  • /stats/client_ip: API Platform 上の API に対してリクエストを行うアプリの IP アドレス
  • /stats/developer_email: API Platform 上の組織に登録されているデベロッパーのメールアドレス
  • /stats/developer_app: API に対するリクエストを行うデベロッパー アプリの名前
  • /stats/access_token: アプリのエンドユーザーの OAuth アクセス トークン
フィルタリング

カスタム リソースに対してフィルタを適用できます。カスタム リソースは次のとおりです。

記号 演算
in リストを含める
notin リストを除外する
eq =
ne != or
gt >
lt
ge >=
le
フィルタの例
説明 フィルタのクエリ構造
api1 または api2 という名前の API プロキシの統計情報 filter=(apiproxy in 'api1','api2')
api1 と api2 を除くすべての API プロキシの統計情報 filter=(apiproxy notin 'ap1','api2')
エラーがない場合の統計情報 filter=(iserror eq 0)
エラー メッセージがない場合、または API プロキシの名前が api1 か api2 である場合の統計情報 filter=(iserror eq 1) or (apiproxy in 'api1','api2')
(レスポンス コードが 201 か 301)かつ(エラーがない)または(API プロキシ名が api1 か api2)の場合の統計情報 filter=(responsecode le 201 or responsecode eq 301) and (iserror eq 1) or (apiproxy in 'api1','api2')

リクエスト例:

$ curl -X GET -H "Accept:application/json" \
https://api.enterprise.apigee.com/v1/o/{org_name}/environments/{env_name}/stats/{dimension_name}?"select={metric_name}&timeRange=1/1/2013%2000:00~1/2/2013%2000:00&timeUnit=hour&sortby={metric_name}&sort=DESC&filter=(apiproxy%20in%20'weather','news')" \
-u myname:mypass
クエリ パラメータ:
名前 説明 デフォルト 必須
select レポートで集計する指標を指定します。サポート対象の指標は、message_count、error_count、total_response_time、max_response_time、min_response_time、data_exchange_size、end_point_response_time です。 なし
timeRange 対象の間隔の開始時刻と終了時刻。日付形式は、MM/DD/YYYY HH:MM です。例: 1/1/2013%2000:00~1/2/2013%2000:00 なし
timeUnit 秒、分、時、日、週、月、四半期、年、十年、世紀、千年紀 なし
sortby select 値が 2 つ以上指定されている場合、「sortby」を使用して結果の並べ替え基準に使用する select を指定できます。message_count、error_count、total_response_time、max_response_time、min_response_time、data_exchange_size、end_point_response_time のいずれかです。 なし ×
sort サポートされる並べ替えスコープは DESC または ASC です。 なし ×
topk 結果から「上位 k」の結果を取得します。たとえば上位 5 件の結果を返す場合は「topk=5」です。 なし ×
filter 特定のディメンション値のドリルダウンを有効にします。 なし ×
limit API から返されるエントリ数の上限を設定します。 なし ×
offset offset を limit ともに使用すると、結果のページ分割を有効にできます。たとえば、11~20 の結果を表示するには、limit を「10」に、offset を「10」に設定します。 なし ×
レスポンスの例:
{
  "environments" : [ {
        "dimensions" : [ {
          "metrics" : [
                 {
                "name" : "message_count",
                "values" : [ {
                   "timestamp" : 1335241800000,
                   "value" : "1.0"
                 } ]
              } ,
                 {
                 "name" : "error_count",
                 "values" : [ {
                    "timestamp" : 1335241800000,
                    "value" : "0.0"
                   } ]
            }
              ],

               "name" : "api1"
        },
            {
          "metrics" : [
               {
              "name" : "message_count",
              "values" : [ {
                     "timestamp" : 1335241800000,
                     "value" : "1.0"
                  } ]
             },
                {
                "name" : "error_count",
                "values" : [ {
                      "timestamp" : 1335241800000,
                      "value" : "0.0"
                } ]
            }
             ],

             "name" : "api2"
        }
          ],

         "name" : "test"
      }
    ],
   "metaData" : {
    }
}
レスポンス ペイロードの要素:
名前 説明
metadata レポートに関連付けられたメタデータ。
environments 統計情報が収集される組織内の環境(クロス環境での統計情報の収集にはワイルドカード * がサポートされます)。
metrics 指定したディメンションに対して返される値。
dimensions 測定結果に定義されるディメンション。この例では api_name です。
metrics レポートの指標。