ログ処理を「あきらめない」
JAWS−UG 中央線 第0回
荒木靖宏
自己紹介
名前
• 荒木 靖宏(AWSのSAです)
中央線
• 吉祥寺と武蔵境に7年弱
ID
• Twitter: ar1
• ar@debian.org
好きなAWSサービス
• Amazon Virtual Private Cloud
• ...
ログはダッシュボードで見たい
4
web server
web server
web server
EC2で生成 S3に集約 EMRで集計
FluentdS3Plugin
S3DistCp
hiveorstreaming
RDSに出力
/main?page=1
/main?...
5
web server
web server
web server
生成 収集 集計
データの流れ
データがS3にあれば・・・
Elastic MapReduce DynamoDB RedShift
必要に応じて解析クラスタを構築しそこにデータをロード
することが可能
7
web server
web server
web server
EC2で生成 S3に集約 EMRで集計
FluentdS3Plugin
S3DistCp
hiveorstreaming
RDSに出力
/main?page=1
/main?...
現実的なソリューション
http://ja.splunk.com/
http://www.sumologic.com/ SaaS
Sumo Logic
分析グラフ作成例
~CloudFrontのログ on S3を材料に~
コレクタを記入すればログが読める
_collector=“コレクタ名”
“LogReduce”ボタンを押すと
集計ログ表示(次のスライ
ド)
集計ログ
642回似たログが集計され
た
SIN2に届いたログだけを表示させる
MB per Minute
| parse "t*t*t*t*t*t*t*.*t*t*t" as
ts, edge_loc, bytes, ip, method,
host, uri_stem, filetype, status,
refere...
ファイルタイプ別ダウンロード割合
| parse "t*t*t*t*t*t*t*.*t*t*t*/*%*t*" as ts, edge_loc, bytes, ip,
method, host, uri_stem, filetype, stat...
ファイルタイプ別毎分転送サイズ
| parse "t*t*t*t*t*t*t*.*t*t*t*/*%*t*" as ts, edge_loc, bytes, ip, method, host,
uri_stem, filetype, statu...
トップヒット数
_sourcecategory=streaming !connect !disconnect
| parse "t*t*t*t*t*t*t*t*t*t*t*t*%20*t*t*t*t*" as ts, edgeloc,
ip, ...
200と304以外のステータスコード可視化
* !200 !304
| parse regex "t(?<status>ddd?)th"
| timeslice 5m
| count by _timeslice, status
| transp...
エッジ毎のヒット数
| parse "t*t*t" as ts, edge_loc
| count (*) as hits by edge_loc
| sort by hits
200 vs それ以外
| parse regex "t(?<status>ddd?)th"
| timeslice 1m
| if(status = "200", 1,0) as statGood
| if(status <> "200", ...
22
web server
web server
web server
EC2で生成 S3に集約 EMRで集計
FluentdS3Plugin
S3DistCp
hiveorstreaming
RDSに出力
/main?page=1
/main...
ログ解析をあきらめない、あるいはSumoLogicの紹介
Upcoming SlideShare
Loading in...5
×

ログ解析をあきらめない、あるいはSumoLogicの紹介

3,241

Published on

Published in: Technology, Business
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,241
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

ログ解析をあきらめない、あるいはSumoLogicの紹介

  1. 1. ログ処理を「あきらめない」 JAWS−UG 中央線 第0回 荒木靖宏
  2. 2. 自己紹介 名前 • 荒木 靖宏(AWSのSAです) 中央線 • 吉祥寺と武蔵境に7年弱 ID • Twitter: ar1 • ar@debian.org 好きなAWSサービス • Amazon Virtual Private Cloud • AWS Direct Connect
  3. 3. ログはダッシュボードで見たい
  4. 4. 4 web server web server web server EC2で生成 S3に集約 EMRで集計 FluentdS3Plugin S3DistCp hiveorstreaming RDSに出力 /main?page=1 /main?page=2 /main?page=1 {“page”:”1”} {“page”:”2”} {“page”:”1”} page1 t 2 page2 t 1 page | count --------------- page1 | 2 page2 | 1
  5. 5. 5 web server web server web server 生成 収集 集計 データの流れ
  6. 6. データがS3にあれば・・・ Elastic MapReduce DynamoDB RedShift 必要に応じて解析クラスタを構築しそこにデータをロード することが可能
  7. 7. 7 web server web server web server EC2で生成 S3に集約 EMRで集計 FluentdS3Plugin S3DistCp hiveorstreaming RDSに出力 /main?page=1 /main?page=2 /main?page=1 {“page”:”1”} {“page”:”2”} {“page”:”1”} page1 t 2 page2 t 1 page | count --------------- page1 | 2 page2 | 1 完成までは試行錯誤と場当たり処理の繰り返 し
  8. 8. 現実的なソリューション http://ja.splunk.com/ http://www.sumologic.com/ SaaS
  9. 9. Sumo Logic
  10. 10. 分析グラフ作成例 ~CloudFrontのログ on S3を材料に~
  11. 11. コレクタを記入すればログが読める _collector=“コレクタ名” “LogReduce”ボタンを押すと 集計ログ表示(次のスライ ド)
  12. 12. 集計ログ 642回似たログが集計され た
  13. 13. SIN2に届いたログだけを表示させる
  14. 14. MB per Minute | parse "t*t*t*t*t*t*t*.*t*t*t" as ts, edge_loc, bytes, ip, method, host, uri_stem, filetype, status, referer | timeslice 1m | sum(bytes) as volume by _timeslice | volume/1024/1024 as volume | sort by + _timeslice | fields volume, _timeslice
  15. 15. ファイルタイプ別ダウンロード割合 | parse "t*t*t*t*t*t*t*.*t*t*t*/*%*t*" as ts, edge_loc, bytes, ip, method, host, uri_stem, filetype, status, referer, user_agent, ver,throwaway, uri_query | sum(bytes) as size_mb by filetype | size_mb/1024/1024 as size_mb | sort by size_mb | limit 10
  16. 16. ファイルタイプ別毎分転送サイズ | parse "t*t*t*t*t*t*t*.*t*t*t*/*%*t*" as ts, edge_loc, bytes, ip, method, host, uri_stem, filetype, status, referer, user_agent, ver,throwaway, uri_query | timeslice 1m | sum(bytes) as size by filetype, _timeslice | transpose row _timeslice column filetype as js, css, png, gif, ico, html, jpg, xml
  17. 17. トップヒット数 _sourcecategory=streaming !connect !disconnect | parse "t*t*t*t*t*t*t*t*t*t*t*t*%20*t*t*t*t*" as ts, edgeloc, ip, event, bytes, status, clientid, uri_stem, uri_query, referrer, page_url, user_agent, ua_version, sname, sname_query, file_ext, sid | count (*) as hits by sname | sort by hits
  18. 18. 200と304以外のステータスコード可視化 * !200 !304 | parse regex "t(?<status>ddd?)th" | timeslice 5m | count by _timeslice, status | transpose row _timeslice column status
  19. 19. エッジ毎のヒット数 | parse "t*t*t" as ts, edge_loc | count (*) as hits by edge_loc | sort by hits
  20. 20. 200 vs それ以外 | parse regex "t(?<status>ddd?)th" | timeslice 1m | if(status = "200", 1,0) as statGood | if(status <> "200", 1,0) as statOther | sum(statGood) as good, sum(statOther) as bad by _timeslice | sort by + _timeslice
  21. 21. 22 web server web server web server EC2で生成 S3に集約 EMRで集計 FluentdS3Plugin S3DistCp hiveorstreaming RDSに出力 /main?page=1 /main?page=2 /main?page=1 {“page”:”1”} {“page”:”2”} {“page”:”1”} page1 t 2 page2 t 1 page | count --------------- page1 | 2 page2 | 1 ログ収集、解析 をあきらめない 完成までは試行錯誤と場当たり処理の繰り返 し

×