APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

DataDogメトリクス監視おけるDefault_Zero関数の活用方法

目次

はじめに

こんにちは、クラウド事業部の清水(駿)です!
甲子園に向けての高校野球予選も盛り上がってきておりいよいよ夏本番を感じております
今年の高校野球は低反発バットの導入で投手有利の見方が大勢ですが予選を見る限りは力強い打球を飛ばしておりあまり影響を感じさせませんね!
球児たちにはベストを尽くしてそれぞれ最高の夏を過ごしてもらいたいです(*^^)v

さて今回はDataDogメトリクス監視におけるdefault_Zero関数使用について紹介します。
経験上、LambdaやStepFunctionsのメトリクスを取得するときに必ず直面する問題かなと思います。
EC2やRDSは継続してメトリクスを流してくれるのですが、一方でアクション発生しない限りLamdaやStepFunctionなどのメトリクスは拾えません。
その結果、監視設定をしても【NO DATA】でメトリクスが認識されていない状態になってしまいます。
またErrorを検知してAlert状態になってもそのあとに正常値を検知できないままだとAlert状態として残ってしまうため正常な監視ができなくなります。

その問題を解決するのがDefault_Zero関数です。詳しく実例を交えて解説していきます!

こんな方へおすすめの記事です

  • DataDogについて学習されている方
  • DataDogメトリクス設定されている方
  • 現状の監視方法で満足いっていない方

DataDogのにおけるAWSリソース監視前提条件

・AWSが使用可能な状態であること※サービスを監視するため
・DataDogが使用できる状態であること
※DataDog未登録の方は2週間無料、クレジットカード登録不要で使用することができるので試して登録してみてはいかがでしょうか。

AWS使用リソース&DataDog使用コンソール

DataDog
・メトリクスモニター

AWS
・Lambda(メトリクス取得のため事前作成済)

Default_Zero関数ってなに?

Datadogのメトリクスにおけるデフォルトゼロ関数は、特定の時間にデータがない場合に、その値をゼロと見なすための機能です。
これにより、グラフやアラートの解釈がより明確になります。
docs.datadoghq.com

なぜDefault_Zero関数が必要なの?

デフォルトゼロ関数を使用することで、以下のような利点があります。

1, グラフの一貫性:データの欠落部分をゼロとしてカウントすることで、グラフが滑らかになり、視覚的に一貫した表示が可能になります。
2, アラートの正確性:特定の条件が満たされた場合にアラートを設定する際、データの欠落部分をゼロとカウントすることで、誤ったアラートが発生するのを防ぎます。

LamdaやStepFunctionなどのメトリクスは単発でしか拾えないためデータが欠落して【NO DATA】状態になってしまいますが、default_Zeroを使用するとEC2やRDSのように継続してグラフに表示してくれます。
次の章で実際に見てみましょう!

Lambda ErrorメトリクスでDefault_Zero関数試してみた

監視対象Lambdaの準備

AWS環境にて事前に作成しておいたこちらのLambdaを監視対象として使用します。

DataDog モニターの作成

【Monitors】→【New Monitor】→【Metric】の順で選択

メトリクスは【aws.lambda.errors】、対象は監視対象のLambdaに設定する

Set alert conditionsは【avobe】、Alert thresholdは【0】を選択。テスト名は任意の名前で作成

必要な項目を入寮出来たら【CREATE】をクリック

【NO DATA】としてメトリクスが認識されていることを確認

default_Zero関数の導入

それでは作成した【NO DATA】状態のモニターにDefault_Zero関数を設定します。

右上の歯車マークから【Edit】をクリック

【Add Finction】→【Interpolation】→【Default_Zero】を選択

default_Zero関数が入っていることを確認

【Save】をクリック

しばらく待つと【OK】表示が確認できました!
これでメトリクスが発生しない間もデータの欠落部分をゼロとしてカウントしてくれるので【OK】表示が可能となりました

おわりに

以上がDefault_Zero関数を活用して【NO DATA】を表示させない方法でした。
私も実際にLambdaやStepFunctionsの監視設定をする際にここにハマってしばらく考え込んでしまったことがありました。。。
DataDog 公式サイトには文字ベースで解説はありますがブログなどでキャプチャ付きでまとめたものはかなり少なく感じたので今回、本ブログを執筆しようと思い立ちました。
ブログを見てくれた方のお役立ちすることができれば幸いです!

お知らせ

APCはAWS Advanced Tier Services(アドバンストティアサービスパートナー)認定を受けております。

その中で私達クラウド事業部はAWSなどのクラウド技術を活用したSI/SESのご支援をしております。
www.ap-com.co.jp

https://www.ap-com.co.jp/service/utilize-aws/

また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp

本記事の投稿者: gomezshimi
AWSをメインにインフラ系のご支援を担当しています。 Shumpei Shimizu - Credly