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

Amazon Kinesis - Streams アプリケーションのログとメトリクスの収集

Amazon Kinesis - Streams からログとメトリクスを収集して Sumo に取り込む手順です。

Amazon Kinesis - Streams のメトリクスの収集 

  1. Hosted Collector を設定します。
  2. Amazon CloudWatch メトリクス Source を設定します。
    1. Name (名前): 新しい Source に表示する名前を入力します。
    2. Description (説明): 説明 (省略可能) を入力します。
    3. Regions (リージョン)。Kinesis の Amazon リージョンを選択します。
    4. Namespaces (名前空間)。[AWS/Kinesis] を選択します。
    5. Source Category (Source Category)。Source Category を入力します。例: kinesis_metrics
    6. Access Key and Secret Key (アクセス キーとシークレット キー)。Amazon のアクセス キーとシークレット キーを入力します。
    7. Scan Interval (スキャン間隔): Sumo Logic が CloudWatch Source をスキャンして新しいデータがないか確認する間隔として、デフォルトの 5 分を使用するか、または別の間隔を入力します。
  3. [Save (保存)] をクリックします。

CloudTrail を使用した Amazon Kinesis - Streams イベントの収集

  1. Hosted Collector に AWS CloudTrail Source を追加します。
    1. Name (名前): 新しい Source に表示する名前を入力します。
    2. Description (説明): 説明 (省略可能) を入力します。
    3. S3 Region (S3 リージョン)。Kinesis S3 バケットの Amazon リージョンを選択します。
    4. Bucket Name (バケット名)。Kinesis S3 バケットの名前を正確に入力します。
    5. Path Expression (パス式)。収集する S3 オブジェクトに一致する文字列を入力します。この文字列では、ワイルドカードを 1 つ使用できます。(先頭にスラッシュを付けないでください。「Amazon のパス式」参照。)
    6. Source Category: Source Category を入力します。例: kinesis_event
    7. Access Key and Secret Key (アクセス キーとシークレット キー)。Amazon のアクセス キーとシークレット キーを入力します。
    8. Scan Interval (スキャン間隔): デフォルトの 5 分を使用します。または、Sumo Logic が S3 バケットをスキャンして新しいデータがないか確認する間隔を入力します。
    9. Enable Timestamp Parsing (タイムスタンプ parse の有効化)。チェックボックスをオンにします。
    10. Time Zone (タイム ゾーン): [Ignore time zone from log file and instead use (ログ ファイルのタイムゾーンを無視して、次を使用します)] を選択して、[UTC] を選択します。
    11. Timestamp Format (タイムスタンプ形式)。[Automatically detect the format (自動的に形式を検出)] を選択します。
    12. Enable Multiline Processing (複数行の処理の有効化)。チェックボックスをオンにして [Infer Boundaries (境界を推測する)] を選択します。
  2. [Save (保存)] をクリックします。

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

{  
   "eventVersion":"1.01",
   "userIdentity":{  
      "type":"IAMUser",
      "principalId":"EX_PRINCIPAL_ID",
      "arn":"arn:aws:iam::012345678910:user/Alice",
      "accountId":"012345678910",
      "accessKeyId":"vmLwWTxSQrcvzD",
      "userName":"Gosia"
   },
   "eventTime":"2017-11-01T21:23:30+0000",
   "errorCode":"LimitExceedException",
   "errorMessage":"Rate exceeded for stream CWL-Kinesis under account 656757657843",
   "eventSource":"kinesis.amazonaws.com",
   "eventName":"MergeShards",
   "awsRegion":"us-east-2 ",
   "sourceIPAddress":"187.185.157.125",
   "userAgent":"aws-sdk-java/unknown-version Linux/x.xx",
   "requestParameters":{  
      "streamName":"GoodStream",
      "adjacentShardToMerge":"shardId-000000000002",
      "shardToMerge":"shardId-000000000001"
   },
   "responseElements":null,
   "requestID":"e9f9c8eb-c757-11e3-bf1d-6948db3cd570",
   "eventID":"77cf0d06-ce90-42da-9576-71986fec411f"
}

クエリのサンプル

イベント エラーの詳細

_sourceCategory=aws/kinesis* "kinesis.amazonaws.com" errorCode
| json field=_raw "eventSource", "eventName", "awsRegion", "sourceIPAddress","userAgent" nodrop
| json field=_raw "requestParameters.streamName" as streamName nodrop
| json field=_raw "userIdentity.sessionContext.sessionIssuer.userName" as userName nodrop
| json field=_raw "userIdentity.userName" as userName nodrop
| json field=_raw "errorCode" as error_code nodrop
| json field=_raw "errorMessage" as error_msg nodrop
| where eventSource="kinesis.amazonaws.com"
| count by error_code, error_msg, eventName, userName, sourceIPAddress

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