Cloud Monitoring ダッシュボードを使用する
このページでは、Cloud Monitoring ダッシュボードを使用して、使用可能な指標を表示し、カスタム ダッシュボードを作成して、アラートを設定する方法について説明します。
Firestore の指標を表示する
さまざまな Firestore 指標を表示してグラフを作成するには、次のいずれかを使用します。
コンソールの Firestore セクションの [モニタリング] ページ。 Google Cloud このページには、事前定義されたモニタリング ダッシュボードが含まれています。また、カスタム ダッシュボードを 1 つだけ作成できます。データベースの [モニタリング] ページにアクセスする手順は次のとおりです。
コンソールで、Firestore の [データベース] ページを開きます。 Google Cloud
リストからデータベースを選択します。
ナビゲーション メニューで [モニタリング] をクリックして、ダッシュボードを開きます。
コンソールの Cloud Monitoring 内の Metrics Explorer。 Google Cloud グラフの作成の詳細については、 Metrics Explorer でグラフを作成するをご覧ください。
Cloud Monitoring ダッシュボードを表示する
Cloud Monitoring では、カスタム ダッシュボードを使用して、関連する情報を体系的に表示できます。たとえば、本番環境にあるプロジェクトのパフォーマンス指標やアラート ポリシーを表示するダッシュボードを作成できます。
カスタム ダッシュボードの設定の詳細については、カスタム ダッシュボードを管理するとダッシュボード ウィジェットを追加するをご覧ください。
エラー率をモニタリングする
モニタリング ダッシュボードを作成して、エラー率をモニタリングし、データベースの可用性を確保できます。 可用性とは、データベースが予想される時間枠内で、正常なステータス コードで応答する率を指します。Firestore SLA では、有効なリクエストとして分類されるものの詳細が定義されています。
エラー率は、エラー レスポンスとなったリクエストの数を、送信されたリクエストの合計数で割ることによって求められます。
エラー率を計算するダッシュボードの例は、4xx または 5xx のエラー コードを持つ有効なリクエストの api/request_count と、すべての有効なリクエストの api/request_count の A/B 比率を計算することで作成できます。
図 1 は、Metrics Explorer で api/request_count 指標を使用してエラー率を可視化する方法を示しています。
アラート ポリシーを作成する
Cloud Monitoring では、指標条件の変更が発生したときに通知されるアラートを作成できます。これらのアラートを使用すると、潜在的な問題がユーザーに影響を及ぼす前に通知を受け取ることができます。
アラートの作成の詳細については、指標しきい値のアラート ポリシーを作成するをご覧ください。
レイテンシ アラート ポリシーを作成する次の例について考えてみます。アラート ポリシーは、5 分間のローリング ウィンドウで p99 レイテンシをチェックします。p99 レイテンシが 5 分間 250 ミリ秒を超えると、アラートがトリガーされます。
コンソール
コンソールで、[モニタリング] ページに移動して、 notifications [アラート] を選択します。 Google Cloud
[ポリシーを作成] を選択します。
[使用済み API] リソースから [リクエスト レイテンシ] 指標を選択します。
ネイティブ モードのデータベースに Firestore の
firestore.googleapis.comのサービス フィルタを追加します。
[次へ] をクリックしてトリガーを設定します。
[条件タイプ] を [しきい値] に選択します。
しきい値条件のしきい値は 250 ミリ秒に設定されています。p99 レイテンシ値がローリング ウィンドウ(5 分)の期間全体(5 分)で同じ値のままであると、アラートがトリガーされます。
[しきい値] を [250] に設定します。
[次へ] をクリックして通知を構成します。
アラート ポリシー名を設定し、[次へ] をクリックします。
アラート構成を確認して [ポリシーを作成] をクリックします。
MQL
Monitoring Query Language(MQL)クエリを使用して、同じレイテンシ アラート ポリシーを実装できます。MQL の使用例については、サンプル MQL クエリをご覧ください。
fetch consumed_api
| metric 'serviceruntime.googleapis.com/api/request_latencies'
| filter (resource.service == 'firestore.googleapis.com')
| group_by 5m,
[value_request_latencies_percentile:
percentile(value.request_latencies, 99)]
| every 5m
| condition val() > 0.25 's'