Compute@Edge ログストリーミング: Coralogix

Fastly の Compute@Edge サービスのリアルタイムログストリーミング機能では、ログファイルを Coralogix に送信することができます。Coralogix は 動的アラート比率ベースのアラートフローの異常検出、そして 脅威発見機能などで異常な動作を検出できる分析プラットフォームを提供しています。

注意

Fastly ではサードパーティのサービスに関する直接のサポートは行っておりません。詳細については、Fastly サービスの利用規約をご参照ください。

前提条件

まだ Coralogix のアカウントをお持ちでない場合、Coralogix の Web サイトの登録手順に従ってアカウントを登録する必要があります。登録が完了したら、Coralogix のダッシュボードの Settings セクションにある Send Your Logs エリアに移動し、固有の秘密鍵をメモします。この秘密鍵は、お客様が送信したデータをお客様のアカウントと関連付けるために、Coralogix によって使用されます。Fastly でエンドポイントを設定する際に必要となります。

Coralogix をログエンドポイントとして追加

以下の手順で、Coralogix をログエンドポイントとして追加します。

  1. RustAssemblyScript、および JavaScript で書かれた Compute@Edge コードでログ記録を実行する方法に関する詳細については Fastly の開発者向けドキュメントをご覧ください。
  2. HTTPS Create endpoint ボタンをクリックしてください。Create an HTTPS endpoint ページが表示されます。
  3. Create an HTTPS endpoint フィールドに次のように入力します。
    • Name フィールドに分かりやすいエンドポイントの名前を入力します。
    • Placement セクションでは、生成される VCL にログコールが配置される場所を選択します。有効な値は Format Version Defaultwaf_debug (waf_debug_log)None です。詳細については、ログ配置の変更に関するガイドをご参照ください。
    • URL フィールドに Coralogix の地域 FluentD API URL を入力します。詳細については、Coralogix のドキュメントをご参照ください。例えば、米国の Coralogix アカウントなら、 https://api.coralogix.us/logs/rest/singlesを使用します。
    • Maximum logs フィールドは、0 (デフォルト) のままにしておきます。
    • Maximum bytes フィールドに、2000000 を入力します。
  4. Create an HTTPS endpoint ページの Advanced options リンクをクリックします。Advanced options が表示されます。
  5. Create an HTTPS endpoint ページの Advanced options に次のように入力します。
    • Content type フィールドに application/json を入力します。
    • Custom header name フィールドに private_key を入力します。
    • Custom header value フィールドに、Coralogix の秘密鍵を入力します。
    • Method コントロールから、POST を選択します。
    • JSON log entry フォーマット コントロールから、Array of JSON を選択します。
    • Select a log line フォーマット コントロールはデフォルトのままにします。
    • TLS hostnameTLS CA certificateTLS client certificate、およびTLS client key フィールドを空所のままにします。
  6. Create ボタンをクリックすると、新しいログエンドポイントが作成されます。
  7. Activate ボタンをクリックして設定変更をデプロイします。
注意

Coralogix の場合、HTTPSドメイン所有の要件を満たすため、特に設定する必要はなく、その警告を無視しても問題ありません。

推奨されるログ形式

Coralogix に送信されるデータは、Coralogix の期待値に適合する方法でシリアル化する必要があります。ログが正しい形式でない場合、Coralogix エンドポイントでログを処理しようとすると、失敗する可能性があります。以下は、Coralogix にデータを送信するためのフォーマット文字列の例です。

1{
2 "timestamp": 1653088964764,
3 "applicationName": "fastly",
4 "subsystemName": "wasm",
5 "severity": 3,
6 "json": {
7 "message": "Request happened",
8 "response": {
9 "status":200
10 }
11 }
12}

Compute@Edge サービスの選択言語に関係なく、上記の一般的な JSON 構造を確認することができます。以下のフィールドは必須です。

  • timestampこのフィールドの形式は、ミリ秒です。

  • applicationNameアプリケーション名を入力します。

  • subsystemNameサブシステム名を入力します。これは、コンポーネントを分離するために使用されます。サブシステムを識別するのに分かりやすい、意味のあるサブシステム名を使用してください。

  • severityすべてのログの重大度は、1(デバッグ)、2(詳細)、3(情報)、4(警告)、5(エラー)、 および 6(クリティカル)のいずれかを選択して指定することができます。これは、以下のフィールドで説明されているように、抽出ルールを利用して変更することができます。

  • json (object)必要に応じて、ログの詳細を指定するために使用します。ネストされた JSON 形式はサポートされます。

    ネストされた response.status フィールドの指定は、リクエストのサービスを特定するための便利な方法です。Coralogix 解析ルールを使用すると、ログのステータスコード値でCoralogixインターフェイスの重大度フィールドにデータを入力するように JSON 抽出ルールを設定することができます。具体的には、HTTP ステータスコードを重大度の値を自動的にマッピングすることができます。例えば、2xx ステータスコードは Coralogix の深刻度を "INFO" とし、4xx ステータスコードは Coralogix の深刻度を "ERROR" とします。

    Coralogix Web コントロールパネルでは、以下のように表示されます :

    新しい Coralogix ルールの作成

Coralogix ダッシュボードとアラートの設定

Coralogixは、ダッシュボードやアラートを介して Fastly と自社サービスを統合するためのチュートリアルを提供しています。サービスの概要、ビジターの内訳、サービスの質など、Fastly のデータを使って作成されたデータダッシュボードの例が掲載されています。

チュートリアルでは、Fastly からのログの受信問題、オリジンでの障害、エラー率やキャッシュミスの増加、様々な異常や疑わしいリクエスト、Web サイトの改ざんなどの状況に応じてユーザー定義アラート設定する方法も説明されています。


翻訳についての注意事項
このガイドは役に立ちましたか?

このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合はお問い合わせください : support@fastly.com