データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

ObjectRocketのメトリックダッシュボード徹底解説:Grafanaで実現するデータベース監視

本記事は、2019年9月9日にObjectRocket.com/blogで公開された内容をもとにしています。

Rackspace ObjectRocketのミッションは、お客様のデータベースを「オートパイロット」状態にすること。つまり、データ管理の手間からお客様を解放し、優れたアプリケーション開発に集中していただける環境を提供することです。しかし、データベースが自動化されていても、システムの可観測性(オブザーバビリティ)を維持することは依然として重要な課題です。

ObjectRocketのメトリックダッシュボード徹底解説:Grafanaで実現するデータベース監視

データストア内で何が起きているのか、そして直近のアプリケーションの変更がデータベースのパフォーマンスにどのような影響を与えているのかを正確に把握できることは、運用において極めて重要です。

そこで私たちは、新しいプラットフォーム上で提供するCockroachDB®、PostgreSQL®、Elasticsearch®向けに、まったく新しいメトリックダッシュボードをリリースしました。

提供される機能

ObjectRocketのMission Controlにログインすると、まずメインメニューに「Grafana® Metrics」オプションが追加されていることに気づくでしょう。

ObjectRocketのメトリックダッシュボード徹底解説:Grafanaで実現するデータベース監視

Grafana Metricsアイコンをクリックすると、新しいブラウザウィンドウが開き、シングルサインオン(SSO)経由でホスト型Grafanaサーバーにログインできます。ここでは、新しいObjectRocketプラットフォーム上にあるすべてのインスタンスのメトリックダッシュボードを確認できます。

ObjectRocketのメトリックダッシュボード徹底解説:Grafanaで実現するデータベース監視

Rackspace ObjectRocketのサブスクリプションには、以下の機能が含まれています。

  • Mission ControlとGrafana間のシングルサインオン
  • すべてのObjectRocketインスタンスの主要メトリックを表示するダッシュボード
  • すべてのメトリックを一箇所で一元管理
  • 無制限のメトリック保持期間

これらのメトリックの価値は、実際に体験してこそ実感できます。ぜひObjectRocketにサインアップし、インスタンスを作成してお試しください。仕組みの詳細や今後の展望については、このまま読み進めてください。

実装の背景と技術

ObjectRocketでは、お客様のデータストアを管理・保守するために、包括的なメトリックを活用してきました。その中でも、Prometheusは長年にわたり積極的に利用しているツールです。私たちが管理するすべてのインスタンスは、サポートチームがデータストアの問題を監視・診断できるよう、各ローカルのPrometheusサーバーへメトリックを出力しています。

社内には豊富なデータがある一方で、お客様からは「同じメトリックへのアクセス権が欲しい」という要望が頻繁に寄せられていました。新しいプラットフォームの構築にあたり、私たちはこの要望を実現すべく取り組みました。そのために解決すべきだったのが、Prometheusが標準では対応していない3つの課題——保持期間グローバルクエリマルチテナンシーでした。

保持期間とグローバルクエリの課題

この2つの課題に対しては、オープンソースプロジェクトであるThanosを採用しました。Thanosにより、単一のエンドポイントからグローバルなPrometheusサーバーフリート全体を横断してクエリを実行できるほか、古いデータを圧縮してストレージを管理し、無制限のデータ保持を実現できます。まさに理想的なソリューションであり、現在も完璧に機能しています。

マルチテナンシーの課題

マルチテナンシーは別の難題でした。ダッシュボードのフロントエンドとして採用しているGrafanaは、標準でマルチテナンシーをサポートしていますが、Prometheus側は対応していません。このギャップを埋めるため、私たちは独自のソリューションを開発しました。その名もprometheus-filter-proxyです。このプロキシにより、クエリを実行したユーザー自身に属するデータのみをフィルタリングして表示できるようになりました。

こうした取り組みとプラットフォームの組み合わせにより、お客様へメトリックを提供するためのすべての要素が揃いました。本記事ではアーキテクチャ全体について概要のみをご紹介しましたが、今後はアーキテクチャの詳細、直面した課題、意思決定の過程などをより深く掘り下げたコンテンツを公開予定です。どうぞご期待ください。

今後の展開

今回のメトリック機能は、お客様からの大きな要望にお応えするものですが、さらなる機能強化も計画しています。そのひとつが、新しいコントロールパネル「Mission Control」に、これらのメトリックのサブセットを表示する機能です。詳細な分析は引き続きGrafanaで行えますが、主要なメトリックをMission Controlにも表示することで、インスタンスの状況を素早く把握できるようになります。また、Grafana側でも設定の柔軟性やダッシュボードコントロールの追加を進めています。ぜひ今すぐサインアップして、新機能をお試しください。

ご意見やご質問がある場合は、フィードバックタブからお気軽にお寄せください。また、Sales Chatをクリックいただければ、担当者がすぐにご対応いたします。

  1. ObjectRocketデータベースへの接続方法:ネイティブ接続とSSL接続の解説

    ObjectRocketデータベースサービスへの接続と操作には、いくつかの簡単な方法があります。まず最初に行うのは、「Create Instance(インスタンス作成)」ボタンを使ってインスタンスを作成することです。インスタンスを作成すると、接続文字列が自動的にプロビジョニングされます。接続方法は以下の3種類から選択できます。ネイティブMongoDBドライバー(平文接続)ネイティブMongoDBドライバー(SSL暗号化接続)ObjectRocket API(SSL暗号化接続)接続前に知っておくべきこと具体的な接続手順に入る前に、ObjectRocketサービスの基本的な仕組みについて説明してお

  2. FluentdとObjectRocketで実現するハイブリッドクラウドのログ集約

    本記事は Hart Hoover と Ryan Walker による共著です。New RelicアラートをRackspaceサポートへ連携するサービスRackspace の DevOps Automation チームは最近、New Relic から発せられたアラートを Rackspace サポートに通知する新しいサービスを発表しました。このサービスでは、アラートが発生すると自動的にチケットが作成され、DevOps エンジニアが対応します。たとえ深夜3時にアラートが発生しても、お客様は安心して眠ることができるのです。さらに、お客様の環境から収集した他のデータポイントと組み合わせることで、エンジニ