ログ転送:その他(手動アップロード) log-forwarding-other
その他の BYOCDN プロビジョニング方法は、次の場合に CDN ログを LLM Optimizer に指定するお客様向けの包括的なオプションです。
- 手動アップロードを推奨する場合 - 例:運用チームがログを書き出し、定期的にアップロードする。
- アドホック自動処理プロセスを使用する場合 - 1 回限りのスクリプト、スケジュールされた書き出し、サーバーレスジョブ。
- お客様が、組み込みのログ転送統合でネイティブにサポートされていない CDN を使用している場合。
この方法は「継続転送」モデルを模倣しています。ログが生成され、想定される S3 の場所にアップロードされ、最終的に取り込みパイプラインにより自動的に処理されます。
手順 1:LLM Optimizer でオンボード step-1
LLM Optimizer で次の手順に従います。
-
設定に移動します。
-
「CDN 設定」タブをクリックします。
-
「開始」をクリックします。
-
「AI トラフィックインサイトをアクティブ化」の横にある「設定」をクリックします。
-
「その他」を選択します。
-
「オンボード」をクリックします。
手順 2:ログを準備してアップロード step-2
必須ログ形式(JSON 行) log-format
ログは、改行区切りの JSON 形式(1 行に 1 つの JSON オブジェクト)でアップロードする必要があります。 各ログ行には、次のフィールドを 下記に記載されているとおりに正確に 含める必要があります。
フィールドごとのスキーマ schema
"2025-02-01T23:00:05Z""www.example.com""/home?utm_source=google""GET""Mozilla/5.0 (compatible; GPTBot/1.0""https://chatgpt.com"200"text/html; charset=utf-8"42ログ行の例 example
次の例は、3 つのログ行を示しています。
{"timestamp":"2025-02-01T23:06:14Z","host":"www.example.com","url":"/products/llm-optimizer?utm_source=google","request_method":"GET","request_user_agent":"Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)","response_status":200,"request_referer":"","response_content_type":"text/html; charset=utf-8","time_to_first_byte":198}
{"timestamp":"2025-02-01T23:19:32Z","host":"www.example.com","url":"/services/ai-consulting/overview","request_method":"GET","request_user_agent":"PerplexityBot/1.0 (+https://www.perplexity.ai/perplexitybot)","response_status":200,"request_referer":"","response_content_type":"text/html; charset=utf-8","time_to_first_byte":255}
{"timestamp":"2025-02-01T23:44:05Z","host":"www.example.com","url":"/products/pricing/enterprise?utm_medium=social","request_method":"GET","request_user_agent":"ClaudeBot/1.0 (+https://www.anthropic.com)","response_status":200,"request_referer":"","response_content_type":"application/pdf","time_to_first_byte":312}
重要な免責事項(スペルとタイプ) disclaimer
取り込みおよび集計パイプラインは、フィールド名とデータタイプについて厳格です。
-
フィールド名は、(大文字と小文字、スペルが)完全に一致する必要があります。
-
データタイプは、次のとおり正しく指定する必要があります。
- timestamp は、ISO 8601 形式の文字列にする必要があります。 UNIX 形式のタイムスタンプは正しく動作しない場合があります。
- response_status は整数にする必要があります。
- time_to_first_byte は整数にし、ミリ秒を使用する必要があります。
- 文字列は、有効な JSON 文字列にする必要があります。
-
JSON の形式が不正であったり、フィールドが欠落/不正確であったりすると、ログがスキップされたり、解析に失敗したりして、レポートにデータが欠落する場合があります。
アップロード場所と処理ケイデンス upload-location
パスルール path-rule
ログは、yyyy/mm/dd/(スラッシュを含む)の形式を使用して、適切なフォルダーパスにアップロードします。
2025年2月1日(UTC)のログ例:ABC123AdobeOrg/raw/byocdn-other/2025/02/01/
処理ルール processing-rule
- 特定の UTC 日中にアップロードされたログは、その UTC 日の終わり頃にパイプラインにより処理されます(毎日実行)。
- 前日のフォルダーにアップロードされたログ(バックフィル)は、24 時間以内に 検出および処理 されます。
シナリオ scenarios
シナリオ 1:Splunk/Elasticsearch のログ - 書き出して S3 にアップロード scenario-splunk
目標:既存の確認性の高いプラットフォームからログを取得し、S3 の場所に配信します。
- Splunk/Elasticsearch のイベントから必須フィールドを抽出します。
- 上記のスキーマ(JSON 行)に従って、各イベントを 1 つの JSON オブジェクトに変換します。
- 生成されたファイルを、指定された S3 バケットと 現在の UTC 日 パス(
…/byocdn-other/yyyy/mm/dd/)にアップロードします。 - ログは、UTC 日の終わりまでに自動的に処理されます。
シナリオ 2:Lambda/Azure 関数 - 書式設定して S3 にアップロード scenario-serverless
目標:サーバーレス計算を使用して CDN ログを取得/受信し、正規化して、S3 の場所に配信します。
- 関数は、顧客のソース(ログストア、キュー、Blob Storage など)からログを取得します。
- 関数は、フィールドを想定されるスキーマにマッピングし、JSON 行を出力します。
- 関数は出力を
…/byocdn-other/yyyy/mm/dd/にアップロードします。 - ログは、UTC 日の終わりまでに自動的に処理されます。
クイックチェックリスト checklist
- 1 行あたり 1 つの JSON オブジェクト(JSON 行)であること
- 指定された フィールド名とスペルが一致 していること
- 正しいデータタイプであること
- time_to_first_byte がミリ秒単位(整数)であること
- 適切な UTC フォルダー(byocdn-other の下にある yyyy/mm/dd/)にアップロードしていること