Cloudflare Logpush は、Cloudflare ダッシュボードまたは API から、Google Cloud Storage(GCS)へログを直接プッシュできます。
-
Cloudflare ダッシュボードで、アカウントまたはドメイン(ゾーンとも呼ばれます)の Logpush ページを開きます。
アカウントの場合: Logpush を開く ↗
ドメイン(ゾーン)の場合: Logpush を開く ↗
-
選んだ範囲に応じて、それぞれ アカウントスコープのデータセット と ゾーンスコープのデータセット を利用できます。
-
Create a Logpush job を選択します。
-
Select a destination で Google Cloud Storage を選びます。
-
次の送信先の詳細を入力または選択します。
- Bucket - GCS バケット名
- Path - ストレージコンテナ内のバケットの場所
- Organize logs into daily subfolders(推奨)
- Grant Cloudflare access to upload files to your bucket では、バケットに Cloudflare の IAM が Storage Object Admin ロール ↗ を持つユーザーとして追加されていることを確認します。
送信先の詳細を入力したら、Continue を選択します。
-
所有権を証明するため、Cloudflare は指定した送信先にファイルを送信します。トークンを確認するには、所有権チャレンジファイルの Overview タブで Open ボタンを選択し、Cloudflare ダッシュボードに貼り付けてバケットへのアクセスを検証します。Ownership Token を入力し、Continue を選択します。
-
ストレージサービスへプッシュするデータセットを選択します。
-
次のステップで、Logpush ジョブを設定します。
- Job name を入力します。
- If logs match では、ログに含めるイベントと除外するイベントを選べます。詳細は フィルター を参照してください。このオプションがないデータセットもあります。
- Send the following fields では、すべてのログを送信先へプッシュするか、プッシュするログを選ぶかを選べます。
-
Advanced Options では、次の設定ができます。
- ログ内のタイムスタンプフィールドの形式を選びます(
RFC3339(デフォルト)、Unix、またはUnixNano)。 - ログの サンプリングレート を選ぶか、ランダムにサンプリングした割合のログをプッシュします。
CVE-2021-44228の秘匿化を有効にします。このオプションは${の出現をすべてx{に置き換えます。
- ログ内のタイムスタンプフィールドの形式を選びます(
-
Logpush ジョブの設定が完了したら、Submit を選択します。
Cloudflare は Google Cloud Identity and Access Management(IAM)を使ってバケットにアクセスします。Cloudflare の IAM サービスアカウントには、バケットの管理者権限が必要です。
Logpush ジョブの読み取りや設定の前に、Log Share の権限が有効になっていることを確認してください。詳細は Roles のセクション を参照してください。
Logpush を GCS に有効にするには、次の手順を実行します。
-
GCS バケットを作成します。GCS の手順 ↗ を参照してください。
-
Storage > Browser > Bucket > Permissions で、メンバー
logpush@cloudflare-data.iam.gserviceaccount.comをStorage Object Admin権限で追加します。
Logpush は、ログファイルを常に gzip 圧縮形式で配信します。GCS へアップロードするとき、Logpush はオブジェクトメタデータに Content-Encoding: gzip を設定します。
GCS は、デフォルトで 展開トランスコーディング(decompressive transcoding) ↗ を行います。Content-Encoding: gzip で保存されたオブジェクトをクライアントがダウンロードするとき、リクエストヘッダーに Accept-Encoding: gzip が含まれていないと、GCS は転送中にファイルを自動で展開することがあります。この場合、ファイル名は .gz のままですが、ダウンロードしたファイルには非圧縮データが含まれます。
ログファイルを元の圧縮形式でダウンロードするには、次のいずれかの方法を使います。
-
ダウンロードリクエストのヘッダーに
Accept-Encoding: gzipを含めます。 たとえば gsutil を使う場合:gsutil -h "Accept-Encoding: gzip" cp gs://your-bucket/path/file.log.gz .