メインコンテンツまでスキップ
Sumo Logic Japanese

Amazon S3 監査アプリケーションのログの収集

Amazon Simple Storage Service (S3) には、Web 上のあらゆる場所で任意のボリュームのデータを保存および取得するために使用できるシンプルな Web サービス インターフェイスがあります。

このトピックでは、Amazon S3 監査のログを収集して Sumo Logic に取り込む方法について詳しく説明します。

ログ タイプ

Amazon S3 監査はサーバ アクセス ログ (アクティビティ ログ) を使用します。ログの形式の詳細については、次のサイトを参照してください。

http://docs.aws.amazon.com/AmazonS3/latest/dev/LogFormat.html

AWS でのログの設定

S3 バケットからのログの収集を開始する前に、次の手順を実行してください。

  1. AWS S3 バケットへのアクセス権を付与します
  2. AWS マネジメント コンソールを使用してログを有効にします
  3. ログが S3 バケットに転送されることを確認します。

コレクタの設定

Sumo Logic で、ホスト型コレクタを設定します。

S3 監査ソースの設定

AWS Sources

フィールド抽出ルール

フィールド抽出ルール (FER) により、どのフィールドを自動的にパースするかが Sumo Logic に指示されます。手順については、「フィールド抽出ルールの作成」を参照してください。

次のパース式を使用します。

parse "* * [*] * * * * * \"* HTTP/1.1\" * * * * * * * \"*\" *" as bucket_owner, bucket, time, remoteIP, requester, request_ID, operation, key, request_URI, status_code, error_code, bytes_sent, object_size, total_time, turn_time, referrer, user_agent, version_ID

ログ メッセージのサンプル

サーバ アクセス ログ ファイルは、改行区切りのログ レコードのシーケンスで構成されます。各ログ レコードは 1 つのリクエストを表し、スペース区切りのフィールドで構成されます。次に、6 つのログ レコードで構成されるログの例を示します。

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be mybucket [06/Feb/2014:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 3E57427F3EXAMPLE REST.GET.VERSIONING - "GET /mybucket?versioning HTTP/1.1" 200 - 113 - 7 - "-" "S3Console/0.4" - 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be mybucket [06/Feb/2014:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 891CE47D2EXAMPLE REST.GET.LOGGING_STATUS - "GET /mybucket?logging HTTP/1.1" 200 - 242 - 11 - "-" "S3Console/0.4" - 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be mybucket [06/Feb/2014:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be A1206F460EXAMPLE REST.GET.BUCKETPOLICY - "GET /mybucket?policy HTTP/1.1" 404 NoSuchBucketPolicy 297 - 38 - "-" "S3Console/0.4" - 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be mybucket [06/Feb/2014:00:01:00 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 7B4A0FABBEXAMPLE REST.GET.VERSIONING - "GET /mybucket?versioning HTTP/1.1" 200 - 113 - 33 - "-" "S3Console/0.4" - 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be mybucket [06/Feb/2014:00:01:57 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be DD6CC733AEXAMPLE REST.PUT.OBJECT s3-dg.pdf "PUT /mybucket/s3-dg.pdf HTTP/1.1" 200 - - 4406583 41754 28 "-" "S3Console/0.4" - 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be mybucket [06/Feb/2014:00:03:21 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be BC3C074D0EXAMPLE REST.GET.VERSIONING - "GET /mybucket?versioning HTTP/1.1" 200 - 113 - 28 - "-" "S3Console/0.4" -

クエリのサンプル

| parse "* * [*] * * * * * \"* HTTP/1.1\" * * * * * * * \"*\" *" as bucket_owner, bucket, time, remoteIP, requester, request_ID, operation, key, request_URI, status_code, error_code, bytes_sent, object_size, total_time, turn_time, referrer, user_agent, version_ID
| parse regex field=operation "[A-Z]+\.(?<operation>[\w.]+)"
| count by operation

  • この記事は役に立ちましたか?