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

AWS Elastic Load Balancing アプリケーションのログの収集

この手順では、Amazon Web Services (AWS) Elastic Load Balancing (ELB) ログへのアクセスを有効化して Sumo Logic に取り込む方法について説明します。

ログ タイプ

ELB ログは、ログを有効化するときに指定したバケットに .log ファイルとして保存されます。

これらのログの収集を有効化するプロセスは、「AWS ELB Enable Access Logs (Classic Load Balancer のアクセスログの有効化)」で説明されています。

ログ自体には、以下のフィールドが次の順序で含まれています:
datetime、ELB_Server、clientIP、port、backend、backend_port、requestProc、ba_Response、cli_Response、ELB_StatusCode、be_StatusCode、rcvd、send、method、protocol、domain、server_port、path

ログの形式については、「AWS ELB Access Log Collection (Classic Load Balancer のアクセスログの有効化)」を参照してください。

前提条件

  • こちらの Sumo Logic の手順に従って、AWS アカウントで Elastic Load Balancing のログを有効化します。詳細については、AWS ELB のドキュメントを参照してください。AWS ELB では、ログはデフォルトでは有効になっていません。
  • こちらの Sumo Logic の手順に従って、IAM ユーザへのアクセス権を付与します。
  • ログが、Amazon S3 バケットに配信されることを確認します。

AWS でログを有効にするには、次の手順を実行します。

  1. AWS 管理コンソールで、[EC2] > [Load Balancers (ロード バランサー)] の順に選択します。
  2. [Access Logs (アクセス ログ)] で、[Edit (編集)] をクリックします。
  3. [Configure Access Logs (アクセス ログの設定)] ダイアログ ボックスで、[Enable Access Logs (アクセス ログを有効化)] をクリックし、間隔と S3 バケットを選択します。これは、Sumo Logic にログをアップロードする S3 バケットです。
  4. [Save (保存)] をクリックします。

Collector の設定

Hosted Collector を設定します。

Source の設定

以下の指定を含む、AWS Elastic Load Balancing Source を設定します。

  • Source フィールド:
    • Bucket Name (バケット名)。(必須) ELB など。
    • Path Expression (パス式)。例: my-bucket/prefix/AWSLogs/123456789012/*.log
    • Source Category: (必須) ELB_Prod など。詳細については、「ベスト プラクティス」を参照してください。
  • 詳細設定:
    • Enable Timestamp Parsing (タイムスタンプ parse の有効化)。True
    • Time Zone (タイム ゾーン): デフォルトではログは UTC で記録されます。
    • Timestamp Format (タイムスタンプ形式)。自動検出。

FER (Field Extraction Rules)

FER (Field Extraction Rules) には、前に作成した Source Category を使用します。

AWS Elastic Load Balancing ログ

parse "* * *:* *:* * * * * * * * \"* *://*:*/* HTTP" as datetime, ELB_Server, clientIP, port, backend, backend_port, requestProc, ba_Response, cli_Response, ELB_StatusCode, be_StatusCode, rcvd, send, method, protocol, domain, server_port, path

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

2017-01-20T23:00:26.059475Z elb-shop-com 10.15.120.181:80 10.34.7.122:80 0.000026 
0.315185 0.000027 200 200 51 1230 "POST https://examplesite.com:443/Common/path HTTP/1.1" 
"Mozilla/5.0 (Safari; Touch) AppleWebKit/537.35+ (HTML, like Gecko) Version/10.3.2.2239 
Mobile Safari/517.35+"

クエリのサンプル

名前 - Geolocation によるリクエスト

_sourceCategory=elb*
| parse "* * *:* *:* * * * * * * * \"* *://*:*/* HTTP" as f1, elb_server, clientIP, port, backend, backend_port, requestProc, ba_Response, cli_Response, ELB_StatusCode, be_StatusCode, rcvd, send, method, protocol, domain, server_port, path nodrop
| parse "* * *:* *:* * * * * * * * \"-" as f1,elb_server,clientIP,port,backend,backend_port,requestProc,ba_Response,cli_Response,ELB_StatusCode,be_StatusCode,rcvd,send
| lookup latitude, longitude, country_code, country_name, region, city, postal_code, area_code, metro_code from geo://default on ip = clientIP
| count by latitude, longitude, country_code, country_name, region, city, postal_code, area_code, metro_code
| sort _count

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