Auth0のログをDatadogへ飛ばす with terraform

Hakucho
Hakucho (白鳥)
 
0

Auth0のログをDatadogに飛ばそうとして困ったのでメモ

Auth0のログをDatadogに飛ばす

Auth0にはDatadogにログを飛ばすためのIntegrationがある

Datadog Integration

しかし弊社のDatadogがあるAP1じゃ使えない。

スクリーンショット 2023-11-06 13.55.12

困った。

直接DatadogのAPIを叩く

こういうときのよくある手段としてDatadogのAPIを直接叩くというのがある。

今回もその手段をとろうとした。

custom-webhook-settings

しかし上記画像を見てもらえればわかるように、ブラウザ上からはヘッダーのカスタムができない。

DatadogのAPIを叩くにはDD-API-KEYというヘッダーにDatadogのAPIキーを入れなくてはいけないが、ヘッダーがカスタムできないとAPIキーを入れられない。

困った。

Terraformを使って設定する

色々調べてみたら、terraformを使えばヘッダーをカスタムできることがわかった。

↓公式のドキュメントを参考にterraformを書く

Terraform Registry

resource "auth0_log_stream" "datadog-log-stream" {
  name = "send-to-datadog"
  type = "http"

  sink {
    # ↓自分の使っているリージョンに合わせて変更する
    http_endpoint       = "https://http-intake.logs.ap1.datadoghq.com/api/v2/logs?ddsource=auth0"
    http_content_type   = "application/json"
    http_content_format = "JSONARRAY"
    http_custom_headers = [
      {
        header = "DD-API-KEY"
        # ↓APIキーを入れる
        value  = "hogehoge-api-key"
      }
    ]
  }
}

あとは terraform applyすればDatadogにログが飛ぶ

おまけ:DatadogにAuth0のIntegrationを入れる

Datadogの方にAuth0のIntegrationを入れる。
Datadogのインテグレーションは外部から来たログを綺麗に整形するので、外部のログをDatadogの飛ばすなら、その飛ばし方が何であれとりあえずIntegrationを探して入れといた方がいい。

DatadogにAuth0のIntegration

スクリーンショット 2023-11-10 18.59.24

info-outline

お知らせ

K.DEVは株式会社KDOTにより運営されています。記事の内容や会社でのITに関わる一般的なご相談に専門の社員がお答えしております。ぜひお気軽にご連絡ください。