DatadogでAWS Lambdaの拡張メトリクスを取得する

記事タイトルとURLをコピーする

はじめに

DatadogでLambdaの監視を検討する際、以下のような情報の管理を考えると思います。
(番号は本記事のために便宜的に付与したもの)

  1. 標準的なメトリクスの収集
  2. 拡張Lambdaメトリクスの収集
  3. ログの収集
  4. カスタムメトリクスの収集
  5. トレースの収集

本記事では、「2. 拡張Lambdaメトリクスの収集」と「3. ログの収集」の方法を紹介したいと思います。

拡張Lambdaメトリクスについて

DatadogではDatadog Forwarder(後述)を導入することで、Cloud Watchの標準メトリクス以外のメトリクスを収集可能です。

拡張Lambdaメトリクスについては以下のページに詳細の紹介があります。概要詳細部分を引用します。

拡張 Lambda メトリクスは、AWS Lambda インテグレーションで有効になっているデフォルトの Lambda メトリクスを超えるビューを提供します。これらのメトリクスは、aws.lambda.enhanced.* ネームスペースにあることで識別が可能で、サーバーレスアプリケーションの健全性をリアル地無二モニターするよう設定するためのベストプラクティスです。

docs.datadoghq.com

いくつか対象のメトリクスがありますが、メモリの取得が出来ることは特にありがたいですね。

仕組み

拡張Lambdaメトリクスが収集される仕組みは、下図(Datadogの公式ドキュメント内より参照)の通りです。

対象のLambdaファンクションのあるリージョンにDatadog Forwaderをデプロイし、対象のファンクションのCloudWatch LogsをForwarderのトリガーにすることで、Forwarderがよしなに拡張LambdaメトリクスをDatadogに収集させてくれます。

https://datadog-docs.imgix.net/images/serverless/integration/lambda_metrics.8b9a40819e82d72121f902192f995d3e.png?auto=format

手順

それでは、構成の手順を紹介します。

前提

以下は前提とします

  • Datadog にAWS Lambdaインテグレーションがインストールされていること
  • 対象のLambdaファンクションがデプロイされていること

手順

Datadog Forwarderのデプロイ

はじめにDatadog Forwarderをデプロイします。 デプロイ方法として以下の3つが公式ドキュメントには紹介されています。

  • CloudFormation
  • Terraform
  • 手動

今回は簡単に行うためCloudFormationの手順で実施しました。 ドキュメント内の「Launch Stack」をクリックするとCloudFormationの画面に遷移しますので、DdApiKey にDatadogのAPIキーを入力して、スタックを作成します。

CloudWatch Logsの設定

対象のファンクションの拡張メトリクスを収集するため、対象のファンクションのCloudWatch LogsをDatadog Forwarderのトリガーに設定します。

f:id:swx-kurebayashi:20210607003620p:plain

動作確認

以上です。簡単ですね! では、動作確認してみましょう。

拡張メトリクス

Datadogにデフォルトで AWS Lambda (Enhanced Metrics) という名前で拡張メトリクスを利用したダッシュボードが用意されているので、そちらでメトリクスを確認してみます。

おお、メモリ等の拡張メトリクスの収集がされているのが分かりますね。

f:id:swx-kurebayashi:20210607004804p:plain

ログ

ログも収集が開始されるので確認してみます。DatadogのメニューからLogs->Live Tailしてみると、実行ログがリアルタイムで収集されていることが分かります。

f:id:swx-kurebayashi:20210607004248p:plain

おわりに

さて、そんなDatadogやRubyを活用しているAWSの運用自動化ツールCloud Automatorですが、オンラインセミナーを絶賛開催中です。 ご興味があれば覗いてみてください。

www.serverworks.co.jp

参考

docs.datadoghq.com

docs.datadoghq.com

紅林輝(くればやしあきら)(サービス開発部) サバワクブログの記事一覧はコチラ

サービス開発部所属。2015年にサーバーワークスにJOIN。クラウドインテグレーション部を経て、現在はAWS運用自動化サービスCloud Automatorの開発に従事。主にバックエンドやサーバレスを担当。卓球熱再燃中🔥