ForgeRockへのインタビュー

2019年6月18日筆者: Simon Pasquier

Prometheusユーザーへのインタビューシリーズを継続して、ForgeRockのLudovic Poitou氏が監視ジャーニーについて語ります。

ご自身とForgeRockがどのような会社か教えていただけますか?

私はForgeRockのプロダクトマネジメントディレクターであるLudovic Poitouです。ForgeRockは、フランスのグルノーブル近郊に拠点を置く、国際的なIDおよびアクセス管理ソフトウェア企業です。従業員は500名を超え、2010年にノルウェーで設立され、現在は米国サンフランシスコに本社を置いています。お客様、従業員、デバイス、モノとのすべてのオンラインインタラクションを保護するソリューションを提供しています。金融企業から政府機関まで、800社以上の顧客がいます。

Prometheus導入前のモニタリング経験について教えてください。

ForgeRock Identity Platformは常に監視インターフェースを提供してきました。しかし、プラットフォームは4つの主要製品で構成されており、それぞれに異なるオプションがありました。例えば、Directory Services製品は、SNMP、JMX、LDAP、あるいは最新バージョンではHTTP経由のRESTful APIを通じて監視情報を提供していました。他の製品はRESTまたはJMXのみでした。その結果、プラットフォーム全体を監視することは複雑であり、これらのプロトコルを統合できるツールが必要でした。

Prometheusを検討することにした理由は何ですか?

既存のインターフェースを後方互換性のために維持しつつ、すべての製品の監視のための単一の共通インターフェースが必要でした。

すべての製品でメトリクスを収集するためにDropWizardを使い始めました。同時に、これらの製品をクラウドに移行し、DockerやKubernetesで実行し始めていました。そのため、Kubernetesとの統合、デプロイのシンプルさ、Grafanaとの統合から、Prometheusが明白な選択肢となりました。Graphiteも検討しましたが、製品にサポートを追加したものの、顧客にはほとんど利用されていません。

どのように移行しましたか?

一部の製品はすでにDropWizardライブラリを使用していましたし、すべての製品で共通のライブラリを使用することにしていたので、インストルメンテーションをコード化する上でDropWizardは明白な選択でした。しかし、すぐにデータモデルで問題に直面しました。Prometheusインターフェースはディメンションを使用しますが、私たちはメトリクスに対して階層的なモデルを傾向として持っていました。また、Micrometerを使い始め、すぐにいくつかの制約に直面しました。そこで、Micrometerインターフェースを使用してメトリクスを収集するためのカスタム実装を構築することになりました。DropWizard Metricsを要件に合わせて調整し、DropWizard Prometheusエクスポーターに調整を加えました。今では、単一のインストルメンテーションで、ディメンション付きまたは階層的にメトリクスを公開できます。その後、顧客がインストールしてカスタマイズし、独自の監視ビューとアラートを取得できるように、サンプルGrafanaダッシュボードの構築を開始しました。

Access Management ForgeRock's Grafana dashboard

以前のインターフェースは引き続き提供していますが、PrometheusとGrafanaの使用を顧客に強く推奨しています。

切り替え以降、どのような改善が見られましたか?

最初のメリットは、品質エンジニアリングチームから得られました。Prometheusサポートとさまざまなメトリクスをテストし始めたとき、すべてのストレスおよびパフォーマンステストでデフォルトで有効にするようになりました。特定のテストのためにGrafanaダッシュボードをカスタマイズし始めました。その後すぐに、パフォーマンスの問題を説明するためにさまざまなメトリクスを強調し、指摘し始めました。

問題を再現して理解し、修正するために、エンジニアリングチームもPrometheusを使用し、一部のダッシュボードを拡張しました。このプロセス全体により、より良い製品と、顧客にとって監視および視覚化すべきメトリクスが何であるかについての理解が深まりました。

ForgeRockとPrometheusの将来についてどうお考えですか?

ForgeRockは、製品とソリューションをサービスとして提供する取り組みを開始しました。この動きにより、監視とアラートがさらに重要になっており、もちろん、当社の監視インフラストラクチャはPrometheusに基づいています。現在、2つのレベルの監視があります。1つはテナントごとで、Prometheusを使用して顧客環境のデータを収集し、その顧客にメトリクスのセットを公開できます。しかし、すべてのデプロイされたテナントからのメトリクスがプッシュされる中央Prometheusサービスも構築しました。これにより、SREチームは、すべての顧客環境がどのように実行されているかを非常によく理解できます。全体として、Prometheusは当社の主要な監視サービスとなり、オンプレミスのお客様と、サービスとしてソリューションを実行している私たち自身の両方に役立っていると言えるでしょう。