Weitere ähnliche Inhalte
Ähnlich wie Amazon Elasticsearch Serviceを利用したAWSのログ活用 (20)
Amazon Elasticsearch Serviceを利用したAWSのログ活用
- 2. Copyright (C) CLASSMETHOD All Rights Reserved
自己紹介
名前:藤本 真司
所属:クラスメソッド株式会社
やってること:AWSの導入支援、構築
好きなAWSサービス:AWS Lambda
好きなアニメ:のんのんびより(りぴーと)
- 4. Copyright (C) CLASSMETHOD All Rights Reserved 4
お話すること
• ログの活用って?
• Amazon Elasticsearch Serviceについて
• Amazon Elasticsearch ServiceによるAWSログの
可視化・分析(ケーススタディ)
- 7. Copyright (C) CLASSMETHOD All Rights Reserved 7
ある日の運用現場
・
・
・
LB
Web/AP DB
システム管理者
NW担当 AP/OS担当 DB担当
ログにエラー出力なし レスポンスタイムは悪い SQLのクエリは問題ない
結局原因は・・?
- 11. Copyright (C) CLASSMETHOD All Rights Reserved 11
お話すること
• ログの活用って?
• Amazon Elasticsearch Serviceについて
• Amazon Elasticsearch ServiceによるAWSログの
可視化・分析(ケーススタディ)
- 12. Copyright (C) CLASSMETHOD All Rights Reserved
• 2015/10/1にリリース(現地時間)
• AWSマネージドサービスのElasticsearch / Kibana
• 東京リージョン対応
12
Amazon Elasticsearch Serviceリリース!!
- 13. Copyright (C) CLASSMETHOD All Rights Reserved
• OSSの検索 / 分析エンジン
– Luceneベース
– 高拡張性 / 高可用性
– スキーマレス(スキーマ定義も可)
– RESTful APIによる操作
– 豊富な検索オプション
• ユースケース
– 全文検索
– ログ分析
– リアルタイムアプリケーション分析
• 豊富な周辺ツール
– Logstash
ログ処理ツール
– Kibana
データ可視化・分析ツール
13
Elasticsearchとは?
呼んだ?
- 14. Copyright (C) CLASSMETHOD All Rights Reserved
• Elasticsearchのデータ可視化・分析ツール
• 多様な多次元の可視化方法
– 円グラフ
– エリアチャート
– ラインチャート
– マップ、などなど
• 強力なElasticsearchの検索
14
Kibanaとは?
- 16. Copyright (C) CLASSMETHOD All Rights Reserved
• AWSマネージドサービス
• IAMポリシーによるアクセス制御
• CloudWatch Logsとの連携
• プラグインがデフォルトで利用可
• 従量制の料金体系
16
Amazon Elasticsearch Serviceの特徴
- 17. Copyright (C) CLASSMETHOD All Rights Reserved 17
AWSマネージドサービスのElasticsearch
• 構築の簡略化
– 画面操作、APIによるデプロイ
– OS、アプリケーションのインストール/設定不要
– 自由度の高い構成設定
• インスタンスタイプ指定
• ディスクタイプ指定
• Master Node / Data Node
• マルチAZ
• 運用の簡略化
– 容易なスケール
– 障害の自動検出、および自動ノード交換
– 自動定期スナップショット(手動スナップショットも可)
– CloudWatchによるリソースモニタリング、イベント監視
Availability Zone 1 Availability Zone 2
Master Master
Data Data
Pri1 Rep1 Pri2Rep2
- 19. Copyright (C) CLASSMETHOD All Rights Reserved
• ロググループをAmazon ESへSubscriptionするだけ
• 繋ぎのLambda Functionが自動生成
– AWSによって用意済み
• JSON形式の場合、何も不要
(Elasticsearchによる自動型マッピング)
– AWS CloudTrail
• TEXT形式の場合、メッセージパターンを指定するだけ
– VPC Flow Logs
– Lambda Function
19
CloudWatch LogsとAmazon ESの連携
自動生成
CloudWatch Logs Lambda Amazon ES
- 20. Copyright (C) CLASSMETHOD All Rights Reserved
• Kibana 4 / Kibana 3
– データの可視化
• Analysis-icu
– 文字の正規化
• Analysis-kuromoji
– 日本語の形態素解析
• Jetty
– SSL Connection、ベーシック認証
• cloud-aws
– S3を利用したスナップショットリポジトリ
– EC2上でのクラスタリング
20
プラグインがデフォルトで利用可
- 21. Copyright (C) CLASSMETHOD All Rights Reserved
• Elasticsearchのバージョン選択
• VPC対応
• プラグインのインストール
(コマーシャルプラグイン含む)
• Dynamic Script
• ユーザー辞書
• 一部のElasticsearch API(*)
• TCP Transport(サポートしない)
• Elastic社のサポート
(*) http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-gsg-
supported-operations.html
21
出来ないこと
- 23. Copyright (C) CLASSMETHOD All Rights Reserved 23
お話すること
• ログの活用って?
• Amazon Elasticsearch Serviceについて
• Amazon Elasticsearch ServiceによるAWSログの
可視化・分析(ケーススタディ)
- 28. Copyright (C) CLASSMETHOD All Rights Reserved 28
解析に必要なログ / データ
ELB
EC2
RDS
(MySQL)
S3
アクセスログ
URL・各種処理時間
Apacheのアクセスログ
URL・レスポンスタイム
スロークエリログ
SQL・クエリタイム
- 29. Copyright (C) CLASSMETHOD All Rights Reserved 29
各種ログデータのAmazon ESへの投入
ELB
EC2
RDS
(MySQL)
S3
スケジューリングは?
ETL処理は?
Amazon ES
- 32. Copyright (C) CLASSMETHOD All Rights Reserved
• スケジューリング
– リアルタイム収集
• Extract(ファイルからのメッセージ抽出)
– Logstash file Input Plugin
• Transform(JSONへの加工)
– Logstash grok Filter Plugin
• Load(Amazon ESへの投入)
– logstash-output-amazon_es
– AWS提供のAmazon ESへのLogstash Output Plugin
• 詳しくはブログを。。
– http://dev.classmethod.jp/cloud/aws/amazon-es-using-logstash-plugin/
32
Logstashによる実装
- 35. Copyright (C) CLASSMETHOD All Rights Reserved
• スケジューリング
– S3 Object Createdイベントによる発火
• Extract(S3のオブジェクト取得)
– S3エンドポイントへのGetObject API
– Range指定により一回のダウンロードサイズを指定可能
– 一回のLambda Functionで終わらないようなサイズの場合、Lambda
FunctionをChainすることも可能
• Transform(JSONへの加工)
– 要実装(サンプルコードあり)
https://github.com/awslabs/amazon-elasticsearch-lambda-samples
• Load(Amazon ESへの投入)
– ElasticsearchのBulk APIを利用して一括投入
• 詳しくはブログを。。
– http://dev.classmethod.jp/cloud/aws/elb-accesslog-to-elasticsearch/
35
AWS Lambdaによる実装
- 38. Copyright (C) CLASSMETHOD All Rights Reserved
• スケジューリング
– スケジュールイベントによる発火
• Extract(AWS APIによる取得)
– RDSエンドポイントへのDownloadDBLogFilePortion API
– Marker指定により準リアルタイムな取り込み可能
– 一回のLambda Functionで終わらないようなサイズの場合、Lambda
FunctionをChainすることも可能
• Transform(JSONへの加工)
– 要実装
• Load(Amazon ESへの投入)
– ElasticsearchのBulk APIを利用して一括投入
• 詳しくはブログを。。
– http://dev.classmethod.jp/cloud/aws/rds-mysql-slowquerylog-to-es/
38
AWS Lambdaによる実装
- 43. Copyright (C) CLASSMETHOD All Rights Reserved 43
まとめ
• ログ活用の大切さ
– ログからシステムをモニタリングできる
– 課題があればログからクリアできないか考える
• Amazon Elasticsearch Service
– 従量制の課金体系。まず使ってみる。
• AWSのルールに則ったログ活用
– 各種サービスで収集可能なログを理解する
– 各種ログから活用可能な情報を選別する
– 各種ログを活用するためのAWSを知る