Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Graylog

最終更新 Markdown で表示Agent セットアップ

このチュートリアルでは、Graylog を使って Cloudflare Logs を分析する方法を説明します。

概要

Cloudflare Logs を使ったことがない場合は、詳細を Logs のドキュメント で確認してください。アカウントでログを有効にするには、Cloudflare の担当チームに連絡してください。

前提条件

Cloudflare のログデータを Graylog へ送る前に、次を確認してください。

  • 既存の Graylog 環境があること。シングルノードとクラスターのどちらも使えます
  • Cloudflare Logs が有効な Cloudflare Enterprise アカウントがあること
  • Logpush を設定していること

タスク 1 - 準備

Graylog へ Cloudflare ログを取り込む前に、次を行います。

  1. Cloudflare Logpush を設定し、必要なフィールドをすべて、任意の AWS S3 バケットへプッシュします。
  2. 最新の Graylog Integration for Cloudflare をダウンロードします。
  3. zip ファイルを展開します。

展開後、連携パッケージには次が含まれます。

  • graylog-s3-lambda.jar
  • content-packs/cloudflare/cloudflare-logpush-content-pack.json
  • content-packs/cloudflare/threat-lookup.csv

タスク 2 - AWS Lambda 関数を作成して設定する

  1. AWS ウェブコンソールの Lambda サービスページを開きます。
  2. 新しい Lambda 関数を作成し、任意の function nameJava-8 runtime を指定します。
  3. 次の権限を持つ実行ロールを作成するか指定します。環境に合わせて、リソース権限をさらに絞ることもできます。
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Policy",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup"
        "s3:GetObject",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": [
        "arn:aws:logs:your-region:your-account-number:*",
        "arn:aws:s3:your-region::cloudflare-bucket-name/*"
      ]
    }
  ]
}

注記: Graylog クラスターが VPC 内で動いている場合、Lambda 関数が VPC へトラフィックをルーティングできるよう、AWSLambdaVPCAccessExecutionRole マネージドロールの追加が必要になることがあります。

  1. Lambda 関数を作成したら、タスク 1 でダウンロードした関数コード graylog-s3-lambda.jar をアップロードします。Handler には次のメソッドを指定します。org.graylog.integrations.s3.GraylogS3Function::handleRequest

  2. Graylog クラスター向けに Lambda 関数を設定するため、少なくとも次の必須環境変数を指定します。

    • CONTENT_TYPE(必須)- Lambda 関数が Cloudflare ログを処理することを示す application/x.cloudflare.log

    • COMPRESSION_TYPE (必須 - Cloudflare ログは gzip 圧縮されているため gzip

    • GRAYLOG_HOST(必須)- Graylog ホスト、またはクラスターのロードバランサーのホスト名か IP アドレス。

    • GRAYLOG_PORT(任意 - デフォルトは 12201)- Graylog のサービスポート。

    • CONNECT_TIMEOUT(任意 - デフォルトは 10000)- 接続確立を待つミリ秒数。

    • LOG_LEVEL(任意 - デフォルトは INFO)- Lambda 関数が生成する CloudWatch ログの詳細度。使える値は OFFERRORWARNINFODEBUGTRACEALL です。トラブルシューティング時はログレベルを上げてください。詳細は Defining Custom Log Levels in Code を参照してください。

    • CLOUDFLARE_LOGPUSH_MESSAGE_FIELDS(任意 - デフォルトはすべて)- メッセージからパースするフィールド。フィールド名をカンマ区切りで指定します。

    • CLOUDFLARE_LOGPUSH_MESSAGE_SUMMARY_FIELDS(任意 - デフォルトは ClientRequestHost, ClientRequestPath, OriginIP, ClientSrcPort, EdgeServerIP, EdgeResponseBytes)- Graylog の各メッセージ先頭で、パース済みフィールドの上に表示するメッセージ要約に含めるフィールド。フィールド名をカンマ区切りで指定します。 必須の Graylog 環境変数の一覧

      注記: 関数設定を細かく調整できる変数は、Graylog Lambda S3 の README にほかにもあります。

  3. 書き込まれた各 Cloudflare ログフィールドを処理できるよう、Lambda 関数に AWS S3 Trigger を作成します。タスク 1 と同じ S3 バケットを指定し、All object create events を選びます。ほかのファイルフィルターもここで適用できます。 AWS S3 Trigger の例を示す Add trigger ダイアログ

  4. Graylog クラスターが VPC 内にある場合は、Lambda 関数が VPC 内のリソースにアクセスできるよう設定 します。AWS S3 向けの VPC エンドポイント の作成も必要になることがあります。これにより、VPC 内で動く Lambda 関数が S3 へ直接アクセスできます。

タスク 3 - Graylog にコンテンツパックをインポートする

Cloudflare Logpush コンテンツパックを Graylog にインポートすると、Cloudflare ログを受け取るための設定が読み込まれ、Cloudflare ダッシュボードがインストールされます。

コンテンツパックで次のコンポーネントが入ります。

  • Cloudflare ダッシュボード(タスク 4)。
  • Graylog が Cloudflare ログを受け取るための Cloudflare GELF (TCP) 入力。
  • Cloudflare メッセージ ストリーム
  • Cloudflare ログフィールドの処理とパースを助ける パイプライン ルール。

コンテンツパックをインポートする手順は次のとおりです。

  1. タスク 1 でダウンロードして展開した cloudflare-logpush-content-pack.json を探します。

  2. Graylog で System > Content Packs を開き、右上の Upload をクリックします。アップロードすると、アップロード済みコンテンツパックの一覧に Cloudflare Logpush コンテンツパックが表示されます。 Graylog コンテンツパックのアップロード

  3. Install をクリックします。 Graylog コンテンツパックのインストール

  4. Install ダイアログで、任意のインストールコメントを入力し、すべての設定パラメーターに正しい値が入っていることを確認します。

    Install ダイアログでインストールコメントを追加し、パラメーターを設定する画面
  5. インストールが完了すると、Graylog クラスターは Lambda 関数からの Cloudflare ログを受け取れる状態になります。

追加情報とトラブルシューティングは、Graylog Lambda S3 の README を参照してください。

タスク 4 - Cloudflare ダッシュボードを表示する

ダッシュボードは Graylog Cloudflare integration ページ で確認できます。含まれるダッシュボードは次のとおりです。

Cloudflare - Snapshot

Cloudflare ネットワーク上の Web サイトとアプリケーションについて、最も重要な指標を一目で確認できます。ダッシュボードフィルターでさらに切り分け、イベントや傾向を細かく分析できます。

このダッシュボードでは次ができます。

  • Cloudflare ネットワーク上の Web サイトとアプリケーションについて、最も重要な Web トラフィック指標を監視する
  • トラフィックの送信元の国と IP を確認し、モバイルとデスクトップ、プロトコル、メソッド、コンテンツタイプの内訳を分析する
Graylog ダッシュボードで Cloudflare ログ指標を可視化する

Cloudflare - Security

Web サイトとアプリケーションへの脅威の概要です。阻止した脅威数、時系列の脅威、脅威が多い国などを確認できます。

このダッシュボードでは次ができます。

  • Web サイトとアプリケーションの、最も重要なセキュリティと脅威の指標を監視する
  • IP ファイアウォールを調整して設定する
Graylog ダッシュボードで Cloudflare の脅威トラフィック分析を可視化する

Cloudflare - Performance

パフォーマンスの問題とキャッシュ設定の誤りを特定し、対処するためのダッシュボードです。指標には、総帯域幅とキャッシュ済み帯域幅、節約した帯域幅、総リクエスト数、キャッシュ比率、キャッシュされていない上位リクエストなどがあります。

このダッシュボードでは次ができます。

  • キャッシュの挙動を監視し、設定誤りを特定する
  • 設定とキャッシュ比率を改善する
Graylog ダッシュボードで Cloudflare の Performance 指標を可視化する

Cloudflare - Reliability

Web サイトとアプリケーションの可用性を把握するダッシュボードです。指標には、オリジンレスポンスのエラー比率、時系列のオリジンレスポンスステータス、時系列の 3xx/4xx/5xx エラーの割合などがあります。

このダッシュボードでは次ができます。

  • エッジとオリジンのレスポンスステータスコードを見て、Web サイトとアプリケーションのエラーを調査する
  • 国、クライアント IP、ホスト名などの指標で、ステータスコード別にエラーをさらに分析する
Graylog ダッシュボードの Cloudflare Reliability

Cloudflare - Bots

悪意のあるボットを検知して緩和し、クレデンシャルスタッフィング、スパム登録、コンテンツスクレイピング、クリック詐欺、在庫の抱え込みなどの不正行為を防げます。

このダッシュボードでは次ができます。

  • Web サイト上のボット活動を調査し、コンテンツスクレイピング、チェックアウト詐欺、スパム登録などの不正行為を防ぐ。
  • 得られた知見で Cloudflare を調整し、Web サイト、アプリケーション、API エンドポイントでのボットによる過剰利用や悪用を防ぐ。
Graylog ダッシュボードの Cloudflare Bot Management

役に立ちましたか?