Tags

By year

  1. 2014 (28)

Sensu の導入を諦めて CloudWatch にした件

AWS CloudWatch Sensu Monitoring

Posted on May 9


悔しい

タイトル通り、とあるプロジェクトに密かに導入を進めていた Sensu の導入を諦めて、とりあえず CloudWatch で当面は凌ぐことにしたので言い訳代わりのメモ。



Sensu の導入を諦めた理由

なぜ Sensu の導入を諦めたか。以下の理由が挙げられる。

  • 自分の社内調整と社内プレゼン不足だった
  • 社内検証が大幅に遅れてしまい、社内での運用基準みたいなものを満たせそうになかった
  • 今後、面倒を見れないことが確定したから
  • プロジェクト自体のサーバーが少ない
  • 幸いにも AWS 環境ということで CloudWatch もある

ということで、導入を諦めたのは Sensu がどうこうではなくて自分の進め方や時間的な制約によるものである。機会があれば、改めて Sensu は導入したいと考えているが、まずは CloudWatch で進めることにした。



CloudWatch 入門

CloudWatch について各種情報へのリンクを掲載。既に公式ドキュメントやスライド、実際に利用されている方のメモなど充実している。

CloudWatch とは

以下の資料は必読。

以下のような特徴を持つ。

  • CPU 使用率、データ転送、ディスク使用のアクティビティ、インスタンスのステータスを監視
  • 5 分間隔にて監視を行う
  • 結果は 2 週間保存される
  • CloudWatch のコンソールからメトリクス毎、又はインスタンス ID 毎に監視メトリクスを確認出来る
  • Alarm を設定すると各しきい値に応じて通知を出すことも出来る

CloudWatch カスタムメトリクス

以下はカスタムメトリクスについて書かれた資料の一部。

独自のメトリクスを API を介して CloudWatch で監視することも出来る。 例えば、CloudWatch 単体の場合、通常のサーバーリソース監視で取得出来るような…

  • Load Average
  • Memory の使用量
  • 各種アプリケーションサービスの稼働監視(Port の死活やプロセスの状況)

等が取得出来ない。そこで、API ツールと組み合わせて独自のスクリプトでこれらを監視することが出来る。



設定とかスクリプトとか


公式スクリプト

以下は Amazon が公式に配布している CloudWatch カスタムメトリクス用スクリプト。

上記のサイトを見ると以下の項目が取得出来るとのこと。

  • Memory Utilization (%)
  • Memory Used (MB)
  • Memory Available (MB)
  • Swap Utilization (%)
  • Swap Used (MB)
  • Disk Space Utilization (%)
  • Disk Space Used (GB)
  • Disk Space Available (GB)

尚、上記のスクリプトは Perl で書かれている。

今回、Amazon の公式スクリプトを使うことも検討したが、今後のメンテナンスや Load AverageHTTP のステータス監視をまとめて監視したかったので簡単な bash スクリプトを各種サイトを参考にこさえることにした。


クライアントツールの準備

CloudWatch のクライアントツールをダウンロードして展開。

wget http://ec2-downloads.s3.amazonaws.com/CloudWatch-2010-08-01.zip
unzip CloudWatch-2010-08-01.zip

CloudWatch のクライアントツールを /opt/aws 以下に移動。

sudo cp CloudWatch-1.0.20.0 /opt/aws/
sudo ln -nsf /opt/aws/CloudWatch-1.0.20.0 /opt/aws/CloudWatch

credential ファイルを修正する。

cd /opt/aws/
sudo cp credential-file-path.template  /opt/aws/CloudWatch/credentials

/opt/aws/CloudWatch/credentials を修正する。

AWSAccessKeyId=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AWSSecretKey=yyyyyyyyyyyyyyyyyyyyyyyyyyyy

bash スクリプト

以下の通り。

今回はこちらで紹介されていたスクリプトを利用させて頂きつつ(有難うございました!)少し修正を加えた。



ということで…

今後の予定としては…

  • bash スクリプトの拡張
  • Alarm の設定
  • API ツールの詳細な調査

をやる。




2014 かっぱのほげふが