レポート機能

エッジサーバからエンドユーザーへのステータスコードの返却状態や、データ転送量などの統計情報をレポートとして作成・取得します。例えばレポート内のキャッシュヒット率を参照し、キャッシュTTLの見直しなどに役立てることができます。また、配信設定ごとや地域ごとにレポート情報を取得することもできます。

レポートの作成機能

プロジェクトの範囲で作成した配信設定の統計情報を作成します。レポートは以下の項目を指定して作成します。

表 1. レポート作成 設定可能項目一覧
項目 説明 必須
粒度

情報の粒度を以下のどちらかで指定する

  • daily:1日刻みのレポートを作成
  • hourly:1時間刻み(hh:00~hh:59)のレポートを作成
開始日 開始日 (UTC) を指定する。最長で過去60日以内の範囲で指定可能
終了日

終了日 (UTC) を指定する。省略すると今日の日付が設定される

注:
  • 開始日よりも前の日付は指定できません。
  • 粒度が「daily」の場合、開始日から31日以内の日付を指定する必要があります。
  • 粒度が「hourly」の場合、開始日から14日以内の日付を指定する必要があります。
 
プロトコル

どのプロトコルスキームで集約するかを、以下のどれかで指定する

  • http:HTTPアクセスに限定
  • ssl: HTTPSアクセスに限定
  • all:合算(デフォルト)
 
対象

情報の対象を以下のどちらかで指定する

  • 配信設定の合算(デフォルト)
  • 特定の配信設定
 
地域ごとの出力

地域ごとに出力するかを指定する

  • true:地域ごとに出力
  • false:合算(デフォルト)
 
取得したいメトリクスのリスト

レポートで取得できるメトリクス一覧から、出力したいメトリクス名称をカンマ区切りで指定する

表 2. レポートで取得できるメトリクス一覧
名称 説明
IncompleteDownloadCount ダウンロードが完了しなかった回数
200Count Status Code 200を応答した回数
206Count Status Code 206を応答した回数
2XXCount Status Code 2XXを応答した回数、およびダウンロードが完了しなかった回数の合算
302Count Status Code 302を応答した回数
304Count Status Code 304を応答した回数
3XXCount Status Code 3XXを応答した回数の合算
404Count Status Code 404を応答した回数
4XXCount Status Code 4XXを応答した回数の合算
5XXCount Status Code 5XXを応答した回数の合算
RequestCount エンドユーザーからエッジサーバにリクエストした回数の合算
TotalBytes エッジサーバからエンドユーザーへのデータ転送量 [MB]
IngressBytes オリジンサーバからエッジサーバへのデータ転送量 [B]
IngressCount エッジサーバがオリジンサーバへリクエストした回数
IngressRequestBytes エッジサーバからオリジンサーバへのデータ転送量 [B]
OffloadHitRatio エッジサーバによりオリジンサーバのオフロードが行えた割合。キャッシュヒット率。

レポート作成には数分程度かかるため、作成指示を行うと、先にレポートIDが取得できます。作成されたレポートは、レポートIDを指定して「レポートの取得」機能で参照できます。

注: レポートIDの有効期間は、レポート作成後1時間です。その後、自動的に削除されます。

レポートはエッジサーバに集約済みの最新の情報を基に作成され、通常4時間程度で情報が得られ始めます。すべてのエッジサーバの情報の集約には通常1~2日程度かかります。

ヒント: 例えば、1/1の12:00に11:00までのレポートの作成を指示した場合、数分後に得られるレポートは、コンテンツ配信開始日時~およそ1/1 8:00までに集約された暫定的な情報がベースとなっている可能性があります。すべてのエッジサーバからのレポートを得るには、2日後の1/3の12:00頃に再度レポートの作成を指示します。

レポートの取得機能

レポートの作成機能で作成したレポートIDを指定して、レポートをjson形式で取得します。レポートのjsonデータは、以下のフォーマットとなります。

{
    "headers": [
        {headersの定義(index:0は、"Time"固定(UTC))}
        {headersの定義(index:1以降は、お客様が指定するメトリクスのリストに相当)}
        …
    ],
    "rows": [
        [headersに基づく1行目のデータ],
        …
        [headersに基づくn行目のデータ],
    ],
    "metadata": {
        "granularity": "daily"(等、お客様が指定した条件),
        …
    }
}

レポートのjsonデータ例:

{
    "headers": [
        {"index": 0, "name": "Time",},
        {"index": 1, "name": "200Count"},
        {"index": 2, "name": "TotalBytes"}
    ],
    "rows": [
        ["2015/12/01 00:00", "47", "100.0"],
        ["2015/12/02 00:00", "30", "67.4"]
    ],
    "metadata": {
        "time_created": "2015/12/10 00:11",
        "granularity": "daily",
        "start_date": "20151201",
        "end_date": "20151202", 
        "delivery_option": "all",
        "metrics": ["200Count", "TotalBytes"],
    }
}