【無償】AWS CloudWatch モニタリングツール

Cloudwatch Monitor

CloudWatch をモニタリングするツールを作っていたのですが、外に公開してもまあ許されるであろう状態になってきたので公開します。
大人の事情によりオープンソースとはいきませんが、ダウンロード、及び、利用は無償で行っていただけます。

2014/7/3 ver.0.1.0.1 アップロード。 変更履歴追加。

CloudWatch Monitor とは

CloudWatch Monitor は AWS の CloudWatch の統計値をモニタリングするためのアプリケーションです。
Java (JavaFX含む)で開発されており、弊社内では Windows、及び、Linuxで動作する事が確認できています。

CloudWatch Monitor on Linux

機能

以下の機能があります。

  • 利用可能なCloudWatchのメトリックを一覧で表示
    アクセスキー、シークレットキー、リージョンを指定してAWSに接続すると、利用可能なメトリックの一覧を取得し、モニタパネル上で一覧表示します。
    この一覧で計測を行いたいメトリックをチェックするだけで、測定値がグラフ表示されます。
    CloudWatch Monitor - Monitor Panel
  • Maximum, Minimum, Average の統計情報を取得可能
    Config パネルで設定可能です。
    但し、取得するメトリック毎に設定する事はできません。
    どうしても別の統計情報を取得したい場合は、複数起動可能なので、別ディレクトリで解凍・実行する事で対応できます。
  • 計測中のメトリックはグラフ表示
    チェックしたメトリックはグラフ表示されます。グラフは一定時間で自動更新されます。
    複数メトリックをチェックした場合は、複数のグラフが同一のパネル上に表示されます。
    Y軸のスケールをグラフによって変更するといった処理はしていないため、組合せによっては、チェックしてもグラフ上では実質計測不能になります(- -;。 この場合も複数起動で対応可能です。
    ※現状は5分間隔(固定)でデータ取得を行っています。
    ※現状、グラフの表示期間は12時間(固定)です。
    ※Y軸のスケーリングはJavaFXのチャートにお任せです。CPU使用率 ( CPUUtilization ) で Y軸が 100以上まで表示されたりもしますが、気にしないでください。
  • タスクトレイに常駐します。
    ウィンドウを最小化した場合、タスクトレイに常駐します。
  • スレッショルド (閾値) を設定する事で、この値を超えた場合には警告表示を行う事が可能
    モニタパネルのメトリック表示テーブルで スレッショルド を設定できます。
    この値を超えた場合、タスクトレイにアラーム表示がなされます。サウンドをONにしている場合、警告音もなります。( 結構、大きな音がするので音量に注意 )
    設定値が 0 (0.0) の場合は警告表示は行われません。
  • 設定情報は自動保存
    Config パネルで設定した情報等はアプリケーション終了時に自動保存されます。
    Javaのシャットダウンフックを利用しているので、通常の例外で終了した場合でも設定内容は保存されると思います。
    ※設定内容は アプリケーションの実行ディレクトリに config.properties というテキストファイルで保存されます。
    ここにはAWSのアクセスキー、シークレットキーも保存されるので、取扱いにはご注意下さい。

    CloudWatch Monitor - Config Panel
  • 前回終了時の状態で起動
    終了時に設定を保存する事は上で書きましたが、次の起動時にはこの設定を利用します。
    計測していたメトリック、及び、スレッショルド情報も保存されている場合、起動にはこれらも設定され、直近の計測結果をグラフ表示した状態で起動します。

システム要件

動作環境は以下になります。

Java Java (JRE) 7
Linux 環境では OpenJDKでは動作しませんでした。
Oracle の JRE ( jre-7u60-linux-x64 ) で動作する事は確認できています。
JavaFXを利用しているので、旧バージョンの場合JavaFXの追加インストールが必要な場合があります。
OS 基本的に上記Javaのバージョンが正しく動作する環境であればOSには依存しないはずです。
弊社内では、Windows 8 、及び 、CentOS 6.5 での動作が確認できています。

利用方法

※利用する場合、以下使用許諾契約書への同意が必要となります。

  1. ダウンロードファイルを適当なディレクトリで解凍します。
  2. 解凍されたディレクトリ中にある start.bat を実行すれば CloudWatch Monitor が起動します。
    他OS用の起動スクリプトは用意していませんが、start.bat に記載してあるのと同じコマンドで実行可能です。
  3. 初回起動時には Config パネルが 表示されるので、AWSへの接続情報を入力して [ Connect ] ボタンをクリックしてください。
    [ Connect ] ボタンが グレーアウトして利用不可能な状態になったら、接続が行われた事になります。
  4. 接続が行われたら Monitor パネルを表示します。
    画面右に利用可能なMetricの一覧が表示されるので、計測したいMetricをチェックする事で計測(グラフ表示)が行えます。
    何もメトリックが表示されない場合、選択したリージョンでCloudWatch の利用を行っていない可能性があります。CloudWatchでEC2インスタンスのモニタリングを行う 等を参考に、CloudWatchの設定、及び、確認を行ってみてください。

削除する場合には、解凍先ディレクトリ、及び、ダウンロードファイルを削除すればOKです。
設定情報はプログラムの実行ディレクトリにconfig.properties というテキストファイルで保存されます。レジストリ等は利用していません。

変更履歴

  • 2014/7/3 Ver.0.1.0.1
    Dimension が空のメトリックスを取得した場合にNullPointerExceptionが発生する問題を修正 

CloudWatch Monitor 使用許諾契約書

※利用する場合、以下使用許諾契約書への同意が必要となります。

本ソフトウェア使用許諾契約書(以下、「本契約書」)は、下記のソフトウェア製品(以下、プログラムおよびそのマニュアル等を合わせて、「本ソフトウェア」と言います)に関し、お客様(個人又は法人のいずれかであるかを問わない)とアジャイル株式会社(以下、「弊社」)との間に締結される法的な契約書です。

本ソフトウェアをダウンロード、インストール、又は使用することによって、お客様は、本契約書の各条項に拘束されることを承諾、同意されたものとします。

本契約書の各条項に同意されない場合、弊社はお客様に本ソフトウェアの使用を許諾することが出来ませんので、そのような場合は本ソフトウェアのダウンロード、インストール、又は使用を中止してください。

ソフトウェア製品:CloudWatch Monitor

第1条 目的

弊社は、本ソフトウェアを、下記の目的(以下、「本目的」といいます)において使用を希望されるお客様に対して提供し、使用を許諾します。

  1. AWSクラウドの統計値モニタリング
  2. 本ソフトウェアの評価、解説、宣伝、紹介を行うためのデモ使用

第2条 許諾内容

弊社は、お客様が本契約書の規定に従って本ソフトウェアを、自己の占有又は管理下にあるコンピュータにインストールして使用することができる、非独占的かつ譲渡不能の権利を無償で許諾します。

第3条 契約の成立および終了

  1. 本契約書は、お客様が本ソフトウェアのダウンロード、インストール、又は使用を開始したときに効力を発生し、本条第2項乃至第4項の定めに従って終了しない限り有効に存続します。
  2. お客様は、本ソフトウェアを使用しないと決めた場合、自己の占有又は管理下にある全ての本ソフトウェアを消去および破棄することにより、この契約を終了させることができます。
  3. 弊社は、お客様にあらかじめ通知したり、お客様の事前の同意を得ることなく、この契約を終了させることができるものとします。
    この場合において、お客様が契約終了の事実を認識し、又は認識し得る状態(弊社ホームページへの上記事実の掲載、その他これと同等の状態を指します)に至ったときは、お客様は、自己の占有又は管理下にある本ソフトウェアを全て消去および破棄してください。
  4. お客様が、本契約書の条項のいずれかに違反した場合、この契約は直ちに終了し、お客様は、自己の占有又は管理下にある本ソフトウェア(本契約に違反して作成した複製物を含みます)の全てを消去および破棄するものとします。
  5. お客様は、いかなる理由によるものであれ、この契約の終了について弊社に対し損害賠償、補償金、その他の支払いを求めることはできません。

第4条 禁止事項

  1. お客様は、本ソフトウェアの全部又は一部を、複製、改変、翻訳し、又は逆コンパイル、逆アセンブル等のリバースエンジニアリング等、いかなる方法によっても解析してはならないものとします。
  2. お客様は、本ソフトウェアを本目的以外に使用したり、第三者に再配布、使用許諾、販売、貸与、譲渡、開示またはリースしてはならないものとします。
  3. お客様は、本ソフトウェアに付与されている弊社の著作権表示およびその他の権利表示を削除や改変してはならないものとします。
  4. お客様は、本ソフトウェアに関して知り得た弊社の技術情報その他一切の情報を本契約の目的外に使用したり、第三者に開示・漏洩してはならないものとします。
  5. お客様は、本ソフトウェアを公序良俗に反する行為に使用してはならないものとします。

第5条 免責

  1. 弊社は、お客様に対し、本ソフトウェアにおける一切の動作保証、使用目的・機器等への適合性並びに使用結果に関わる的確性や信頼性の保証をせず、かついかなる内容の瑕疵担保責任も負いません。
  2. 弊社は、お客様に対し、本ソフトウェアに関する技術サポート、保守、機能改善等のいかなる技術的役務の提供義務も負いません。
  3. 弊社は、お客様にあらかじめ通知したり、お客様の事前の同意を得ることなく、本ソフトウェアの仕様または内容の変更、修正、配布方法の変更等を実施することができるものとします。
  4. 弊社は、本ソフトウェアが第三者の知的財産権およびその他の権利を侵害していないことを保証せず、お客様その他の第三者が本ソフトウェアに関連して直接的もしくは間接的に被ったいかなる損害について、いかなる責任も負いません。
  5. 本ソフトウェア以外に弊社からお客様に提供した、直接又は間接の本ソフトウェアに関する情報についても、本条の各項がいずれも適用されます。

第6条 知的財産権の帰属

本ソフトウェアは、弊社の他、その他供給者に知的財産権が帰属します。弊社は、本ソフトウェアをお客様に提供し、使用を許諾する権利を有しています。本契約書によるお客様への本ソフトウェアの使用許諾は、お客様に対する何らの権利移転等を意味するものではありません。

第7条 その他

  1. 本契約は、日本国法に準拠し、日本国法に基づいて解釈されます。また本契約に関連する一切の紛争は、東京地方裁判所を第一審の専属的合意管轄裁判所として、これを解決するものとします。
  2. お客様は、本ソフトウェアの使用にあたって、「外国為替および外国貿易法」その他の関連する輸出入関連法および規制、アメリカ合衆国の輸出管理規則等(これらについては、日本国法および諸外国法に基づく法令等の全てを含みます)を遵守し、かつ、それらに基づいて要求される全ての許可、認可および承認(同じく、日本国法、アメリカ合衆国法、その他一切の法令等に基づくものを含みます。)を、自己の費用と責任において得ていただくものとします。
  3. ソフトウェア及びそれに関連する技術を海外に持ち出し又は非居住者に提供する場合は、経済産業大 臣の輸出許可を取得するなど、関連法規に基づき必要な手続を取るものとします。
  4. 本契約の一部が無効であり強制力を有しないものとされた場合においても、その他の部分の有効性は影響を受けず、その条件に従って強制力を維持します。
  5. 本契約第3条第4項および第5項、第4条および第5条乃至第7条の規定は、本契約終了後も有効に存続します。

利用上の注意

CloudWatch Monitor を使い倒した場合、大量の CloudWatch API リクエスト によって課金額が増える可能性があります。
逆に、CloudWatch のアラームは課金対象なので、CloudWatch Monitorのアラームで代替する、且つ、API 呼出しは無料範囲で収めるといった使い方をする事で逆に課金は減らせるかもしれません。

ご利用は計画的に