Amazon RDSのOSの詳細情報をAmazon Elasticsearch Serviceで可視化する
はじめに
藤本です。
本日、弊社大栗がエントリしていた[新機能]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の画面へ遷移します。
ロググループ「RDSOSMetrics」をチェックし、「アクション」から「Amazon Elasticsearch Serviceへのストリーミングの開始」を選択します。
作成したAmazon ESドメイン、Amazon ESを操作可能なIAMロールを選択します。
拡張モニタリングはJSON形式ですので、ログの形式は「JSON」を選択します。
確認画面で設定内容を確認します。
サブスクリプションにLambdaが設定されました。
Lambdaを確認すると「LogsToElasticsearch_test-domain」が追加されています。 Event SourceがCloudWatch Logsとなっています。
Kibanaでモニタリング
マネジメントコンソールからデータ確認
Amazon Elasticsearch Serviceのドメイン画面へ遷移します。
「cwl-YYYY.MM.DD」の命名規則でINDEXが作成されます。Document Typeは「RDSOSMetrics」です。
Kibanaからデータ確認
Kibanaへアクセスします。
データが入っています。
次に適当にDashboardを作成して、データが溜まるのを待ちます。。。
おー、簡単にダッシュボードを作成できました。
まとめ
いかがでしたでしょうか。 Amazon Elasticsearch Serviceがリリースされ、CloudWatch Logsとの連携機能が実装され、AWSのログを簡単に可視化・解析することができるようになりました。CloudWatch Logs => Amazon ESのコンビネーション、スゴイ!