Datadogの支払い/コストを削減するtips集

yoshi-taka
8 min readJun 12, 2023

--

AWSといったクラウドプロバイダへの支払いを100とすると、Observabilityベンダーとの支払いは、おおよそ15〜30程度となります。

この記事では大まかな方針を記載し、削減余地が大きいログ、APM、Infra Hostについては詳述します。

金額と明細を可視化する

Admin以外の権限のユーザーだと利用量は参照できますが、具体的な金額が見えません。Standard RoleなどにDatadogのBillingを参照できる権限をつけるとよいでしょう。まずは金額と明細をメンバーに共有しましょう。

Usage Attributionで明細を可視化する

https://docs.datadoghq.com/ja/account_management/billing/usage_attribution/

契約プラン次第ですが各チームに自分で調査してもらうのに便利です。

ログを削減する

LambdaのSTART / ENDログを転送抑制する

Lambdaでは必ずSTART / ENDログが出力されますが、このログは情報量が少ないです。特にトレースを導入しているなら不要でしょう。除外するとログが半分以下になることも。

設定方法は以下の通り。転送ルートがLambda Extensions経由でもDatadog Forwarder経由でも有益です。

REPORTログはlambda enhanced metricsとしてduration計算などに使われます。一方、送信しingestとして取り込みさえできればログindexには不要です。indexから除外も検討しましょう

どのログが多いのかログ画面のTree Mapで可視化する

https://docs.datadoghq.com/ja/dashboards/widgets/treemap/ 画像はイメージです

ログ画面でTree Mapを使い、カテゴリごとに量を可視化しましょう。同時に複数のカテゴリでグルーピングできます。アカウント、サービス、Hostあたりが便利です。

どのログが多いのかメトリクスから探る

https://docs.datadoghq.com/ja/dashboards/querying/ 画像はイメージです

メトリクスを使うなら、datadog.estimated_usage.logs.ingested_bytesからおおよそ可視化できます。

メトリクスの強みはSplit Graph機能です。グラフをカテゴリで分割できるので見やすく助かります。

ログPatterns機能で不要なログパターンを探る

https://docs.datadoghq.com/ja/logs/explorer/analytics/patterns/

Patterns機能は過小評価されています。不要なパターンのログ、おかしいログが出てないか、コスト削減の観点では量が多いものを探してみましょう。

Statusで絞る

WARN、ERRORといったログが大量に出ているのは良くない傾向です。整理整頓しましょう。アプリケーションも改善できる可能性があります。

二重出力を確認する

たまに二重に出力されています。Datadogの設定ミスの可能性が高いです。

サンプリングする

代わり映えのないログはサンプリングを検討しましょう

転送量を削減すれば、AWS内ならDatadog ForwarderのLambda実行コスト、転送コストも削減可能です。Datadog ForwarderのLambdaとしてのコストは地味に嵩みます。

APMを削減する

可視化する

方法はログと同じです。上記を参照ください。

プロキシ的なサービスを除外する

安定しているサービスはAPMの対象から除外すると良いでしょう。

サンプリングする

トレース全体をサンプリングする方法と、トレース内の特定のアクセスだけをサンプリングする方法があります。DD_TRACE_SAMPLING_RULESにより、例えばDBアクセスだけをサンプリングすることが可能です。

二重出力を確認する

たまに二重に出力されています。Datadogの設定ミスの可能性が高いです。

Infra Hostを削減する

AWS Integrationから除外する

Datadog Agentを入れていないEC2ホストもAWS Integrationを設定していると課金対象となります。EC2全部について監視不要ならAWS Integration画面からEC2連携を除外しましょう。

CloudWatch Metric Streamsを設定しているときは追加作業が必要です。AWS側で名前空間からEC2を除外し、Datadogに流れないようにしましょう。

その他利用量の削減

API テストを減らす

実行回数で課金されるため、1分に1回のチェックだと1時間に1回のチェックに比べ60倍の金額となります。開発環境なら長くても良いでしょう。ワークロードに応じて間隔を空けましょう。

ロケーション数とも金額が比例するため、東京だけに絞るのも一つの方法です。

他のDatadog機能と連携をしないなら別のサービスに切り替えたほうが安いことも。

時間帯によって間隔を変更できると便利ですが、標準機能には今のところ存在しないため、行うならDatadog APIで随時設定する仕組みを準備しましょう。

Sensitive Scannerを削減する

Lambdaの標準ログはSensitiveデータが入りようがないのでSTART / END / REPORTログを除外しましょう。

条件の変更

カード払いから領収書払いに切り替えることもできます。有利かどうかは経理部門やファイナンス部門に確認しましょう。

コミットメントや各種プランも適宜見直しましょう。

最後に

以下の記事でも述べた通り、特にログの部分はAWSコストと連動しています。一石二鳥を狙うとよいです。

--

--

yoshi-taka

気合と理論で⟹安全工学/患者安全/Safety II/ICS/Cognitive System/成人教育/CoE構築/Full-Service Ownership/Enabling Team/Cloud Finance/transaction-per-user cost/Cloud Fluency/医療全般/文化人類学