今回の構成
Akamai DataStream2はAkamaiのエッジ プラットフォームで配信するアクセスログとセキュリティログを収集して、ほぼリアルタイムでデータの宛先にログをストリーミングするサービスです。
今回はDataStream2にてLinode Object Storageへログを収集し、LinodeのインスタンスにSplunkを構築して、ログを確認してみました。
執筆時点でDataStream2の宛先としてLinode Object Storageの表示はすべてのAkamaiアカウントで有効にはなっていません。
また、利用に関しては一部機能に制限があります、詳細はAkamaiの営業、技術担当者までご連絡ください。
DataStream2の詳細
対応しているログストリーミング先
- S3
- Azure Storage
- custom HTTPS endpoint
- Datadog
- Elasticsearch
- Google Cloud Storage
- Loggly
- New Relic
- Oracle Cloud
- Splunk
- Sumo Logic
- Linode
Linodeとは
Linode Object Storageの作成
Linodeオブジェクトストレージはグローバルに利用可能なS3互換ストレージソリューションです。
データ量は250GBから50TBまで拡張することができ、オブジェクトはサーバー間でレプリケートされるため、サーバーのひとつがオフラインになっても常にアクセス可能です。
インンバウンド転送は無料、アウトバウンドは1TBまでの転送が価格に含まれています。
Linode Object Storageを新規作成します。
Linodeのコンソールから Object Storage > Create Bucket を選択します。
Bucket Nameと作成するリージョンを選択します。
今回はシンガポールリージョンにて作成しています。
Bucket Nameと選択したリージョンは控えておきます。
Object StorageのAccess Keyを発行
Object Storage > Access Keys > Create Access Key を選択し、アクセスキーを発行します。
作成したAccess KeyとSecret Keyを控えておきます。
DataStream2の設定
DataStream2の設定に関しては、以下のドキュメントを参考に実施します。
ACC (Akamai Control Center) のメニューからDataStreamを選択します。
DataStreamがグレーアウトもしくはメニューに表示されていない場合には、契約を追加する必要があります。
追加方法が不明の場合、Akamaiの営業、技術担当者までご連絡ください。
新規作成するため、Create streamを選択します。
DataStream2でログを収集したい配信Propertyを選択します。
DataStream2で収集したいログの種類を選択します。今回はすべて選択しています。
Linode Object Storageに接続するための情報を記載します。
Destination : Linode
Display Name : 任意の設置名
Bucket : Linode Object StorageのBucket名
Cluster ID : Region-ID
Access key ID : Linodeで発行したAccess key
Secret access key : Linodeで発行したSecret key
各リージョンのRegion IDはこちらから確認できます。
Validateが問題なく完了したら、Nextを選択します。
設定内容を確認し、Saveします。
Akamai Propertyの設定
ACC (Akamai Control Center) からPropertiesを選択し、DataStream2を設定するPropertyを選択します。
配信設定内にDataStream2の設定を追加するため、Add Behaviorを選択します。
DataStreamのBehaviorを追加します。
追加したBehaviorの設定をします。
Stream version : DataStream2
Enable : on
Stream names : 先程作成したDataStream2の名前を選択
配信設定をStagingとProductionに展開して設定は完了です。
Linodeのインスタンスを起動
Linodes > Create Linode からインスタンスを作成します。
作成したインスタンスのIPアドレスをコピーします。
Linode Object Storageをサーバーにマウントする
作成したサーバーにs3fs/goofys/rcloneなどを利用してLinode Object Storageをサーバーにマウントします。
インストール、マウント方法については以下を参照ください。
今回はrcloneを利用して、Linode Object Storageをマウントしています。
root@localhost:~# df -h
Filesystem Size Used Avail Use% Mounted on
linode:test-datastream-ap-south-1 1.0P 0 1.0P 0% /mnt/data
Splunk EnterpriseをLinodeで構築
Splunk公式サイトからアカウントを作成し、Splunk Enterpriseを作成したインスタンスにインストールします。
インストールが完了したら、Webブラウザから管理コンソールにアクセスします。
http://[作成したインスタンスのIPアドレス]:8000/
メニューからFind More Appsを選択します。
Akamai Data Stream Addonをインストールします。
Settings > Data Inputs > Files & Directoriesを選択します。
New Local File & Directory を選択します。
Linode Object Storageをマウントしたディレクトリを指定します。
Source typeをAkamai DataStreamに設定します。
設定内容が問題ないことを確認し、作成します。
Start Searching を選択して、ログを確認します。
ダッシュボードでログが表示されていることを確認します。
以上で構築は完了です。
まとめ
Akamai DataStream2 と Linode を活用することでAkamai CDNのログを収集することができました。
Splunkなどのソリューションを利用することにより、収集したデータを加工し、抽出し、お好みの形で可視化することができます。
Linodeのストレージやインスタンスの費用は低価格であるため、大きな費用をかけることなくログの確認も行うことができるようになります。
関連記事
アカマイ・テクノロジーズ合同会社のQiitaではLinode関連など開発者向けの記事を記載しております。