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

Fastly の Compute@Edge サービスのリアルタイムログストリーミング機能では、ログファイルをSplunkに送信することができます。Splunk は、開発者や IT チームが使用するウェブベースのログ分析プラットフォームです。

注意

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

前提条件

Splunk をログエンドポイントとして使用するには、HTTP イベントコレクター (HEC) を有効にし、トークンを作成・有効にする必要があります。Splunk の Web サイトに掲載されている次の指示に従ってください。

  1. Enable HEC
  2. HEC トークンを作成します
  3. HEC トークンを有効にします
  4. ログストリーミングに Fastly が使用するトークンのインデクサー確認を無効にする

HEC トークンは忘れずに記憶しておいてください。また、コレクターの URL を特定する必要があります。URL の構造は、使用している Splunk インスタンスの種類によって異なります。Splunk インスタンスの URL 構造を、以下から選んでください。

種類URL
セルフホスト型https://<hostname>:8088/services/collector/event
セルフサービスの Splunk Cloud プランhttps://input-<hostname>:8088/services/collector/event
その他の Splunk Cloud プランhttps://http-inputs-<hostname>:8088/services/collector/event

Splunk にログインすると、Web ブラウザのアドレスバーで URL のホスト名を検索することができます。

Splunk をログエンドポイントとして追加する

Splunk アカウントを作成し、カスタマートークンを取得した後、Fastly Compute@Edge サービスのログエンドポイントとして、以下の指示に従って Splunk を追加してください。

  1. RustAssemblyScript、および JavaScript で書かれた Compute@Edge コードでログ記録を実行する方法に関する詳細については Fastly の開発者向けドキュメントをご覧ください。
  2. Splunk Create endpointボタンをクリックします。Create a Splunk endpoint ページが表示されます。
  3. Create a Splunk endpointフィールドに以下のように記入します。
    • Name フィールドに、Compute@Edge コードに指定した名前を入力します。例えば、Rust コードの例では、名前は my_endpoint_name です。
    • URLフィールドには、データを送信する URL を入力します (例:https://<splunk_host>:8088/services/collector/event/1.0)。
    • Tokenフィールドには、HEC のトークンを入力します。
    • Use TLS制御から、TLS を有効にするかどうかを選択します。Yes を選択すると、追加の TLS フィールドが表示されます。
    • TLS hostname フィールドに、ログの送信先サーバーの証明書を検証するためのホスト名を任意で入力します。これは、証明書のサブジェクト代替名 (SAN) フィールドの1つと同じである必要があります。コモンネーム (CN) はサポートされていません。Splunk Enterprise をご利用の場合は、詳細については、以下の[Splunk Enterprise](#splunk-enterprise)セクションを参照してください。
    • TLS CA certificateフィールドには、Splunk サーバーの証明書が有効であることを確認するために使用する CA 証明書を入力します。これは PEM 形式でなければなりません。Splunk 側の TLS 証明書が信頼できる認証局によって署名されている場合、その必要はありません。詳しくは TLS の CA 証明書を使用するセクションを参照してください。
    • TLS client certificateフィールドには、Splunk サーバーへの認証に使用する TLS クライアント証明書を任意でコピー&ペーストしてください。アップロードする TLS クライアント証明書は、PEM 形式で、クライアントキーを添付する必要があります。TLS クライアント証明書により、Fastly が接続を実行していることを Splunk サーバーが認証できるようになります。このフィールドは、Use TLS メニューから Yes を選択した場合にのみ表示されます。
    • TLS client keyフィールドには、Splunk サーバーへの認証に使用する TLS クライアントキーを任意でコピー&ペーストしてください。アップロードする TLS クライアントキーは、PEM 形式で、TLS クライアント証明書を添付する必要があります。TLS クライアントキーにより、Fastly が接続を実行していることを Splunk サーバーが認証できるようになります。
    • Maximum logsフィールドには、バッチに追加するログの最大数 (0以外) をオプションで入力します。
    • Maximum bytesフィールドには、ログバッチの最大サイズを任意で入力します。
  4. Create ボタンをクリックすると、新しいログエンドポイントが作成されます。
  5. Activate ボタンをクリックして設定変更をデプロイします。

推奨されるログ形式

Splunk HECに送信されるデータは、Splunkの期待に沿った方法でシリアル化する必要があります。

ログが正しくフォーマットされていない場合、Splunk エンドポイントによるログ処理の試行が失敗する可能性があります。以下は、Splunk にデータを送信するためのフォーマット文字列の例です。

1{
2 "time": 1652331824.730,
3 "source": "fastly",
4 "index": "main",
5 "event": {
6 "message": "Something happened",
7 "severity": "INFO"
8 }
9}

Compute@Edge サービスで使用する言語に関係なく、上記の一般的な JSON 構造を使用し、ネストされたevent構造内に具体的な詳細情報を含めることができます。Splunk HEC ログメッセージで使用できる他のオプションについては、Splunk ドキュメントをご参照ください。送信されたログは、有効な JSON としてフォーマットされる必要があります。

TLS の CA 証明書を使用する

Splunk Enterprise や Splunk Cloud にてご自身の TLS 証明書をインストールしている場合には、関連する CA 証明書を提供する必要があります。

Splunk Cloud

Splunk Cloud の場合、以下の CA 証明書がデフォルトで設定されています。

1-----BEGIN CERTIFICATE-----
2MIIB/DCCAaGgAwIBAgIBADAKBggqhkjOPQQDAjB+MSswKQYDVQQDEyJTcGx1bmsg
3Q2xvdWQgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRYwFAYDVQQHEw1TYW4gRnJhbmNp
4c2NvMRMwEQYDVQQKEwpTcGx1bmsgSW5jMQswCQYDVQQIEwJDQTEVMBMGA1UECxMM
5U3BsdW5rIENsb3VkMB4XDTE0MTExMDA3MDAxOFoXDTM0MTEwNTA3MDAxOFowfjEr
6MCkGA1UEAxMiU3BsdW5rIENsb3VkIENlcnRpZmljYXRlIEF1dGhvcml0eTEWMBQG
7A1UEBxMNU2FuIEZyYW5jaXNjbzETMBEGA1UEChMKU3BsdW5rIEluYzELMAkGA1UE
8CBMCQ0ExFTATBgNVBAsTDFNwbHVuayBDbG91ZDBZMBMGByqGSM49AgEGCCqGSM49
9AwEHA0IABPRRy9i3yQcxgMpvCSsI7Qe6YZMimUHOecPZWaGz5jEfB4+p5wT7dF3e
10QrgjDWshVJZvK6KGO7nDh97GnbVXrTCjEDAOMAwGA1UdEwQFMAMBAf8wCgYIKoZI
11zj0EAwIDSQAwRgIhALMUgLYPtICN9ci/ZOoXeZxUhn3i4wIo2mPKEWX0IcfpAiEA
128Jid6bzwUqAdDZPSOtaEBXV9uRIrNua0Qxl1S55TlWY=
13-----END CERTIFICATE-----

Splunk Enterprise

Splunk Enterprise では証明書のセットがデフォルトで提供されていますが、Fastly ログエンドポイント向けにご自身の証明書を設定することを強くお勧めします。Splunk Enterprise によって提供される証明書には Common Name (CN) のみが指定されているため、証明書を提示する Splunk ホスト ID の確認には適していません。また全ての Splunk Enterprise ダウンロードにおいて同じルート証明書が利用可能であるため、これらの証明書の安全性は高くありません。より優れたセキュリティ体制を維持するためにも、デフォルトの証明書に頼らず、お客様自身の証明書を設定することをお勧めします。Splunk ドキュメントにて独自の証明書を設定するためのガイドをご覧ください


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

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