昨夜は、はてなさんが提供を始めたサーバ管理ツール、その名もMackerelに関するお話を伺いに行きました。ITエンジニアの中での俗語ではサーバを「鯖」といいまして、そこからMackerelという名前が来ているようです。
また、ITインフラ系の方ばかりではなく、プログラマの方等、様々な背景を持った方達の交流の場ともなりました。はてなさんの懐の深さを感じずにはいられません。
それでは、いつものようにノートをアップしておきます。
概要
- 2014/06/19
- フリークアウト 本社 (六本木ヒルズ)
Mackerelの紹介
@motemen (おおつぼ)さん
- 「まかれる」と読む
- Mackerelディレクターやってます
- overview
- サーバ管理ツール as a サービス
- 元々 社内ツールがあった アイコン「鯖」
- はてなの知見を活かして、今までとは違うものを提供する事となった。
- 選択した言語・ミドルウェア、全て新しい試み。
- Scala + play + postgresql + graphite + angluarjs + go
- 特徴
- ロールによるホスト群の管理。
- エージェントベースのリソース管理。
- リソースの可視化。
- APIベースの管理。
- Orgとユーザ
- Org単位で課金する予定。
- ユーザは複数のOrgに所属できる。
- サービスとロール
- 様々なホストが強調して動いている…1つのWebサービス単位でまとめる
- ホスト群を役割でまとめる…ロール
- ホストのライフサイクル
- Status: Stdby, Working, Mainte(監視停止)
- 役割が終わったサーバは「退役」がある
- Metric
- Agentが収集→時系列で可視化
- ロール毎にまとめてチャートを表示できる。
- (ばらつきとか、問題の有無とかを見つけやすそうですね。)
- 監視機能が今日からリリース!
- Alerts メニューだ!!!
- Agentからしばらく疎通が無いと通知。ホストの死活監視。メールベース。
- 管理画面から「実験的機能を有効にする」ってのもできた。Experimentalな機能を使いたい場合はこちらです。
- 今後: 閾値ベースの通知を作りたい。
- (Web Hook使えるようになるのかな?)
- APIを公開しているので、Agentは自分で作れまます。
- yum/apt がオススメ。brew install, go get などもできます。
- 収集
- 1分間隔。
- 今後、1時間位1回収集し直す変更を入れる。
- 設定ファイルを書き足せばカスタムメトリクスを収集可能。
- 書式はSensuプラグイン互換
- 表示方法も編集可能(Webベース)
- Agent側でRoleの設定を定義可能。無ければ作ってくれる。
- cookbook-mackerel-agent でも使えます。
- API
- v0
- ドキュメントみるとわかる
- 事例: gem mackerel-client
- CLI: mkr
- その他のツール
- fluent-plugin-mackerel
- Windowns Agent (@mattn_jpさん作)
- はてなさんの事例
- 有名な某サービスの状態
- cookbook-mackerel-agent を改良、httpステータスの分布、レスポンスタイムの数値をとる。
- 見せ方、考えたい。
- Feedback 歓迎します
ロードマップ
田中さん
- 6月
- 監視・通知
- アプリケーションメトリクス
- 7月
- グラフ拡充 (カスタム・外部貼付)
- 8末〜9月
- 正式化したい
- 監視・通知
- 7月に応用的なものをつける
- 閾値監視
- 通知手段 (HipChatなど)
- アプリケーションメトリクス
- レスポンスタイム・
- エラーレート
- サービス全体の状況を俯瞰する
- カスタマイズ
- ラベル
- 形状
- 監視・通知もつけたい
- グラフ
- 外部貼付け
- 高速化は随時やります!
- ダッシュボードの使いやすいUIは悩んでいるらしい
- デプロイ支援
- デプロイタイミングをプロット
- (まあ、この辺りで色々起こるもんな。)
- ロールのバージョニングとgit hashとの紐付け(7,8月)
- デプロイタイミングをプロット
- 正式リリース後
- ユーザ管理権限強化
- クラウド連携強化
- LB, インスタンスをキックできたりとか
- これ欲しいね
- Docker支援
- イメージリポジトリ、API操作。
- カスタムメトリクス関連
- 色々作っています
- まとめていきます
- (Go, Pythonライブラリ欲しいっす)
- mackerel-client-ruby
- 連携
- hubot (ドックフーディング中らしい)
オススメッ!
- 簡単セットアップ
- 複雑過ぎない 簡単過ぎない
- システム構成要素を一元管理
- サービスの時系列データを可視化
質疑応答
- 事前のご意見・ご要望
- 台数 (時系列データの管理って大変ですよねー)
- 2,000台 はてなで実績あり。10,000まではいけるんじゃないか。
- AutoScale環境で使いやすくしたい
- ドックフーディング中 がんばって改善しています!
- サービストップのLoad Avg.を変更できるといい。
- 検討します。
- CloudWatchにメトリクスデータを流したい
- REST APIで今後できるようにします。
- OSSでの無償提供は考えているか?
- 前向きに考えます
- 事例がないので色々相談させて下さい
- 価格
- 原則 従量制でいきます
- ボリュームディスカウントとは考えます
- 固定が欲しい件は応相談
- 数値はいずれにしても検討中
- 台数 (時系列データの管理って大変ですよねー)
- Web Hook 対応 (質問した)
- 早い段階でやります。やりたい!
- アプリケーション間連携の重要性は考えていらっしゃる模様。
- 代理店 (@netmarkjpさんより)
- ぜひお話しさせてください
- メトリクスの細分化 よりリアルタイム化したい
- あると面白いと思っているが、Agentの実装をどうするか悩んでいる。
- API的には5秒は受けられない。どうするか考えたい。
- 需要があるのは確認している。
おわりに
- さばサンド、ありがとうございます!
- 鮮魚+ITでがんばる会社さんの提供!!!(ごめんなさいお名前控えきれませんでした)
- さくらの夕べもやります。
- フリークアウトさん、はてなさん、ありがとうございました!!!
- Togetter – Mackerel Meetup #1 Tokyo の感想まとめ #mackerelio – Togetterまとめ