前回の記事で、JavaベースのプロダクトのモニタリングはJolokiaが良い感じかも、って記事を書いた。んで、jolokiaで取得したデータをGrowthForecastに突っ込んでグラフを描画させてたんだけど、あんましっくりこなかった。んで、ここは自作しかねーやと思って、いろいろグラフ描画のライブラリ探してたらCubism.jsってのを見つけた。どうやらd3.jsのプラグインみたい。同僚はrickshaw.jsを推してたんだけど、俺はCubism.jsの方が見栄え的にシンプルで好きだったので、CubismでCassandraの自作モニタリングツールを作ってみた。


1. Cubism.js

↓が公式サイト

2. こんな感じです

↓が画像です。Cassandraの情報(JVM、Pending task、カラムファミリのリードレイテンシ、and more)を描画させてます。
ついでに、このサイトにも仕込んでみた。http://hiroakis.com/app/cubism_example.html。以前使ってたさくらVPSのインスタンスにJolokiaを仕込んだJavaを立ち上げて、そのヒープメモリを抜き出して描画してます(3秒間隔でポーリング)。アクセスがハンパなかったら落とすかもw
サンプルはgithubにも上げてあります。
3. もっと効果的に使うために
このままだと、取得したい情報やノード数が増えると、JavaScriptがスゲー勢いでリクエスト投げまくってブラウザやネットワーク、最悪の場合は監視対象プロダクトをも殺してしまう。なので、監視対象ノードの情報を集約するAPIを作って、そこ経由で取るようにしてみようかなーって思っている。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Set your Twitter account name in your settings to use the TwitterBar Section.