概要

Cloudflare と統合することで、Web トラフィック、DNS クエリ、脅威に関するインサイトなど、ゾーンのメトリクスを取得できます。このインテグレーションは Cloudflare の分析 API に基づいています。当社のドキュメントで、どのリソースがどのメトリクスに対応しているかについて詳しく確認できます。

ログ収集: これらのメトリクスに加え、Cloudflare では Cloudflare Logpush を使用してログを直接 Datadog に送信することが可能です。これらの詳細なログには、Cloudflare 製品によって生成されたメタデータが含まれており、特に他のソースからのログと組み合わせることで、デバッグや分析の作成に役立ちます。これらのメトリクスと組み合わせて Cloudflare のログ収集を有効にすることで、Cloudflare 環境を完全に可視化することができます。

すぐに使えるダッシュボードは、アプリケーションのセキュリティとパフォーマンスを向上させます。この一元化されたダッシュボードにより、以下の要素が視覚化されます

  • セキュリティ脅威
  • HTTP リクエスト量とエラー率
  • 往復時間とトラフィックフローの変更を含むロードバランシング
  • ワーカースクリプトにおけるパフォーマンスの問題

Cloudflare インフラストラクチャーを深く洞察するリッチ化されたログと詳細なメトリクスにより、問題解決に必要なコンテキストを構築できます。

インテグレーションは Datadog Cloud SIEM と連携し、以下に対するすぐに使える脅威検出機能を提供します

  • 不可能移動
  • 危険な誤構成
  • DDoS 攻撃

IP アドレスのブロックや Datadog でのケースの作成など、同梱されている Workflow Automation のブループリントを利用して、セキュリティ脅威をより迅速に緩和できます。

セットアップ

始める前に、Datadog アカウントAPI キー、そして Enterprise アカウントプランが必要な Cloudflare Logpush へのアクセスが必要です。

Cloudflare API トークンを使用する場合は、Zone > Zone > Read および Zone > Analytics > Read の権限を保有していることを確認してください。

インストール

Datadog の Cloudflare インテグレーションタイルを使用して、インテグレーションをインストールします。

構成

  1. Datadog Cloudflare インテグレーションタイル内の Configure タブに移動します。
  2. 監視するアカウントの電子メールアドレスと、API キーまたはトークンを入力します。Cloudflare API キーと API トークンは、Cloudflare アカウントの My profile > Api Tokens の下にあります。
  3. アカウントの名前を追加します。この名前は任意で、メトリクスの account タグ内で使用されます。

ログ収集

Cloudflareでは、Cloudflare Logpush を使用してログを直接 Datadog にプッシュすることができます。Logpush のジョブは Cloudflare API または Cloudflare ダッシュボード内で直接管理できます。

Cloudflare インテグレーションパイプラインをインストールすると、特定の属性が自動的にリマップされます。どの属性がリマップされるかを確認するには

  1. ログパイプラインに移動します。
  2. 右上の Browse Pipeline Library をクリックします。
  3. 検索バーに Cloudflare と入力します。
  4. Cloudflare をクリックすると、インストールされているリマッパーなどのプロセッサーのリストが表示されます。

Cloudflare API

  1. Logpush ジョブエンドポイントへ POST をリクエストし、Logpush ジョブを作成します。以下のフィールドを含めます。

    • name (任意): ドメイン名をジョブ名として使用。
    • destination_conf: 以下のパラメーターからなるログの出力先。
      • <DATADOG_ENDPOINT_URL>: Datadog HTTP ログインテークエンドポイントで、以下のいずれかです。違いについては、Datadog API リファレンスを参照してください。
        • v1: http-intake.logs./v1/input
        • v2 (最新バージョン): http-intake.logs./api/v2/logs
      • <DATADOG_API_KEY>: 使用する Datadog API キー。
      • ddsource: cloudflare に設定。
      • service (任意): サービス名を指定。
      • host (任意): ホスト名を指定。
      • ddtags (任意): タグを指定。
    • dataset: 受信するログのカテゴリー。サポートされるデータセットについては、Cloudflare のログフィールドを参照。
    • logpull_options (オプション): フィールド、サンプルレート、タイムスタンプ形式の構成は、Logpush API オプションを参照してください。Datadog は、Cloudflare のタイムスタンプ RFC 3339 フォーマットの使用を義務付けており、これは Cloudflare がデフォルトで使用するオプションです。

    リクエスト例:

    curl -s -X POST 'https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/logpush/jobs' \
    --header 'X-Auth-Key: <CLOUDFLARE_AUTH_KEY>' \
    --header 'X-Auth-Email: <CLOUDFLARE_AUTH_EMAIL>' \
    --header 'Content-Type: application/json' \
    --data-raw '{
       "name": "<NAME>",
       "destination_conf": "datadog://<DATADOG_ENDPOINT_URL>?header_DD-API-KEY=<DATADOG_API_KEY>&ddsource=cloudflare&service=cloudflare&ddtags=env:dev",
       "logpull_options": "fields=RayID,EdgeStartTimestamp&timestamps=rfc3339",
       "dataset": "http_requests"
    }'
    

    応答例:

    {
     "errors": [],
     "messages": [],
     "result": {
       "id": 100,
       "dataset": "http_requests",
       "enabled": false,
       "name": "<DOMAIN_NAME>",
       "logpull_options": "fields=RayID,EdgeStartTimestamp&timestamps=rfc3339",
       "destination_conf": "datadog://http-intake.logs./v1/input?header_DD-API-KEY=<DD-API-KEY>&ddsource=cloudflare&service=cloudflare&ddtags=env:dev",
       "last_complete": null,
       "last_error": null,
       "error_message": null
     },
     "success": true
    }
    

    id の値をメモしておきます。上記の例では、100 です。

  2. ジョブを有効にします。応答で返されたジョブ ID を使用してリクエスト本文で {"enabled": true} を送信します。

    リクエスト例:

    curl -s -X PUT \
    https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/logpush/jobs/<JOB_ID> -d'{"enabled":true}' | jq .
    

    応答例:

    {
      "errors": [],
      "messages": [],
      "result": {
        "id": 100,
        "dataset": "http_requests",
        "enabled": true,
        "name": "<DOMAIN_NAME>",
        "logpull_options": "fields=RayID,EdgeStartTimestamp&timestamps=rfc3339",
        "destination_conf": "datadog://?header_DD-API-KEY=<DATADOG-API-KEY>",
        "last_complete": null,
        "last_error": null,
        "error_message": null
      },
      "success": true
    }
    

Cloudflare ダッシュボード

  1. Cloudflare ダッシュボードの Logpush セクションでサービスを接続したら、データセットとデータフィールドを選択し、宛先として Datadog を選択します。

  2. Enter destination information の下で Datadog の URL エンドポイントを入力します。

    http-intake.logs./api/v2/logs?ddsource=cloudflare
    

    : ddsource=cloudflare は必須です。ログを区別するために、オプションで servicehostddtags などのパラメーターを追加することもできます。

    :

    http-intake.logs./api/v2/logs?service=<SERVICE>&host=<HOST>&ddsource=cloudflare
    
  3. Datadog Cloudflare インテグレーションタイルのセットアップに使用した Datadog API キーを入力します。

  4. アクセスを確認すると、Prove ownership の下に “Ready to push!” と表示されます。Push をクリックして完了します。

収集データ

メトリクス

メトリクスカテゴリー

以下の表では、収集されるメトリクスの種類と関連するメトリクスのプレフィックスについて説明します。

説明収集されるメトリクスのプレフィックス
Web 分析Web トラフィックとパフォーマンスに関するメトリクス。cloudflare.requests.all
cloudflare.requests.cached
cloudflare.requests.uncached
cloudflare.requests.ssl.encrypted
cloudflare.requests.ssl.unencrypted
cloudflare.requests.country
cloudflare.requests.status
cloudflare.requests.content_type
cloudflare.requests.ip_class
cloudflare.bandwidth.all
cloudflare.bandwidth.cached
cloudflare.bandwidth.uncached
cloudflare.bandwidth.ssl.encrypted
cloudflare.bandwidth.ssl.unencrypted
cloudflare.bandwidth.country
cloudflare.bandwidth.content_type
cloudflare.threats.all
cloudflare.threats.type
cloudflare.threats.country
cloudflare.pageviews.all
cloudflare.pageviews.search_engine
cloudflare.uniques.all
cloudflare.requests.cross_zone_sub_requests.avg
cloudflare.requests.edge_dns_response_time.avg
cloudflare.requests.edge_time_to_first_byte.avg
cloudflare.requests.origin_response_duration.avg
DNSDNS クエリと応答時間に関するメトリクス。cloudflare.dns.query.all
cloudflare.dns.query.uncached
cloudflare.dns.query.stale
cloudflare.dns.response_time.avg
cloudflare.dns.response_time.median
cloudflare.dns.response_time.90p
cloudflare.dns.response_time.99p
ロードバランサーロードバランシングプールに関連するメトリクス。cloudflare.load_balancer.pool.round_trip_time.average
cloudflare.load_balancer.pool.health.status
ワーカースクリプトCloudflare Workers スクリプトに関するメトリクス。cloudflare.workers.requests.all
cloudflare.workers.requests.errors
cloudflare.workers.requests.subrequests
cloudflare.workers.response_time.75p
cloudflare.workers.response_time.99p

権限

Cloudflare API トークンでこれらのアクセス許可が有効になっていることを確認します。

スコープアクセス許可ステータス
アカウントアカウント分析読み取り
アカウントアカウント設定読み取り
アカウントワーカースクリプト読み取り
ZoneZone読み取り
Zone分析読み取り
Zoneワーカールート読み取り
Zoneロードバランサー読み取り

イベント

Cloudflare インテグレーションには、イベントは含まれません。

サービスチェック

Cloudflare インテグレーションには、サービスのチェック機能は含まれません。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。

PREVIEWING: may/embedded-workflows