がじぇったー

お金と家電とプログラミングのブログ

【AWS】CloudWatchLogs → Datadog Log Managementの設定方法

こんにちわ

がじぇったー (@hackmylife7) | Twitter

です。

AWS CloudWatchLogsからDatadog Log Managementにログを送る方法を記載します。 前は手動でLambdaを作成する必要があったのにだいぶ楽になった印象です。

TL;DR(要約)

  • 設定はDatadogが提供しているCloudFormationのStackを実行すれば一通り必要なAWSリソースが作成される
  • CloudWatchLogsをLambdaでストリーミングしてDatadogに送付する
  • CloudWatchLogsのサブスクリプションフィルターを設定することで連携するログをフィルタリングすることができる→課金を少なくする

前提

  • DatadogLogManagementにログを送付する方法はいくつかありますが、ここではCloudWatchLogsから連携する方法を記載します

作業手順

Datadogが提供しているCloudFormation Stackの実行

以前は手動でLambdaを作る必要があったんですが、便利になりましたねぇ。

以下のページのLaunch Stackというボタンを押します。 Datadog Forwarder

そうするとAWSアカウントのCloudFormationの画面に遷移するので、実行対象アカウントがあってるかを確認し実行します。必要なIAMリソースやLambdaをまるっと作ってくれます

(実行時にDatadogのAPI Keyは指定する必要があります。)

CloudWatchLogsの設定

ロググループを選択し、Lambdaサブスクリプションフィルターを選択します。

f:id:gadgeterkun:20201014135656p:plain

設定画面に遷移すると 以下の設定箇所があるので、CloudFormationによって作成されたdatadog-forwarder-Forwarder-xxxxxxxxxxというLambda関数を選択します。

Lambda 関数
フィルターにサブスクライブする Lambda 関数を選択します。

また、サブスクリプションフィルターに条件を指定することにより、DatadogLogManagementに送付するログをフィルタリングすることができます。

例えば"Error"という文字列を引っ掛けたい場合、サブスクリプションフィルターに記載します

設定はこれだけです。DatadogのLogManagementの画面に移動し、受信できているか確認しましょう。

入門 監視 ―モダンなモニタリングのためのデザインパターン

入門 監視 ―モダンなモニタリングのためのデザインパターン

  • 作者:Mike Julian
  • 発売日: 2019/01/17
  • メディア: 単行本(ソフトカバー)