Prometheus Casual Talks #2を開催しました
Prometheus Casual Talks #2 - connpass
Prometheus Casual Talks #2 まとめ - Togetter
Prometheus開発者のBrian Brazilさんが来日するのでそれにあわせてPrometheus Casual Talks第二回を開催しました。
第一回の様子はPrometheus Casual Talks #1を開催しました - wyukawa’s blog参照
スライドはそのうち全部上がると思いますが、今回はLINE LIVEでの録画があるので気になる方はそちらをチェックしていただくと良いと思います。Prometheus Casual Talks #2 - LINE LIVE(ラインライブ)| 国内最大級のライブ配信サービス
内容としてはBrianさんがPrometheusの入門的な内容を、@tokuhiromさんがPrometheusをJavaアプリケーションをモニタリングする話を、@mtandaさんがGrafana周りの話を、@kfdmさんがPrometheusを使ってPrometheusそのものやアラート回数などをモニタリングする話を、しました。
PrometheusはDockerというかImmutable Infrastructure界隈で使うのが一般的で、前回も今回もそういう話題は少なかったので、その辺を知りたい方には物足りなかったかもしれません。そういう環境だとService Discoveryの技術を活用するのが必要で、だからこそPrometheusもKubernetesやEC2などとの連携を重視しているように見えます。
また会場で少し話題になったPush vs Pullの宗教的な議論がありますが、ほとんどのモニタリングソフトはPush型でPull型のほうがレアだと思います。Prometheus, Borgmon以外だとNagiosとかCloudForecastかな。
僕が考えるPull型のメリットはPush型に比べて中央のサーバーがつまりにくいことかなと思います。つまりそうになったらサーバー増やしてPullするものを分割すればいい。あとHAが容易にできる。アラートもモニタリング対象サーバーからPushするモデルだとそのサーバーがダウンしてたらPushできない、なのでタイムアウトがあったりするけど、Pull型だったら最初から外形監視っぽく使える。
ただPull型だとPullする対象のサーバーを探さなくちゃいけないので、だからこそService Discoveryの技術が必要。ただうちみたいにオンプレミス環境だとその必要性が薄くて、だからこそpromgenが出てきたという。
またPull型だとファイアーウオールの壁を越えられないので、商用モニタリングソフトとしてはちょっと採用しにくい。もっともPromCon 2016でプレゼンがあったFrankensteinはPrometheusベースの商用モニタリングサービスだけど、そこの部分をPush型にしている例だと理解しています。
Long Term Storageの話題も少し出ましたが、Prometheus開発者としてはそこは他のプロジェクト、例えばFrankensteinだとDynamoDB, S3だし、VulcanだとCassandraのように任せてコア側はインターフェースを用意するという方向性のようです。