Compute@Edge ログストリーミング:Splunk
最終更新日 2022-05-31
Fastly の Compute@Edge サービスのリアルタイムログストリーミング機能では、ログファイルをSplunkに送信することができます。Splunk は、開発者や IT チームが使用するウェブベースのログ分析プラットフォームです。
注意
Fastly ではサードパーティのサービスに関する直接のサポートは行っておりません。詳細については、Fastly サービスの利用規約をご参照ください。
前提条件
Splunk をログエンドポイントとして使用するには、HTTP イベントコレクター (HEC) を有効にし、トークンを作成・有効にする必要があります。Splunk の Web サイトに掲載されている次の指示に従ってください。
- Enable HEC。
- HEC トークンを作成します。
- HEC トークンを有効にします。
- ログストリーミングに 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 を追加してください。
- Rust、AssemblyScript、および JavaScript で書かれた Compute@Edge コードでログ記録を実行する方法に関する詳細については Fastly の開発者向けドキュメントをご覧ください。
- Splunk Create endpointボタンをクリックします。Create a Splunk endpoint ページが表示されます。
- 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 フィールドが表示されます。
、詳細については、以下の 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 フィールドには、ログバッチの最大サイズを任意で入力します。
- Name フィールドに、Compute@Edge コードに指定した名前を入力します。例えば、Rust コードの例では、名前は
- Create ボタンをクリックすると、新しいログエンドポイントが作成されます。
- 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+MSswKQYDVQQDEyJTcGx1bmsg3Q2xvdWQgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRYwFAYDVQQHEw1TYW4gRnJhbmNp4c2NvMRMwEQYDVQQKEwpTcGx1bmsgSW5jMQswCQYDVQQIEwJDQTEVMBMGA1UECxMM5U3BsdW5rIENsb3VkMB4XDTE0MTExMDA3MDAxOFoXDTM0MTEwNTA3MDAxOFowfjEr6MCkGA1UEAxMiU3BsdW5rIENsb3VkIENlcnRpZmljYXRlIEF1dGhvcml0eTEWMBQG7A1UEBxMNU2FuIEZyYW5jaXNjbzETMBEGA1UEChMKU3BsdW5rIEluYzELMAkGA1UE8CBMCQ0ExFTATBgNVBAsTDFNwbHVuayBDbG91ZDBZMBMGByqGSM49AgEGCCqGSM499AwEHA0IABPRRy9i3yQcxgMpvCSsI7Qe6YZMimUHOecPZWaGz5jEfB4+p5wT7dF3e10QrgjDWshVJZvK6KGO7nDh97GnbVXrTCjEDAOMAwGA1UdEwQFMAMBAf8wCgYIKoZI11zj0EAwIDSQAwRgIhALMUgLYPtICN9ci/ZOoXeZxUhn3i4wIo2mPKEWX0IcfpAiEA128Jid6bzwUqAdDZPSOtaEBXV9uRIrNua0Qxl1S55TlWY=13-----END CERTIFICATE-----
Splunk Enterprise
Splunk Enterprise では証明書のセットがデフォルトで提供されていますが、Fastly ログエンドポイント向けにご自身の証明書を設定することを強くお勧めします。Splunk Enterprise によって提供される証明書には Common Name (CN) のみが指定されているため、証明書を提示する Splunk ホスト ID の確認には適していません。また全ての Splunk Enterprise ダウンロードにおいて同じルート証明書が利用可能であるため、これらの証明書の安全性は高くありません。より優れたセキュリティ体制を維持するためにも、デフォルトの証明書に頼らず、お客様自身の証明書を設定することをお勧めします。Splunk ドキュメントにて独自の証明書を設定するためのガイドをご覧ください。