Prometheusの凄い所

Prometheus Tokyo Meetup #2 レポート

クラウドネイティブなITインフラの監視・モニタリングのソフトウェアとして Prometheus (プロメテウス) が注目されています。そこで、
Prometheus は、いったい何が良いのか?」
という疑問への答えを見つけるために 2019年6月3日 に開催された、Prometheus Tokyo Meetup #2 に参加してみました。
以下は、どちらかというとPrometheusをよくご存じでない方、かつ、技術に詳しくない方に向けて、なるべく簡潔にレポートしたつもりです。

まず、Prometheusって何?という方のために、以下の画像をご覧ください。

Prometheus-Kong
これは、Kongをモニタリングしている例ですが、このような優れたビジュアルでITインフラの状況を可視化できるソフトウェアです。
それでは、Meetupでわかった Prometheusの凄い所を10個ほど 書いていきます。

1. 人気が凄い

このMeetupの定員120名に対して、申込みがピークで240くらいあり早々に完売状態で、会場は当然のことながら満員御礼でした。connpassのコミュニティメンバーも600人を超えています。世界では、PrometheusのTwitterのフォロワー数が約20000人で、同種の監視・モニタリングのソフトウェアとして有名な Zabbixの約7000人 や Nagios の約5600人 をはるかに上回る数字です。10年以上の歴史を持つZabbix, Nagiosと比較して、Prometheus は後発であるだけに、いかに人気が急上昇しているかがわかります。

2. アーキテクチャが凄い

では、なぜそんなに人気があるのか?という理由ですが、MeetupでのKazuki Suda さま(ゼットラボ株式会社)によるプレゼンで、ひとつはアーキテクチャが優れていることだとわかりました。1個のバイナリで提供されるシンプルな実装であること、標準的なhttpプロトコルで監視対象のメトリクスをPull型で収集すること、時系列データの処理に特化した TSDB (Time Series Database) を内蔵していることなど、優れた点を数多く持っています。本レポートでは技術的な深堀りはしませんが、興味のある方は、Kazuki Suda さま(ゼットラボ)による「入門 Prometheus」を動画でご覧ください。



3. Grafanaによるビジュアルが凄い

Prometheus は主に監視対象のメトリクスの収集と蓄積を主眼に置いたソフトウェアですが、これを Grafana という可視化ソフトウェアと組み合わせることで、驚くほどビジュアルなダッシュボードを表示することができます。Meetupでのさまざまなプレゼンでも Grafana による「イケてる」画面が紹介されていますが、百聞は一見に如かず、Youtubeの動画をご覧ください。



4. スケーラビリティが凄い

Meetupでは、ユーザー事例として、クックパッド株式会社、Preferred Network株式会社、ヤフー株式会社が登壇されました。いかにも大規模なインフラを運用してそうな会社ばかりですが、「ピーク時で、約2000ターゲット、300万メトリックス」(クックパッド)、「2560GPUs、320ノード」(Preferred Network)といった規模で実運用されており、スケーラビリティの高さは実証済みだといえるでしょう。詳しくは Ryota Yoshikawaさま(クックパッド)による「Prometheus and Cookpad」を動画でご覧ください。さまざまな画面例も紹介されています。



5. Kubernetesに対応できて凄い

Prometheusの人気を後押ししているのは、同じく急速に人気が高まっている Kubernetes ではないでしょうか。Kubernetes環境下では、コンテナーの起動・終了やオートスケールなどが自動で行われるため、インフラの内部で何が起きているか可視化することが重要になります。Prometheusは、Kubernetes環境をモニタリングし、Grafanaでダッシュボード化することが可能です。詳しくは、KubernetesによるGPUクラスターを運用している事例である 荒井 良太さま(Preferred Network)による「Prometheus at PFN」を動画でご覧ください。



6. ネットワークまで監視できて凄い

このMeetupにおける新鮮な発見。それはPrometheusがVMやコンテナーの監視だけでなく、ネットワークの監視までできる、ということが事例でわかったことでした。Prometheusでは exporterというコンポーネントを通じて監視対象からメトリクスを収集しますが、snmp_exporterや独自開発のexporterを駆使してネットワークの死活やリソースの監視ができます。詳しくは 安藤 格也さま(ヤフー)さまによる「ネットワーク監視でのPrometheus活用事例」を動画でご覧ください。



7. エコシステムが凄い

Prometheusにとっては、監視対象からメトリクスを収集するexporterの品揃えが重要です。このexporterを中心とするエコシステムが強力で、PrometheusのExporters and integrations のページには膨大な数のexporterとサードパーティのソフトウェアがラインアップされています。例えばデータベースだけでも、MySQLやOracleなど20種類以上も用意されています。弊社が提供しているAPIゲートウェイ Kongは、Software exposing Prometheus metrics として同ページに掲載されており、プラグインによってPrometheusがメトリクスを収集することができます。

8. オープンソースだから凄い

良いことだらけのPrometheusですが、オープンソースのソフトウェアですので、基本的にソフトウェアのライセンスにお金を払う必要はありません。Prometheusの良き相棒である Grafana も基本的にオープンソースのソフトウェアで、こちらもお金を払わずに使用することができます。ただし、Grafanaの場合は有償サポートがつく Enterprise 版と月額料金で使用できる Grafana Cloud も提供されています。

9. ユーザーが凄い

これだけ凄いところが多いPrometheusがオープンソースで無料となると、あと気になるところは事例でしょうか。しかし、繰り返しになりますが、ユーザー事例として、クックパッド株式会社、Preferred Network株式会社、ヤフー株式会社が導入し、大規模な環境で運用しています。Meetupで登壇された貴重な事例情報を共有してくださったスピーカーの皆様の写真を敬意をもって掲載させていただきます。

Kazuki Sudaさま (@superbrothers)
ゼットラボ株式会社

Ryota Yoshikawaさま (@rrreeeyyy)
クックパッド株式会社

荒井 良太さま (@ryot_a_rai )
株式会社Preferred Networks

安藤 格也さま (Twitter: @akakuya, GitHub: servak)
ヤフー株式会社

10. 書籍が凄い

5月に オライリージャパンから待望のPrometheusの書籍「入門 Prometheus」が出版されました。これまで日本語でまとまった情報がなかったわけですが、この本によって一気に状況が変わったといえるでしょう。これは、Meetupで登壇された Kazuki Suda さまが尽力されたものということで敬意を表したいと思います。これは間違いなくPrometheusのバイブルとなる本ですので、みなさまもぜひ一冊。

入門 Prometheus

本書はPrometheusモニタリングシステムを使って、インフラストラクチャとアプリケーションのパフォーマンスをモニタリングしてグラフ化したり、アラートを送る方法を解説する書籍です。 …

最後になりますが、素敵な会場とドリンク・まい泉のミニバーガーを提供してくださったサーバーエージェントさまに感謝したいと思います。