ForgeRockとのインタビュー
2019年6月18日筆者: Simon Pasquier
Prometheusユーザーへのインタビューシリーズを続けます。ForgeRockのLudovic Poitou氏が彼らの監視の旅について語ります。
ご自身とForgeRockの事業内容について教えていただけますか?
私はLudovic Poitouです。フランスのグルノーブル近郊に拠点を置く、ForgeRockのプロダクトマネジメントディレクターを務めています。ForgeRockは、従業員500人以上の国際的なアイデンティティ&アクセス管理ソフトウェア会社で、2010年にノルウェーで設立され、現在は米国サンフランシスコに本社を置いています。当社は、顧客、従業員、デバイス、モノとのあらゆるオンラインインタラクションを保護するソリューションを提供しています。金融会社から政府機関まで、800社以上のお客様にご利用いただいています。
Prometheus導入以前の監視経験について教えてください。
ForgeRock Identity Platformは常に監視インターフェースを提供してきました。しかし、このプラットフォームは4つの主要製品で構成されており、それぞれ異なるオプションがありました。例えば、Directory Services製品は、SNMP、JMX、LDAP、あるいは最新バージョンではHTTP経由のRESTful APIを通じて監視情報を提供していました。他の製品はRESTまたはJMXのみでした。結果として、プラットフォーム全体を監視することは複雑で、これらのプロトコルを統合できるツールが必要でした。
Prometheusを検討することになったのはなぜですか?
既存のものは下位互換性のために維持しつつ、すべての製品を監視するための単一の共通インターフェースが必要でした。
すべての製品でメトリクスを収集するためにDropWizardを使い始めました。同時に、これらの製品をクラウドに移行し、DockerとKubernetesで実行し始めました。そのため、PrometheusはKubernetesとの統合、デプロイのシンプルさ、Grafanaとの統合により、明確な選択肢となりました。Graphiteも検討し、製品でのサポートも追加しましたが、お客様にはほとんど利用されていません。
どのように移行しましたか?
一部の製品ではすでにDropWizardライブラリを使用しており、すべての製品で共通のライブラリを使用することにしていたため、DropWizardは計測をコード化するための明白な選択でした。しかし、データモデルに関してすぐに問題に直面しました。Prometheusインターフェースはディメンションを使用しますが、私たちはメトリクスに対して階層的なモデルを持つ傾向がありました。Micrometerも使い始めましたが、すぐにいくつかの制約にぶつかりました。そのため、Micrometerインターフェースを使用してメトリクスを収集するためのカスタム実装を構築することになりました。DropWizard Metricsを要件に合わせて調整し、DropWizard Prometheusエクスポーターにも調整を加えました。今では、単一の計測でディメンションまたは階層的にメトリクスを公開できます。そして、お客様がインストールしてカスタマイズすることで、独自の監視ビューとアラートを持つことができるサンプルGrafanaダッシュボードを構築し始めました。
引き続き以前のインターフェースも提供していますが、お客様にはPrometheusとGrafanaの使用を強く推奨しています。
切り替えてからどのような改善が見られましたか?
最初のメリットは、当社の品質エンジニアリングチームからもたらされました。彼らがPrometheusのサポートとさまざまなメトリクスのテストを始めると、すべてのストレステストとパフォーマンステストでデフォルトで有効にするようになりました。彼らは特定のテスト用にGrafanaダッシュボードをカスタマイズし始めました。その後すぐに、いくつかのパフォーマンス問題を説明するために、さまざまなメトリクスを強調し、指摘し始めました。
問題を再現して理解し、修正する際にも、当社のエンジニアリングチームはPrometheusを使用し、いくつかのダッシュボードを拡張しました。この一連のプロセスにより、より良い製品と、お客様にとって監視し視覚化することが重要なメトリクスについて、より深く理解することができました。
ForgeRockとPrometheusの将来についてどうお考えですか?
ForgeRockは、製品とソリューションをサービスとして提供する取り組みを開始しました。この動きに伴い、監視とアラートはさらに重要になっており、もちろん、当社の監視インフラストラクチャはPrometheusをベースにしています。現在、テナントごとに2つのレベルの監視を行っており、Prometheusを使用して顧客環境に関するデータを収集し、その顧客に対して一連のメトリクスを公開できます。しかし、展開されているすべてのテナントからのメトリクスがプッシュされる中央Prometheusサービスも構築しており、当社のSREチームはすべての顧客環境がどのように稼働しているかを本当に良く理解できます。全体として、Prometheusは当社の主要な監視サービスとなり、オンプレミスのお客様と、サービスとしてソリューションを実行する私たち自身の両方に貢献していると言えるでしょう。