ログ形式の変更

Fastly のリアルタイムログストリーミング機能では、選択したログエンドポイントでログメッセージが配信される形式を変更することができます。以下の形式の中から1つ選択できます。

  • Blank はデフォルトです。プリフィックスはありません。ログメッセージのみです。このフォーマットは、JSON や CSV ファイルに書き込む場合に便利です。
  • Classic は、RFC 3164 で定義される syslog の標準プリフィックスフォーマットです。
  • LogglyRFC 5424 をベースに構造化された syslog のプリフィックスフォーマットです。
  • Logplex は Heroku スタイルのプリフィックス付き syslog フォーマットです。

エンドポイントを変更し、別の形式を使用する

多くのロギングエンドポイントは、コントロールパネルまたは API のどちらかを使用し、デフォルト以外のメッセージ形式を使用するように変更することができます。

コントロールパネルを使用する

コントロールパネルを使用し、ログエンドポイントの変更をするには、以下の手順に従ってください。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Logging リンクをクリックします。Logging endpoints ページが表示されます。
  5. 編集したいログエンドポイントの名前をクリックします。Edit this endpoint ページが表示されます。
  6. ページの下の方にある Advanced options リンクをクリックします。Advanced options が表示されます。

    logging endpoints ページ

  7. Select a log line format セクションで、ログエンドポイントのログ形式を選択します。
  8. Update ボタンをクリックします。
  9. Activate ボタンをクリックして設定変更をデプロイします。

API を利用する

API を利用してログエンドポイントを変更するには、次のコマンドを実行します。

1
$ curl -X PUT -H 'Fastly-Key: FASTLY_API_TOKEN' -H 'Content-Type: application/json' 'https://api.fastly.com/service/<your Fastly service ID>/version/<version number>/logging/<logging endpoint>/<log name>' --data-binary '{"message_type":"<type>"}'

message_type フィールドはオブジェクトごとのフィールドであることに留意してください。1つのログオブジェクトで変更しても、他のオブジェクトには_反映されません_。

例えば、メッセージタイプ blank を使用し、「GCS Test」という名前の Google Cloud Storage のロギングエンドポイントを変更する場合、cURL コマンドは以下のようになります。

1
$ curl -X PUT -H 'Fastly-Key: FASTLY_API_TOKEN' -H 'Content-Type: application/json' 'https://api.fastly.com/service/SU1Z0isxPaozGVKXdv0eY/version/1/logging/gcs/GCS%20Test' --data-binary '{"message_type":"blank"}'

Classic 形式を選択した場合、ログメッセージは標準的な syslog 形式で送信されます。この形式のプリフィックスは以下のようになります (RFC 3164で定義されています)。

1
<134>2016-07-04T22:37:26Z cache-sjc3128 LogTest[62959]: <your log message>

プリフィックスの先頭にはメッセージ優先度 (常に <134>、つまり Facility=Local0, Severity=Informational) が来ます。続いてログが送信された日時 (2016-07-04T22:37:26Z)、送信元のキャッシュノード (この場合は cache-sjc3128)、ログの名前 (LogTest)、そして送信するプロセスの ID (62959) が表示されています。

Back to Top