Amazon RDSのOSの詳細情報をAmazon Elasticsearch Serviceで可視化する

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

藤本です。

本日、弊社大栗がエントリしていた[新機能]Amazon RDSでOSの詳細情報を取得できるようになりました!の中で「Elasticsearch Serviceでリアルタイム監視もできそう」、ということでやってみました。

概要

Amazon RDSに拡張モニタリング機能が追加されました。詳細については「はじめに」のリンクをご参照ください。
この機能を使うとRDSインスタンスのOSリソース情報がCloudWatch Logsに出力されます。ログフォーマットがJSON形式ですので、簡単にAmazon Elasticsearch Serviceに取り込み、Kibanaにより可視化・分析することができます。もちろんCloudWatchでもグラフ化することも可能ですが、Elasticsearchの場合、永続的にデータを保持することができ、様々なグラフ形式や多次元による可視化を行うことができ、より効率的な解析を行えます。

やってみた

Amazon RDSインスタンスの拡張モニタリング有効化

拡張モニタリングの有効化は[新機能]Amazon RDSでOSの詳細情報を取得できるようになりました!をご参照ください。

Amazon Elasticsearch Serviceドメイン作成

Amazon ESドメインの作成は[新機能]Amazon Elasticsearch Serviceがリリースされました!をご参照ください。

ロググループサブスクリプションの有効化

CloudWatch Logsの画面へ遷移します。

CloudWatch_Management_Console

ロググループ「RDSOSMetrics」をチェックし、「アクション」から「Amazon Elasticsearch Serviceへのストリーミングの開始」を選択します。

CloudWatch_Management_Console

作成したAmazon ESドメイン、Amazon ESを操作可能なIAMロールを選択します。

CloudWatch_Management_Console

拡張モニタリングはJSON形式ですので、ログの形式は「JSON」を選択します。

CloudWatch_Management_Console

確認画面で設定内容を確認します。

CloudWatch_Management_Console

サブスクリプションにLambdaが設定されました。

AWS_Lambda

Lambdaを確認すると「LogsToElasticsearch_test-domain」が追加されています。
Event SourceがCloudWatch Logsとなっています。

Kibanaでモニタリング

マネジメントコンソールからデータ確認

Amazon Elasticsearch Serviceのドメイン画面へ遷移します。

Amazon_Elasticsearch_Service_Management_Console

「cwl-YYYY.MM.DD」の命名規則でINDEXが作成されます。Document Typeは「RDSOSMetrics」です。

Kibanaからデータ確認

Kibanaへアクセスします。

Discover_-_Kibana_4

データが入っています。

次に適当にDashboardを作成して、データが溜まるのを待ちます。。。

mysql-dashboard_-_Dashboard_-_Kibana_4

おー、簡単にダッシュボードを作成できました。

まとめ

いかがでしたでしょうか。
Amazon Elasticsearch Serviceがリリースされ、CloudWatch Logsとの連携機能が実装され、AWSのログを簡単に可視化・解析することができるようになりました。CloudWatch Logs => Amazon ESのコンビネーション、スゴイ!