Mackerel Meetup #1 に行ってきました #mackerelio

Mackerel Meetup #1 に行ってきました #mackerelio

昨夜は、はてなさんが提供を始めたサーバ管理ツール、その名もMackerelに関するお話を伺いに行きました。ITエンジニアの中での俗語ではサーバを「鯖」といいまして、そこからMackerelという名前が来ているようです。

また、ITインフラ系の方ばかりではなく、プログラマの方等、様々な背景を持った方達の交流の場ともなりました。はてなさんの懐の深さを感じずにはいられません。

それでは、いつものようにノートをアップしておきます。

概要

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
  • CLI: mkr
  • その他のツール
  • はてなさんの事例
    • 有名な某サービスの状態
    • 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秒は受けられない。どうするか考えたい。
    • 需要があるのは確認している。

おわりに

LINEで送る
Pocket