ログのフォーマット変更

Fastlyのリアルタイムログストリーミング機能では、選択したログエンドポイントに配信されるログメッセージの形式を変更できます。デフォルトでは、標準の 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)と続きます。

利用可能なメッセージフォーマット

デフォルトのメッセージフォーマットのプリフィックスは、ほとんどのログサービスで処理できますが、下記に変更することも可能です。

  • classic はデフォルトのプリフィックスです。RFC 3164 で定義されている標準 syslog 形式となります。
  •  logglyRFC 5424 に基づいた構造化された syslog プリフィックス形式です。
  •  logplex は Heroku 形式に対応しています。プリフィックス付き syslog 形式
  •  blank はプリフィックスがなく、ログメッセージのみの形式です。JSON ファイルや CSV ファイルとして書き込むときに便利です。

メッセージフォーマットの変更

多くのログエンドポイントは、コントロールパネルまたは API を使用してデフォルト以外のログメッセージフォーマットに設定変更することができます。

コントロールパネルでの設定変更

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

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

    the logging endpoints page

  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/<log type>/<log name>' --data-binary '{"message_type":"<type>"}'

message_type フィールドはオブジェクト単位の設定であることに注意してください。ある1つのログオブジェクトで変更しても、他のオブジェクトには影響ありません。

たとえば "GCS Test" という名前の Google Cloud Storage エンドポイントのメッセージタイプを blank に設定する 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"}'
Back to Top