ForgeRockへのインタビュー

Prometheusユーザーへのインタビューシリーズを続け、ForgeRockのLudovic Poitou氏がモニタリングの道のりについて語ります。

自己紹介とForgeRockの事業内容について教えてください。

私はLudovic Poitou、フランスのグルノーブル近郊を拠点とするForgeRockのプロダクトマネジメントディレクターです。ForgeRockは、2010年にノルウェーで設立され、現在は米国サンフランシスコに本社を置く、500人以上の従業員を抱える国際的なIDおよびアクセス管理ソフトウェア会社です。 顧客、従業員、デバイス、およびモノとのあらゆるオンラインインタラクションを保護するためのソリューションを提供しています。 金融機関から政府機関まで、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は主要なモニタリングサービスになり、オンプレミスの顧客と、サービスとしてソリューションを実行している私たち自身の両方に役立っていると言えます。