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

このページでは、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 プロジェクトのログのみを表示するように、[ログ] パネルの構成を変更します。

ログパネルに権限拒否メッセージが表示される

ダッシュボードのログパネル ウィジェットに、次の権限拒否メッセージが表示されます。

Error: Permission 'logging.views.access' denied on resource (or it may not exist).

この問題を解決するには、次の操作を行います。

  1. ログパネル ウィジェットを編集します。
  2. 次のいずれかを行います。

    • [Scope by] メニューを [プロジェクト] に設定してから、[プロジェクト] メニューを使用して [現在のプロジェクト] を選択します。

    • 表示権限がないログビューを [ストレージ ビュー] メニューから削除します。ログビューへのアクセスに必要な IAM ロールについては、ログビューへのアクセス権を付与するをご覧ください。

      ログパネル ウィジェットでログビューを検索する場合は、一覧表示されているすべてのログビューのログエントリを読み取る権限が必要です。 それ以外の場合は、エラー メッセージが表示されます。

  3. [適用] をクリックします。

[ログ] パネルでダッシュボードを作成するための 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 ファイルをご覧ください。