ゼファーネットのロゴ

Amazon Data Firehose を使用して、解凍された Amazon CloudWatch Logs を Amazon S3 および Splunk に配信する |アマゾン ウェブ サービス

日付:

あなたが使用することができます Amazon データ ファイアホース でキャプチャされたアプリケーションおよびサービスからのログ イベントを集約して配信します。 Amazon CloudWatchログ あなたへ Amazon シンプル ストレージ サービス データ分析、セキュリティ分析、アプリケーションのトラブルシューティングなどのユースケース向けの (Amazon S3) バケットと Splunk の宛先。デフォルトでは、CloudWatch Logs は gzip 圧縮されたオブジェクトとして配信されます。アプリケーションの監視と監査のために、データを解凍したり、ログを Splunk に配信したりする場合がありますが、これには解凍されたデータ入力が必要です。

AWS は、Firehose での CloudWatch Logs の解凍をサポートする機能をリリースしました。この新機能を使用すると、Firehose で CloudWatch Logs を解凍するオプションを指定できます。を使用して追加の処理を実行する必要はなくなりました。 AWSラムダ または後処理して解凍されたログを取得し、解凍されたデータを Splunk に配信できます。さらに、CloudWatch Logs を Parquet または ORC に変換するレコード形式変換や、データ内のキー (月ごとなど) に基づいてストリーミング レコードを自動的にグループ化し、グループ化されたレコードを対応するレコードに配信する動的パーティショニングなどのオプションの Firehose 機能を使用できます。 Amazon S3 プレフィックス。

この投稿では、Splunk および Amazon S3 の宛先に対して解凍機能を有効にする方法を説明します。まず Splunk、次に新しいストリーム用の Amazon S3 を使用してから、この機能を活用して既存のパイプラインを簡素化するための移行手順に取り組みます。

Splunk の CloudWatch Logs を解凍する

CloudWatch ログ グループのサブスクリプション フィルターを使用して、Firehose に直接、または Firehose 経由でデータを取り込むことができます。 Amazon Kinesisデータストリーム.

注: CloudWatch Logs の解凍機能には、 HTTPイベントコレクター (HEC) Splunk で作成されたデータ入力。インデクサー確認応答が有効になっており、 ソースの種類。これは、解凍されたログの正しいソース タイプにマッピングするために必要です。 HEC 入力を作成するときは、ソース タイプ マッピングを含めます (例: aws:cloudtrail).

解凍機能用の Firehose 配信ストリームを作成するには、次の手順を実行します。

  1. 目的地設定を提供し、選択します 生のエンドポイント エンドポイントタイプとして。

解凍機能の生のエンドポイントを使用して、生のイベント データと JSON 形式のイベント データの両方を Splunk に取り込むことができます。たとえば、VPC フロー ログ データは生データであり、 AWS クラウドトレイル データはJSON形式です。

  1. の HEC トークンを入力してください 認証トークン.
  2. 解凍機能を有効にするには、選択を解除します。 ソース レコードを AWS Lambda で変換するレコードを変換する.
  3. 選択 解凍をオンにする & メッセージ抽出をオンにする for Amazon CloudWatch Logs からソースレコードを解凍する.
  4. 選択 メッセージ抽出をオンにする Splunk の宛先の場合。

メッセージ抽出機能

解凍後の CloudWatch Logs は、次の図に示すように JSON 形式になります。解凍されたデータには、次のようなメタデータ情報が含まれていることがわかります。 logGroup, logStream, subscriptionFilters、実際のデータはその中に含まれています message 下のフィールド logEvents (次の例は、CloudWatch Logs 内の CloudTrail イベントの例を示しています)。

メッセージ抽出を有効にすると、次の図に示すように、Firehose はメッセージ フィールドの内容だけを抽出し、間に改行を入れて内容を連結します。この機能で CloudWatch Logs メタデータがフィルタリングされると、Splunk は実際のログ データを正常に解析し、HEC トークンで設定されたソース タイプにマッピングします。

さらに、これらの CloudWatch イベントを Splunk 宛先にリアルタイムで配信したい場合は、次のように使用できます。 ゼロバッファリング、Firehose で最近リリースされた新機能です。この機能を使用して、バッファ間隔として 0 秒を設定することも、0 ~ 60 秒の間の任意の時間間隔を設定して、数秒以内にリアルタイムで Splunk 宛先にデータを配信することもできます。

これらの設定により、Firehose を使用して、解凍された CloudWatch ログ データを Splunk にシームレスに取り込むことができるようになります。

Amazon S3 の CloudWatch Logs を解凍する

Amazon S3 宛先の CloudWatch Logs 解凍機能は Splunk と同様に機能し、Lambda を使用したデータ変換をオフにして、解凍およびメッセージ抽出オプションをオンにすることができます。解凍機能を使用して、ログ データをテキスト ファイルとして Amazon S3 宛先に書き込むことも、Parquet や ORC を使用したレコード形式変換やデータを分割するための動的パーティショニングなどの他の Amazon S3 宛先機能と併用することもできます。

解凍を伴う動的パーティショニング

Amazon S3 宛先の場合、Firehose は動的パーティショニングをサポートしています。これにより、データ内のキーを使用してストリーミング データを継続的に分割し、これらのキーによってグループ化されたデータを対応する Amazon S3 プレフィックスに配信できます。これにより、次のようなサービスを使用して、Amazon S3 のストリーミング データに対して高パフォーマンスでコスト効率の高い分析を実行できるようになります。 アマゾンアテナ, アマゾンEMR, AmazonRedshiftスペクトラム, アマゾンクイックサイト。データをパーティション分割すると、スキャンされるデータの量が最小限に抑えられ、パフォーマンスが最適化され、Amazon S3 での分析クエリのコストが削減されます。

新しい解凍機能を使用すると、CloudWatch Logs でパーティショニング キーをマッピングするための Lambda 関数を使用せずに動的パーティショニングを実行できます。有効にすることができます JSONのインライン解析 オプションで、解凍されたログ データをスキャンし、パーティション キーを選択します。次のスクリーンショットは、CloudTrail レコードのアカウント ID と AWS リージョンに対して選択されたパーティショニング スキーマを使用して、CloudTrail ログ データに対してインライン解析が有効になっている例を示しています。

解凍を伴うレコード形式の変換

CloudWatch Logs データの場合、Amazon S3 宛先の解凍されたデータに対してレコード形式変換機能を使用できます。 Firehose は入力データ形式を JSON から アパッチパーケット or Apache ORC データを Amazon S3 に保存する前に。 Parquet と ORC は、JSON などの行指向形式と比較してスペースを節約し、より高速なクエリを可能にする列指向のデータ形式です。次のレコード形式変換機能を使用できます。 レコードの変換と変換 CloudWatch ログ データを Parquet または ORC 形式に変換するための設定。次のスクリーンショットは、Parquet 形式のレコード形式変換設定の例を示しています。 AWSグルー CloudTrail ログ データのスキーマとテーブル。動的パーティショニング設定が構成されている場合、レコード形式変換は動的パーティショニングと連携して機能し、ターゲット S3 バケット内にパーティション フォルダ構造を持つ出力形式でファイルを作成します。

既存の配信ストリームを移行して解凍する

解凍に Lambda を使用する既存の Firehose ストリームを Firehose のこの新しい解凍機能に移行する場合は、「」で概説されている手順を参照してください。 解凍の有効化と無効化.

価格(英語)

Firehose 解凍機能はデータを解凍し、解凍されたデータの GB ごとに料金がかかります。解凍の料金については、以下を参照してください。 Amazon Data Firehoseの料金.

クリーンアップ

今後料金が発生しないようにするには、作成したリソースを次の順序で削除します。

  1. CloudWatch Logs サブスクリプション フィルターを削除します。
  2. Firehose 配信ストリームを削除します。
  3. S3バケットを削除します。

まとめ

Firehose の解凍およびメッセージ抽出機能により、コード開発や追加の処理を必要とせずに、Amazon S3 および Splunk の宛先への CloudWatch Logs の配信が簡素化されます。 Amazon S3 宛先の場合、解凍されたデータに対して Parquet または ORC 変換および動的パーティショニング機能を使用できます。

詳細については、次のリソースを参照してください。


著者について

ランジット・カリダサン マサチューセッツ州ボストンを拠点とするアマゾン ウェブ サービスのシニア ソリューション アーキテクトです。彼はパートナー ソリューション アーキテクトであり、セキュリティ ISV パートナーが AWS とソリューションを共同構築および共同マーケティングするのを支援しています。彼は、IT 分野で 25 年以上の経験を持ち、世界中の顧客がセキュリティと分析のための複雑なソリューションを実装できるよう支援しています。 Ranjit に接続できます LinkedIn.

ファニーンドラ・ヴリヤラゴリ は、AW​​S の Amazon Data Firehose の製品管理リードです。この役割において、Phaneendra は Amazon Data Firehose の製品および市場投入戦略を主導します。

スポット画像

最新のインテリジェンス

スポット画像