Dark background with blue code overlay
Blog

DataStreamによるリアルタイムログの取得

執筆者

Junya Hasegawa

July 31, 2019

執筆者

Junya Hasegawa

リアルタイムなログ収集および分析の重要性とAkamaiで実現するロギングソリューションとしてDataStreamを前回の記事でご紹介しました。今回はDataStreamの構成および具体的な設定方法について紹介します。

1.DataStreamとは

リアルタイムのログ配信ソリューションであり、
ブラックボックスという印象のあるCDNの挙動を可視化することに役立ちます。
CDNを運用時の

  • CDNの稼働状況を知るためにリアルタイムなデータアクセスしたい
  • ログのみではなく要約データにもアクセスしたい
  • 常時データを受け付けるのではなく、データをオンデマンドに取得したい
  • フィールドを絞ったログを取得したい
  • 複数の宛先にデータを送信したい

といった課題を解決します。

2.DataStreamのログ/データ形式の提供について

ログ/データ形式の提供方法として以下を選ぶことができます。

  • ログ取得方法
  • データの形式
    • 生ログ
    • 統計データ
3.DataStreamの概要図及び動作
  1. エッジサーバーがリクエスト要求を受け付けレスポンスを返します。
  2. エッジーサーバーがログをData Processorに送信します。
  3. Data Processorがログ情報を集約します。
     ※10秒以内にイベントログを収集します。
  4. 生ログもしくは統計データがエンドポイントに対して送信(Push)、もしくはDataStream API経由で取得(Pull)されます。
    ※APIで取得できるデータは24時間保持されます。
4.DataStreamの設定

ここでは生ログデータをS3に配信する設定手順を説明します。S3のバケットは既に準備済みの前提です。

  1. 管理ポータルであるAkamai Control Centerにアクセスし「Real-time logs」を選択します。

2. 「Add new stream」を選択します。

3. Stream nameに任意の名前を入力し、「Raw logs」を選択します。

4. ログを取得したいプロパティ(配信設定)を選択します。
プロパティ(配信設定)は複数選択することが可能です。

 ※グループを作成している場合、該当するプロパティ(配信設定)が出てこないケースがあります。
  その際はプロパティ(配信設定)が存在するグループを選択してください。

5.「Add destination」を選択し、ログのPush先として「S3」を選択します。
  ログのPush先として「Splunk」,「S3」,「Sumo Logic」を選ぶことができます。

6.「S3」送信に必要な情報を記入し「Save」を押します。

7.「Continue to Data sets」を選択します。

8. Data set informationからログに含めたい情報を選択します。
ここではすべてを選択します。

※Raw Logs形式のログに含めることができる情報として
- Message Exchange Data(プロトコルの形式やバージョンなど)
- Request Header(リクエストヘッダー)
- Response Header(レスポンスヘッダー)
- Network Perfomance Data(AS番号、Edge IPなど)
- Geo(国や地域など)
- Network Data(帯域やスループットなど)
   があります。

9. サンプルレートを選択します。

10.「Review」を選択するとレビュー画面になります。
今まで設定した内容が適切か確認します。
内容に問題がなければ「Publish」を選択します。

11. 確認画面が表示されるので「Yes」を選択します。

12. 作成されたStreamのStautsが「Activating...」になっていることを確認します。
反映には30分ほど時間がかかります。

Statusが「On」になっていると反映完了となります。

13. 手順4.で指定したプロパティ(配信設定)の対象であるFQDNにアクセスします。

14. 手順6.で指定したS3にログがgzip形式で配信されていることを確認します。

5.まとめ

今回ご紹介したようにDataStreamを使用すればリアルタイムにCDNのログ情報を取得することが可能となります。
最初にご紹介したCDNの運用で課題となっていた点も以下のように解決することができます。

  • CDNの稼働状況を知るためにリアルタイムなデータアクセスしたい
    • イベントの発生から10秒以内にログが配信可能になります。
  • ログのみではなく要約データにもアクセスしたい
    • 生ログだけではなく統計データも提供可能になります。
  • 常時データを受け付けるのではなく、データをオンデマンドに取得したい
    • APIを使用したPull型のデータアクセスが可能になります。
  • フィールドを絞ったログを取得したい
    • DataSetで取得する情報を絞り込むことができます。
  • 複数の宛先にデータを送信したい
    • Destinationの設定やAPIを使用することにより複数の宛先を指定することができます。

developer.akamai.comではBig Query, Data Dog, Sumo Logic 連携の情報を公開しておりますので、ご興味のあるかたはこちらもご覧ください。



執筆者

Junya Hasegawa

July 31, 2019

執筆者

Junya Hasegawa