この記事は「ウィルゲート Advent Calendar 2023」の 10 日目の記事です。
こんにちは、ウィルゲート開発室の加藤です。
今回、S3のログをDatadogへ転送できるDatadog Forwarderを検証しました。
Datadog Forwarderの導入から、Datadogへログが転送される様子までを解説していますので、S3のログをDatadogで分析したい方への参考になれば幸いです。
- Datadog Forwarderとは?
- Datadog Forwarderの事前準備
- Datadog Forwarderの構築
- LambdaにS3のトリガーを追加する
- Datadogへ転送できるか確認する
- まとめ
- 参考文献
Datadog Forwarderとは?
Datadog Forwarderは、AWSの各種ログをDatadogへ転送するLambda関数です。
CloudWatch、ELB、S3、CloudTrail、VPC、SNS、CloudFrontなどのログを転送し、Datadog上でこれらのログを収集・分析できるようになります。
また、セットアップは非常に楽で、Datadogが提供するCloudFormationのテンプレートですぐに構築できます。
Datadog Forwarderの事前準備
Datadog ForwarderをCloudFormationでセットアップする前に、事前に必要な情報を確認しておきましょう。
- Datadog API キー
- Datadog サイトパラメーター
Datadog API キー
Datadog APIキーは、メトリクスとイベントを Datadogへ送信するために利用します。 セットアップの際にこちらのキーを利用しますので、下記の手順で取得しておきましょう。※APIキーがなければ新規で作成してください。
- Datadog トップページから、[Organization Settings]へアクセス
- [Access] - [API Keys]から、keyをコピーし控えておいてください。
Datadogサイトパラメーター
Datadogは世界中でさまざまなサイトを提供しており、
アカウントによってはhttps://app.datadoghq.com
やhttps://us3.datadoghq.com
など、サイトが異なってきます。
また、サイトごとにサイトパラメーター(※datadoghq.com
やus3.datadoghq.com
など)が決まっており、Datadog Frowarderではこのサイトパラメーターを指定する必要があります。
利用しているアカウントのサイトパラメーターは、Datadogのこちらのページから事前に確認してください。
Datadog Forwarderの構築
Datadog APIキーとDatadog サイトパラメーターの準備ができたら、Datadog Forwarderを構築していきましょう。
構築するためのCloudFormationテンプレートは、こちらのページから利用することができます。
それでは、リンク先のページにある[Launch Stack]からCloudFormationを起動しましょう。
[Launch Stack]をクリックすると、Datadog Forwarderのセットアップに必要なパラメータを入力する画面へ遷移します。ここでは、先ほど控えたDatadog APIキーをDdApiKeyへ、Datadog サイトパラメーターをDdSiteへ入力します。
※その他のパラメータはこちらのページを参照してください。DdTags
でカスタムタグを設定できるなど、便利なオプションがあります。
そのまま[スタックの作成]へ進んでいきましょう。
CREATE_COMPLETE
ステータスになり、CloudFormationのスタックが作成できたら、Datadog Forwarderの構築は完了です!
LambdaにS3のトリガーを追加する
Datadog ForwarderのLambda関数を構築できたら、関数のトリガーを追加していきましょう。
作成直後は、Lambdaを起動するためのトリガーは何も設定されていません。[トリガーを追加]からS3のトリガーを追加していきます。
[Bucket]には、Datadogへ転送したいログが格納されているS3バケットを指定しましょう。必要であれば、その他オプションでトリガーの条件を設定します。
S3のトリガーが追加されたことを確認します。
Datadogへ転送できるか確認する
いよいよ、Datadog ForwarderでS3のログを転送する準備ができました。
今回は下記のようなダミーのログを記述したdummy.log
を準備しておきます。
Tom GET http://www.example.com/ Alice POST http://www.example.com/top …
転送ができたか確認するために、DatadogのLive Tailからsource:s3
のフィルターをつけて、ログを待ち受けましょう。
S3へ作成したdummy.log
をアップロードします。
アップロード後、Live Tailを確認しログが流れてくれば、転送成功です!
まとめ
Datadog Forwarderの構築とS3ログの転送の様子までをご紹介しました!
これでS3のログをDatadog上で分析するための一歩を踏むことができました。 取り込んだデータを分析しやすくパースするために、是非パイプラインの作成にも挑戦してみてください!
そして「ウィルゲート Advent Calendar 2023 - Adventar」、翌日は浅井さんによる「アフィリエイト計測の仕組みってどうなっていますか?」です。 お楽しみに!