グラフのトラブルシューティング

このページでは、Google Cloud プロジェクトで収集された指標を使用する場合の動作について説明します。

グラフのエラー

このセクションでは、グラフの構成時に発生する可能性のあるエラーについて説明します。グラフを構成するには、Metrics Explorer を使用するか、ダッシュボードにグラフを追加します。

グラフデータのギャップ

グラフのデータにギャップが生じる場合があります。たとえば、次のスクリーンショットは、指標 loadbalancing.googleapis.com/https/total_latencies でのこの動作を示しています。

値のギャップがあるグラフの例。

データのギャップは、データの書き込み頻度が非常に低い場合に発生します。Cloud Monitoring はサンプリングによって指標を収集しますが、非常にスパースなデータでは、サンプルの収集時に利用可能なデータがないことがあります。たとえば、リクエスト数が 0.05 クエリ/秒(QPS)以下である場合、ロードバランサの指標でギャップが生じることがあります。クエリレートが高くなると、ギャップはなくなります。

期間が変更されるとアライメント期間が変更される

ダッシュボードにグラフを追加します。グラフの期間を変更すると、アライメント期間が変更されることがあります。たとえば、期間を 1 時間から 2 時間に変更すると、アライメント期間は 1 minute interval と表示されます。ただし、期間を 1 時間から 1 日に変更すると、アライメント期間は 5 minute interval として表示されます。

この動作は予期されたものです。

グラフでは、表示できるデータポイントの数に上限があります。そのため、選択した期間で使用可能なデータポイントの数が表示の上限より大きい場合、Monitoring は自動的にアライメント設定を変更して、表示するデータポイントの数を減らします。

グラフにデータが表示されない

グラフを構成したときに、データではなくエラー メッセージが表示されます。

  • グラフに対して指定された期間に使用できるデータがない場合は、次のメッセージが表示されます。

    No data is available for the selected time frame.
    

    この問題を解決するには、次のことを試してください。

    • グラフの期間を長くします。割り当て使用状況を報告する指標など、一部の指標タイプでは、1 日に 1 つのサンプルのみが提供されます。

    • グラフに対して選択した指標タイプを変更します。グラフで指定された指標タイプが非アクティブである可能性があります。つまり、その指標タイプのデータはありません。

  • クエリで指定された指標タイプまたはリソースタイプが認識されないと、次のメッセージが表示されます。

    An error occurred requested data. One or more resources could not be found.
    

    この問題を解決するには、次のことを試してください。

    • クエリで指定された指標タイプとリソースタイプが定義されていることを確認します。グラフのメニュー形式のインターフェースを使用して、指標タイプを検索できます。

    • クエリの指標タイプとリソースタイプのスペルを確認します。

複数の指標を含むグラフにエラー メッセージが表示される

複数の指標を表示するようにグラフを構成し、次のエラー メッセージがグラフに表示されます。

    The units for queries using the same Y-axis must be the same for the chart
    to render correctly.

グラフには複数の指標タイプを表示でき、指標タイプを左側の Y 軸または右側の Y 軸にマッピングできます。左側の Y 軸にマッピングされるすべての指標タイプの単位は同じである必要があります。そうでない場合は、前のエラー メッセージが表示されます。同様に、右側の Y 軸にマッピングされるすべての指標タイプの単位は同じである必要があります。そうでない場合は、前のエラー メッセージが表示されます。

このエラーを解決するには、次の手順を行います。

  1. グラフに含まれている指標の単位が 3 種類以上ある場合は、単位が 2 種類になるまで指標を削除します。

  2. 一方の単位の種類のすべての指標を左側の Y 軸に割り当て、もう一方の単位の種類のすべての指標を右側の Y 軸に割り当てます。

複数の指標が含まれるグラフに予期しないデータが表示される

複数の指標を表示するようにグラフが構成されており、特定の時系列のみを表示するようにフィルタが追加されています。ただし、グラフにはフィルタを満たさない時系列が表示されます。

この状況を解決するには、グラフ化された各指標にフィルタを適用します。

たとえば、次のスクリーンショットは、仮想マシン(VM)インスタンスの読み取りと書き込みのバイト数を示すグラフの Metrics Explorer の構成ペインを示しています。

2 つの指標タイプを使用する Metrics Explorer の例。

スクリーンショットでは、グラフに表示される指標タイプごとに 1 つの見出しが表示されています。

たとえば、us-central1-a ゾーンにある VM の時系列のみをグラフに表示するには、各クエリにフィルタ zone = us-central1-a を追加します。

MQL 定義グラフと PromQL 定義のグラフのフィルタ値を選択できない

カスタム ダッシュボードでグラフを作成し、Monitoring Query Language(MQL)または PromQL を使用してそれらのグラフを構成します。次に、永続的なダッシュボード フィルタを作成します。ダッシュボードを表示しているときに、フィルタのデフォルト値を変更しようとすると、ラベル値のメニューが表示されないか、ラベル値のメニューが正しくありません。

ダッシュボード全体のフィルタの値が読み込まれません。

この問題を解決するには、フィルタ値を入力して [適用] を選択します。たとえば、フィルタキーが zone の場合、「us-central1-a」と入力します。

ダッシュボードのエラー

このセクションでは、ダッシュボードの作成時に表示される可能性のあるエラーについて説明します。

ダッシュボードにすべてのイベントが表示されない

イベントを表示するダッシュボードを構成したところ、最近のイベントのみが表示されます。古いイベントは表示されません。

この問題を解決するには、以下のいずれかを行います。

  • 期間を短く設定します。たとえば、直近の日にちではなく直近の時間のデータを表示するか、カスタム期間を選択します。

  • フィルタを追加します。

パフォーマンス上の理由から、ダッシュボードでは、表示できるイベントの数に上限があります。これらの上限に達すると、ダッシュボードには直近のイベントのみが表示されます。

アラートグラフにデータが表示されない

ダッシュボードにはアラートのグラフが含まれますが、アラートのグラフにはデータが表示されません。

この状況を解決するには、次のことを試してください。

  • アラートのグラフの構成を表示し、アラート ポリシーが選択されていることを確認します。アラート ポリシーが表示されない場合は、アラートのグラフをアラート ポリシーに関連付けるか、アラートのグラフをダッシュボードから削除します。

    アラートのグラフがダッシュボードに追加された後に、参照されているアラート ポリシーが削除されると、アラートのグラフにデータが表示されなくなります。アラート ポリシーを削除しても、そのポリシーを参照しているアラートのグラフは削除されません。

  • アラート ポリシーの詳細を表示して、1 つの条件が含まれていることを確認します。

    アラートのグラフがダッシュボードに追加され、参照されているアラート ポリシーに複数の条件が含まれている場合、アラートのグラフの表示は停止します。この状態を解決するには、アラートのグラフを単一条件のアラート ポリシーに関連付けるか、ダッシュボードからアラートのグラフを削除します。

  • 期間を長くします。期間セレクタは、データのサンプリング期間よりも長い値に設定する必要があります。ほとんどの指標は 60 秒ごとにサンプリングされますが、一部の指標のサンプリング頻度は低くなります。たとえば、serviceruntime.googleapis.com/quota/limit 指標は 86,400 秒(1 日)ごとにサンプリングされます。

[ログ] パネルで無効なクエリが報告される

「エラー: クエリが無効です」というエラー メッセージが表示され、ログパネルにログエントリは表示されません。

この問題を解決するには、ログを表示するようにログパネルが構成されているプロジェクトの数を削減します。

この失敗条件の詳細については、クエリでエラーが返されるをご覧ください。

[ログ] パネルでエントリが見つからないことが報告される

ログパネルに「現在のフィルタに一致するエントリが見つかりません」というエラー メッセージが表示されます。このメッセージが表示された場合は、いくつかの理由が考えられます。 以下をご確認ください。

  • ログエントリを表示するプロジェクトごとに、次のいずれかに該当することを確認します。

    • ログ閲覧者roles/logging.viewer)のロールがあること。
    • カスタムロールの場合、次の権限があること。

      • logging.logs.list
      • logging.logServiceIndexes.list
      • logging.logServices.list
  • Query Editor 内の句が、ログパネルに表示される設定と競合していないことを確認します。

    たとえば、[Query Editor] フィールドに severity=NOTICE が含まれている場合、ログパネルは重大度が NOTICE であるすべてのログを取得します。ログパネルの [重大度] メニューが「警告」に設定されている場合、ログパネルには「現在のフィルタに一致するエントリは見つかりませんでした。」と表示されます。重大度が「警告」以上の取得されたログエントリがないため、メッセージが表示されます。

    一方、[Query Editor] フィールドに severity=WARNING が含まれ、ログパネルの [重大度] メニューが「通知」に設定されている場合は、ログエントリが表示されることがあります。この構成では、ログパネルで重大度が WARNING のログを取得します。次に、そのログのリストは、重大度が「通知」以上のログリストのみをフィルタリングし、取得したすべての重大度以上のログを表示します。

[ログ] パネルで一部のデータが表示されていることが示される

[ログ] パネルに警告インジケーターと「結果の一部を表示しています」というメッセージが表示されます。

ログを表示するよう選択した Google Cloud プロジェクトのログを表示する権限がない場合、このインジケーターが表示されます。警告インジケーターを削除するには、次のいずれかを行います。

  • ログを表示する各 Google Cloud プロジェクトに対して次のいずれかの操作を行うよう、システム管理者に依頼します。

    • ログ閲覧者のロール(roles/logging.viewer)を付与します。
    • カスタムロールの場合は、次の権限を付与します。

      • logging.logs.list
      • logging.logServiceIndexes.list
      • logging.logServices.list
  • ログエントリを表示する権限を持つ Google Cloud プロジェクトのログのみを表示するように、[ログ] パネルの構成を変更します。

[ログ] パネルでダッシュボードを作成するための API 呼び出しが失敗する

[ログ] パネルを含むダッシュボードを作成するときに、エラー メッセージが表示される理由はいくつかあります。

  • [ログ] パネルの高さまたは幅の最小要件を満たしていないと、次のエラーが表示されます。

    Unable to save dashboard: Field mosaicLayout.tiles[0] has an invalid value: LogsPanel must have a minimum width of 3 and height of 3.
    

    この状態を解決するには、ダッシュボードの JSON 表現で、[ログ] パネル ウィジェットの height フィールドと width フィールドが最小要件を満たしていることを確認します。

  • logsPanel.filter フィールドが 2,000 文字を超えると、次のエラーが表示されます。

    Unable to save dashboard: filter cannot be greater than 2000 characters.
    

    この状態を解決するには、フィルタを短くします。

  • resourceNames フィールドが欠落している場合は、次のエラー メッセージが表示されます。

    Unable to save dashboard: Dashboard is missing required field mosaicLayout.tiles[0].widget.logsPanel.resourceNames.
    

    この状態を解決するには、ダッシュボード JSON に resourceNames フィールドを追加します。

  • resourceNames の構文が正しくない場合、次のエラーが表示されます。

    Unable to save dashboard: Field mosaicLayout.tiles[0].widget.logsPanelWidget.resourceNames has an invalid value of "a-project": resource name must have the format `projects/{project}`."
    

    この状態を解決するには、ダッシュボード JSON の a-projectprojects/a-project に置き換えます。

  • filter フィールドの構文エラーを解決する方法については、トラブルシューティング: 構文の問題をご覧ください。

正しい形式の JSON ファイルの例については、LogsPanel ウィジェットを含むダッシュボードをご覧ください。

Grafana ダッシュボードのインポート

ダッシュボード インポータの使用とトラブルシューティングについては、Grafana ダッシュボードを Cloud Monitoring にインポートするをご覧ください。

ダッシュボードのコンテンツの変換に関する問題については、インポータの README ファイルをご覧ください。