CDP:Monitoring Integrationパターン

From AWS-CloudDesignPattern
Jump to: navigation, search

モニタリングツールの一元化

Contents

解決したい課題

システムの運用作業でモニタリング(サービス/リソース監視など)は必須であり、モニタリングツールを利用して、そのシステム内で実施することも多い。クラウド上のシステムとなると、クラウドがモニタリングサービスを提供していることも多く、こちらを利用してシステムのモニタリングを行うこともできる。

しかし、クラウドのモニタリングサービスはOS/ミドルウェア/アプリケーションなどの仮想サーバ内の監視はできないので、やはり、独自のモニタリングシステムは必要となる。

そうなると利用するモニタリングシステムが複数となってしまい、運用(特に監視)の煩雑化が課題となってしまう。

クラウドでの解決/パターンの説明

クラウドのモニタリングサービスを利用するにしても、OS/ミドルウェア/アプリケーションなどの監視まで考慮すると、結局は自前のモニタリングシステムも用意することになってしまい、運用が非効率になってしまう。 ただしクラウドはAPIが提供されているものも多く、その場合APIを用いてモニタリングサービスの情報を取得することが可能となる。つまり自前のモニタリングシステムがクラウドのモニタリングサービスの情報を取得しモニタリングすることで、クラウド側も含めた一元管理を実現することが可能となる。

自前のモニタリングシステムでクラウド側の情報も含め一元管理することで、運用の効率化とクラウド側のモニタリングのカスタマイズも可能となる。

実装

AWSではCloudWatchと呼ばれるモニタリングサービスが提供されている。当然、APIも用意されており、モニタリング情報の取得も可能である。ただしアラーム通知のフォーマットは固定であり、またモニタリング情報も現状二週間しか保持しないので、それらを拡張するには、自前のモニタリングツールで行う必要がある。

  • Nagios/Zabbix/Muninのようなモニタリングツールを導入する。
  • CloudWatchのAPIを用いてモニタリング情報を取得し、モニタリングツールに対して情報を書き込むプラグインを用意する。
  • そのプラグインを用いてのクラウドからの情報も含めたモニタリングを行う。

構造

6wNg0ISJczU5Pz1m-0AF5D.png

利点

  • OS/ミドルウェア/アプリケーションと同じ形式の監視を、クラウドリソースに関しても行うことができる。
  • CloudWatchにおけるデータの保存期間は2週間であるが、モニタリングツールを中継することで、ツールの許す限りの期間、データの保持が可能となる。(もちろんツールが対応している必要がある)
  • クラウドリソースの状態通知に関しても、モニタリングツールを中継することで、メール文面などをカスタマイズすることができる。

注意点

  • 監視ソフトウェア(プラグイン等)が定期的にAPIを利用してCloudWatchからデータを取得するため、その分のAPI利用料が必要となってしまう。

寄贈したアーキテクト

Ninja of Three

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox