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

AWS Source

AWS Source を作成したら、Hosted Collector に関連付けます。Source を作成する前に、使用する Hosted Collector を指定するか、新しい Hosted Collector を作成します。この手順については、「Hosted Collector を設定する」を参照してください。

ルール

  • Sumo Logic では、S3 にアップロードされた後も変更されないログ ファイル (S3 オブジェクト) のみがサポートされます。ログ記録の方法が、S3 バケットに格納されているファイルの更新によって変わる場合は、サポートされません。
  • Glacier のオブジェクトは収集されず、無視されます。
  • SNS を使用している場合は、Source ごとに個別のトピックとサブスクリプションを作成する必要があります。

S3 イベント通知の統合

Sumo の S3 統合によって、スキャン ベースの検出とイベント ベースの検出が 1 つの統合機能へと結合されます。これにより、新しいコンテンツの統合で短時間のレイテンシを維持しながら、データの欠落が発生しない堅牢性を実現できます。イベント ベースの通知を有効にすると、S3 によって、Sumo Logic からサブスクライブ可能な Amazon Simple Notification Service (SNS) のトピックに、新しいファイルが自動的に公開されます。これにより、新しいファイルが S3 バケットに追加されると即座に Sumo Logic に通知されるため収集が可能になります。SNS の詳細については、Amazon SNS 製品の詳細ページを参照してください。

AWS event notifications diagram.png

イベント ベースの通知の有効化は、SNS トピックをサブスクライブする S3 バケット レベルの操作です。SNS トピックは、Sumo Logic がイベント通知を受信するために動的にサブスクライブできるアクセス ポイントです。S3 バケットから収集する Source を作成すると、Sumo でその Source にエンドポイント URL が割り当てられます。この URL は、SNS トピックへの AWS サブスクリプションで使用するためのもので、新しいファイルがあると AWS から Sumo に通知されます。詳細については、「Amazon S3 イベント通知の設定」を参照してください。

AWS から Sumo Logic への通信については、試行する方法とタイミングの設定を調整できます。詳細は、「HTTP/HTTPS エンドポイントに対する Amazon SNS 配信再試行ポリシーの設定」を参照してください。

AWS Source の作成

ここで説明する設定手順は、すべての AWS Source タイプからのログ収集が対象となります。手順 3 で Source に合った Source タイプを選択します。

  1. Sumo Logic で [Manage Data (データの管理)] > [Collection (コレクション)] > [Collection (コレクション)] を選択します。 
  2. [Collectors] ページで、既存の Hosted Collector、またはこの目的で作成した Hosted Collector の横にある [Add Source (Source を追加)] をクリックします。
  3. 使用する AWS Source タイプを選択します。
  4. 新しい Source の名前を入力します。必要に応じて説明を入力します。
  5. S3 リージョンを選択するか、デフォルト値の [Others (その他)] をそのまま使用します。S3 リージョンは、Amazon アカウントで作成された該当する S3 バケットに適合している必要があります。
  6. [Bucket Name (バケット名)] に、組織の S3 バケットの正確な名前を入力します。AWS に表示されている名前を再度確認してください。次に例を示します。
    S3_Bucket_name.png
  7. [Path Expression (パス式)] に、収集する S3 オブジェクトに一致するワイルドカード パターンを入力します。この文字列では、ワイルドカード (*) を 1 つ使用できます。繰り返し使用されるパス式には 1 つのワイルドカードを使用します。先頭にはスラッシュを使用しないでください。詳細は、「Amazon のパス式」を参照してください。
  8. Collection should begin (コレクションの開始点): ログ履歴の収集をどこまで遡って開始するかを選択または入力します。以下のいずれかを実行します。
    • 「Now (現在)」から「72 hours ago (72 時間前)」、「All Time (すべての時間)」までの範囲のドロップダウン リストから定義済みの値を選択します。または、
    • 相対値を入力します。相対値を入力するには、[Collection should begin (コレクションの開始点)] フィールドをクリックし、キーボードで削除キーを押してフィールドをクリアします。次に、-1w などの相対時間表現を入力します。月 (M)、週 (w)、日 (d)、時間 (h)、および分 (m) を使用してコレクションの開始時期を定義できます。
  9. [Source Category] に、この Source から収集された出力にタグを付けるために、任意の文字列を入力します。(カテゴリ メタデータは、_sourceCategory という名前の検索可能フィールドに保存されます。)
  10. Fields (フィールド): [+Add Field (+ フィールドの追加)] リンクをクリックすると、カスタム ログ メタデータ フィールドが追加されます。
    • 関連付けるフィールドを定義します。各フィールドには、名前 (キー) と値が必要です。 
      • green check circle.png [Fields (フィールド)] テーブル スキーマにフィールドが存在し、有効化されている場合は、チェック マークを含む緑色の円が表示されます。
      • orange exclamation point.png [Fields (フィールド)] テーブル スキーマにフィールドが存在しない場合、またはフィールドが無効化されている場合は、感嘆符を含む橙色の三角形が表示されます。この場合は、存在しないフィールドを [Fields (フィールド)] テーブル スキーマに自動的に追加する、または有効化するオプションが表示されます。[Fields (フィールド)] スキーマに存在しないフィールドが Sumo に送信された場合、または無効化された場合、このフィールドは無視され、削除済みとして認識されます。
  11. AWS へのアクセスについては、2 つのアクセス方法を選択できます。提供している AWS 認証に基づいて、ロール ベースのアクセスか、キー アクセスを選択します。推奨されるのはロール ベースのアクセスで、これは、前提条件である AWS 製品への Sumo Logic のアクセス権の付与の手順で完了しています。
    • ロール ベースのアクセスの場合、ロールを作成した後に AWS によって提供されるロール ARN を入力します。 
      Role based access input roleARN.png
    • [Key access (キー アクセス)] では、アクセス キー ID秘密アクセス キーを入力します。詳細は、AWS アクセス キー IDAWS シークレット アクセス キーの説明を参照してください。
  12. Log File Discovery (ログ ファイルの検出)。S3 バケットの新しいアイテムについて Sumo Logic に通知するように Amazon Simple Notification Service (SNS) を設定することもできます。ログ ファイルを検出するには、スキャン間隔が必要であり、自動的に適用されます。
    • Scan Interval (スキャン間隔)。Sumo Logic は、SNS 通知に加えて、定期的に S3 バケットをスキャンして新しいアイテムを探します。追加の AWS 料金が発生しないように、[Automatic (自動)] を選択することをお勧めします。この設定では、SNS トピックのエンドポイントをサブスクライブしているかどうかと、長期的な新しいファイルの検出頻度に基づいてスキャン間隔が設定されます。S3 バケットをスキャンして新しいデータを検出する頻度の設定を入力することもできます。スキャン間隔の検討については、以下の「S3 スキャン間隔の設定について」を参照してください。
    • SNS Subscription Endpoint (SNS サブスクリプション エンドポイント) (省略可能)。Sumo Logic で通知が受信されると、即座に新しいファイルが収集されます。これにより、次のスキャンまで新しいファイルが検出されるのを待機する必要がなくなり、収集が高速化されます。
      1. サブスクリプションを設定するには、AWS に提供するエンドポイント URL を Sumo から取得する必要があります。このプロセスにより、Source が保存され、エンドポイント URL が生成されたときに S3 バケットのスキャンが開始されます。[Create URL (URL を作成)] をクリックします。手順 C でサブスクリプションを作成するときに提供されたエンドポイント URL を使用します。
        SNS create URL button.png

AWS での SNS のセットアップ (省略可能)
  1. [Services (サービス)] > [Simple Notification Service] に移動して、[Create Topic (トピックを作成)] をクリックします。[Topic name (トピック名)] に入力し、[Create Topic (トピックを作成)] をクリックします。提供されるトピック ARN をコピーします。次の手順でこれが必要になります。

  2. 再度、[Services (サービス)] > [Simple Notification Service] に移動して、[Create Subscription (サブスクリプションを作成)] をクリックします。上記手順 B のトピック ARN を貼り付けます。プロトコルに HTTPS を選択し、Sumo Logic で S3 Source を作成するときに提供されたエンドポイント URL を入力します。[Create subscription (サブスクリプションを作成)] をクリックすると、確認リクエストが Sumo Logic に送信されます。このリクエストは、Sumo Logic によって自動的に確認されます。

  3. 手順 B で作成したトピックを選択して、[Actions (アクション)] > [Edit Topic Policy (トピックポリシーの編集)] の順に移動します。次のポリシー テンプレートを使用して、JSON ポリシーの Resource セクションにある SNS-topic-ARNbucket-name のプレースホルダを実際の SNS トピックの ARN と S3 バケット名に置き換えます。

    {
        "Version": "2008-10-17",
        "Statement": [{
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "SNS:Publish"
            ],
            "Resource": "SNS-topic-ARN",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:s3:*:*:bucket-name"
                }
            }
        }]
    }

  4. [Services (サービス)] > [S3] に移動して、通知を添付するバケットを選択します。[Properties (プロパティ)] > [Events (イベント)] > [Add Notification (通知の追加)] に移動します。[Name (名前)] にイベント通知の名前を入力します。[Events (イベント)] セクションで、[All object create events (すべてのオブジェクトがイベントを作成)] を選択します。[Send to (送信先)] セクション (通知の宛先) で、[SNS Topic (SNS トピック)] を選択します。[SNS] セクションが利用可能になります。ドロップダウンから、手順 B で作成したトピックの名前を選択します。[Save (保存)] をクリックします。

Sumo でのセットアップの完了
  1. [Advanced (詳細)] で以下のいずれかを設定します。
  • Enable Timestamp Parsing (タイムスタンプ parse の有効化): デフォルトでは、このオプションはオンになっています。オフにすると、タイムスタンプ情報は parse されません。
    • Time Zone (タイム ゾーン): タイム ゾーンには 2 つのオプションがあります。ログ ファイル内のタイム ゾーンを使用できます。その後にタイム ゾーン情報がログ メッセージにない場合のオプションを選択します。または、Sumo Logic がログ内のタイム ゾーン情報を無視するように設定する場合は、タイム ゾーンを強制適用します。どのオプションを選択する場合でも、適切なタイム ゾーンを設定することが重要です。ログのタイム ゾーンを判断できない場合、Sumo Logic はログに UTC を割り当てます。ログの残りの部分が他のタイム ゾーンの場合は、検索結果に影響があります。
    • Timestamp Format (タイムスタンプ形式)。デフォルトでは、Sumo Logic はログのタイム スタンプ形式を自動的に検出します。ただし、Source のタイムスタンプ形式を手動で指定することができます。詳細は、「タイムスタンプ、タイム ゾーン、時間範囲、および日付フォーマット」を参照してください。
  • Enable Multiline Processing (複数行の処理の有効化)。複数行処理とそのオプションの詳細は、「複数行のログの収集」を参照してください。デフォルトでは、有効になっています。複数行メッセージ (log4J や例外スタック トレースなど) を使用する場合は、このオプションを使用します。single-message-per-line (1 行に 1 つのメッセージ) ファイル (Linux system.log など) の収集時に不要な処理を避けるには、このオプションの選択をオフにします。次のいずれかを選択してください。  
    • Infer Boundaries (境界の推定): 同じメッセージに含まれる行を自動判定する場合は、有効にします。[Infer Boundaries (境界の推定)] オプションをオフにすると、複数行メッセージの先頭行全体の検出に使用する [Boundary Regex (境界正規表現)] フィールドに正規表現を入力する必要があります。
    • Boundary Regex (境界正規表現): 正規表現を使用してメッセージ間の境界を指定できます。ログ ファイル内のすべての複数行メッセージの先頭行全体に一致する正規表現を入力します。
  1. AWS Source に必要な処理ルールを作成します。
  2. Source の設定が完了したら、[保存] をクリックします。

1 つのバケットと複数の Source を使用する SNS

複数の Sumo Source を使用して 1 つの AWS S3 バケットから収集を行う場合は、Source ごとに別々のトピックとサブスクリプションを作成する必要があります。サブスクリプションと Sumo Source のマッピング先は、両方とも 1 つのエンドポイントのみにする必要があります。複数のサブスクリプションが必要な場合、Sumo は、オブジェクトを複数回収集します。

コレクションが重複しないようにするため、各トピックには、別々のフィルタ (接頭辞/接尾辞) が必要です。たとえば、次の画像に示すバケットの設定では、異なるフォルダ内の新規オブジェクトについて別々に Sumo に通知するためのフィルタ (接頭辞/接尾辞) が設定された 2 つの通知が使用されています。
S3 bucket two notifications for SNS.png

S3 イベント通知を使用するように Source を更新

  1. Sumo Logic で [Manage Data (データの管理)] > [Collection (コレクション)] > [Collection (コレクション)] を選択します。
  2. [Collection (コレクション)] ページで、Source に移動して [Edit (編集)] をクリックします。[Log File Discovery (ログ ファイルの検出)] までスクロールし、提供されたエンドポイント URL を書き留めます。サブスクリプションを作成するときに、手順 10.C でこれを使用します。
  3. SNS 通知を設定するには、手順 10.B から 10.E を実行します。

S3 イベント通知のトラブルシューティング

[Log File Discovery (ファイル検出のログを記録する)] の下の Web インターフェイスには、赤い感嘆符とともに「Sumo Logic has not received a validation request from AWS (Sumo Logic では AWS から検証リクエストを受信していません)」というメッセージが表示されます。

SNS エラー「Sumo Logic has not received a validation request from AWS (Sumo Logic では AWS から検証リクエストを受信していません)」

トラブルシューティングの手順は次のとおりです。

  1. [Collection (収集)] タブの [Source (Source)] で [Cancel (キャンセル)][Edit (編集)] の順にクリックし、Source のページを更新して [SNS Subscription (SNS サブスクリプション)] セクションにサブスクリプションの最新のステータスを表示します。
  2. S3 バケットから適切な SNS トピックへの通知の送信を有効にしていることを確認します。これは、手順 10.E で実行済みです。
  3. CloudFormation を使用していない場合は、AWS コンソールで SNS トピックに確認済みの URL へのサブスクリプションがあることを確認してください。"Pending Confirmation (確認を保留中)" の状態は、サブスクリプションの作成中に間違った URL を入力した可能性があることを意味します。
     

[Log File Discovery (ファイル検出のログを記録する)] の下の Web インターフェイスには、緑色のチェックマークとともに「Sumo Logic has received an AWS validation request at this endpoint (Sumo Logic はこのエンドポイントで AWS 検証リクエストを受信しました)」というメッセージが表示されます。ただし、レイテンシは長いままです。

SNS の緑色のチェック マーク、「Sumo Logic has received an AWS validation request at this endpoint (Sumo Logic はこのエンドポイントで AWS 検証リクエストを受信しました)」

緑色のチェック マークは、エンドポイントが正しく使用されたことを確認しますが、Sumo が正常に通知を受信していることを意味するものではありません。

トラブルシューティングの手順は次のとおりです。

  1. AWS によって、CloudTrail および S3 Audit のログは数分のレイテンシで S3 に書き込まれます。これらの Source のレイテンシが 10 分程度になっていると思われる場合は、AWS が予想よりも遅く S3 に書き込んでいる可能性があります。 
  2. S3 バケットから適切な SNS トピックへの通知の送信を有効にしていることを確認します。これは、ステップ 10 で行います。
  • この記事は役に立ちましたか?