ようへいの日々精進XP

よかろうもん

続・sinatra を使って td-agent(fluentd) のバッファの状態をモニタリングするダッシュボードを作ってみた

はじめに

以前に作ったきりですっかり放置状態だったが、放置するにもあまりにも恥ずかしい状態だったので出来る範囲で修正と機能追加をしてみた。


俺のダッシュボード

俺のフレンチとか俺のイタリアンとかにインスパイヤされた訳ではありません。


修正したこと、追加したこと

ちゃんと JSON をパースしてみた

monitor_agent のレスポンスは JSON なので JSON をちゃんとパース出来るかが個人的には鍵だった。

  • 従来は JSON のパースがいい加減で全てのプラグインの状態を取得出来なかった
  • 従来よりはちゃんと JSON のパースが出来ているはず...

マイブームな Graphite でプラグイン毎のメトリクスを...

を表示出来るようにしてみた。

ウィンドウオープンとか使ってないのでリンクをクリックすると GraphiteRender API を叩いてグラフを表示している。Render API については以下を...。

ホストを追加出来るようにした

従来は hostlist.txt というファイルに監視対象となるホストを記載していたが、ホストの追加ページを用意して hostlist.txt にホスト(IP 又は hostname)を追加出来るようにした。

目標としては監視対象の td-agent が起動したら自動で hostlist.txt に登録されるような仕組みを使ってこのあたりを自動化してみたい。


最後に

  • SinatraBootstrap で思った以上に簡単に作ることが出来た(質の良し悪しは別だけど)
  • とは言え、使いこなせているわけではないので定期的にこのようなツールを作ることでちょっとずつ慣れていきたい
  • ツールとして使えるレベルに達していない(ツメが甘い)部分が多々あるが引き続きメンテナンスしていきたい
  • monitor_agenttd_monitor_agent について改めて調べることが出来て良かった
  • 修正するきっかけを与えて下さったツイッター、はてぶして下さった皆さんに感謝