ログの圧縮形式の変更
最終更新日 2021-02-03
Fastly のリアルタイムログストリーミング機能では、ファイルベースのログエンドポイントの圧縮形式とオプションを指定することができます。これらには、Azure Blob、FTP、Google Cloud Storage、Kafka、OpenStack、Amazon S3、SFTP、Digital Ocean、Cloud Files のログエンドポイントが含まれます。
利用可能なログ圧縮形式
デフォルトでは圧縮を行わないように設定されていますが、いくつかの圧縮メカニズムの中から選択することが可能です。
- RFC 8478 で定義されている圧縮アルゴリズムの Zstandard
- 多くの Google 製品で使用されている圧縮・解凍ライブラリの Snappy。詳細は Snappy 圧縮形式の説明をご覧ください。
- RFC 1952 および RFC 1951 で定義されている圧縮ユーティリティの Gzip
コントロールパネルを使用してログの圧縮形式を変更する
コントロールパネルでログファイルに適用する圧縮コーデックを選択できます。
Gzip 圧縮を使用している場合、コントロールパネルで Gzip 圧縮レベルはデフォルトで3に設定されており、Logging API を使用してのみ変更できることに留意してください。Gzip 圧縮レベルが API コール で 3
以外の値に設定されている場合、そのレベルは読み取り専用の値として表示されます。
コントロールパネルを使用してファイルベースのログエンドポイントの圧縮形式を更新するには、以下の手順に従ってください。
- Fastly コントロールパネルにログインします。
- Home ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
- Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
- Logging リンクをクリックします。Logging endpoints ページが表示されます。
- 編集するファイルベースのログエンドポイントの名前をクリックします。Edit this endpoint ページが表示されます。
- ページの下部にある Advanced options をクリックします。Advanced options が表示されます。
-
Compression セクションでログエンドポイントの圧縮形式を選択します。
- Update ボタンをクリックします。
- Activate ボタンをクリックして設定変更をデプロイします。
API を使用してログの圧縮形式を変更する
ファイルベースのログエンドポイントの場合、Logging API を使用して圧縮形式を更新することができます。
API には、ログファイルの圧縮オプションを指定するための compression_codec
と gzip_level
のフィールドがあります。
compression_codec
はログの圧縮に使用するコーデックを指定する文字列です。以下のいずれかを指定します。gzip_level
は圧縮しないことを意味する0から、最大の圧縮率を意味する9までの整数です。
gzip の圧縮レベルを3以外の値に設定する必要がない限り、gzip_level
よりも compression_codec
の使用を推奨します。
リクエストのペイロードに関して以下の点にご注意ください。
- リクエストのペイロードに
compression_codec
またはgzip_level
のいずれか1つが含まれるようにします。両方を指定するとエラーになります。 compression_codec
を「gzip」に設定すると、gzip_level
はデフォルトで3に設定されます。compression_codec
がリクエストのペイロードで指定されておらず、かつgzip_level
に0以外の値が設定されている場合、compression_codec
はデフォルトで「gzip」に設定されます。- リクエストで
compression_codec
とgzip_level
のいずれも指定されていない場合、ログファイルに圧縮が適用されず、compression_codec
はデフォルトでnull
に設定されます。
例えば、サービスの SFTP ログエンドポイントの圧縮形式を Snappy 圧縮コーデックを使用するように更新する場合、curl コマンドは以下のようになります。
1
$ curl -X PUT -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Accept: application/json" -d "compression_codec=snappy" https://api.fastly.com/service/SU1Z0isxPaozGVKXdv0eY/version/5/logging/sftp/sftp-log
compression_codec
のフィールドを使用して Azure Blob Storage のログエンドポイントに gzip 圧縮を適用する場合、curl コマンドは以下のようになります。
1
$ curl -X PUT -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Accept: application/json" -d "compression_codec=gzip" https://api.fastly.com/service/SU1Z0isxPaozGVKXdv0eY/version/7/logging/azureblob/azure-log
gzip_level
のフィールドを使用して Google Cloud Storage のログエンドポイントの圧縮形式のレベルを1に変更する場合、curl コマンドは以下のようになります。
1
$ curl -X PUT -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Accept: application/json" -d "gzip_level=1" https://api.fastly.com/service/SU1Z0isxPaozGVKXdv0eY/version/4/logging/gcs/gcs-log