BI Engine をモニタリングする

BigQuery BI Engine は、Google Cloud サービスと連携して BI Engine の使用状況のモニタリングとトラブルシューティングを支援します。

Cloud Monitoring

BigQuery BI Engine は Cloud Monitoring と統合されているため、集約された BI Engine の使用状況を集約してモニタリングし、アラートを構成できます。Monitoring を使用して BI Engine の指標のグラフを作成する方法については、Monitoring ドキュメントのグラフの作成をご覧ください。

BigQuery BI Engine では、次の指標が提供されます。

リソース 指標 詳細
BigQuery プロジェクト 予約合計バイト数 1 つの Google Cloud プロジェクトに割り当てられた合計容量
BigQuery プロジェクト 予約使用バイト数 1 つの Google Cloud プロジェクトで使用される合計容量
BigQuery プロジェクト BI Engine の上位テーブルのキャッシュに保存されたバイト数 テーブルごとのキャッシュ使用量。この指標には、リージョン レポートごとの上位 N 個のテーブルの使用状況が表示されます。

Looker Studio を使用する場合は、BI Engine によって次の指標も提供されます。

リソース 指標 詳細
BigQuery BI Engine モデル 移動リクエスト モデルへの同時リクエスト数(サンプル期間内の最大値)
BigQuery BI Engine モデル リクエスト数 モデルに対して発行されたリクエストの合計数
BigQuery BI Engine モデル リクエスト実行時間 クエリ実行レイテンシの中央値

Cloud Monitoring を使用すると、BI Engine によってキャッシュに保存された Looker Studio データソースのトラフィックを表示できます。Cloud Monitoring ウィジェットに BI Engine の指標を表示すると、モデル ID が指標のディメンションとして表示されます。BigQuery BI Engine モデルのモデル ID を確認するには、ウェブブラウザで Looker Studio モデルを開きます。モデル ID は、URL の datasources/ に続く部分です。例: https://lookerstudio.google.com/c/u/0/datasources/<model_id>

利用可能な Google Cloud 指標の完全なリストについては、Google Cloud 指標をご覧ください。

Looker Studio の BigQuery ネイティブ インテグレーションでは、モデルごとの指標は提供されません。代わりに、BigQuery API Monitoring を使用して、INFORMATION_SCHEMA テーブルのデータソース ID とレポート ID を公開します。

BI Engine のクエリ統計情報

このセクションでは、BI Engine の使用状況のモニタリング、診断、トラブルシューティングに役立つクエリ統計情報を見つける方法について説明します。

BI Engine アクセラレーション モード

BI Engine による高速化を有効にすると、次の 4 つのモードのいずれかでクエリを実行できます。


BI_ENGINE_DISABLED
BI Engine はアクセラレーションを無効にしました。biEngineReasons は、より詳細な理由を指定します。クエリは BigQuery 実行エンジンを使用して実行されました。

PARTIAL_INPUT
クエリ入力の一部は BI Engine を使用して高速化されました。クエリの最適化と高速化で説明されているように、一般にクエリプランは複数の入力ステージに分割されます。BI Engine は、ダッシュボードで通常使用される一般的なタイプのサブクエリ パターンをサポートしています。クエリが複数の入力ステージで構成されている場合、サポートされるユースケースであるのはごく一部で、BI Engine はアクセラレーションなしで通常の BigQuery エンジンを使用してサポートされていないステージを実行します。この場合、BI Engine は PARTIAL アクセラレーション コードを返し、biEngineReasons を使用して他の入力ステージを高速化させない理由を代入します。

 FULL_INPUT
 
クエリのすべての入力ステージが BI Engine を使用して高速化されました。

 FULL_QUERY
 
クエリ全体が BI Engine を使用して高速化されました。

BigQuery API ジョブの統計情報

BI Engine に関する詳細な統計情報は、BigQuery API を使用して確認できます。

BI Engine で高速化されたクエリに関連付けられている統計情報を取得するには、次の bq コマンドライン ツール コマンドを実行します。

bq show --format=prettyjson -j job_id

プロジェクトで BI Engine アクセラレーションが有効になっている場合、出力には新しいフィールド biEngineStatistics が生成されます。ジョブレポートの例を以下に示します。

 "statistics": {
    "creationTime": "1602175128902",
    "endTime": "1602175130700",
    "query": {
      "biEngineStatistics": {
        "biEngineMode": "DISABLED",
        "biEngineReasons": [
          {
            "code": "UNSUPPORTED_SQL_TEXT",
            "message": "Detected unsupported join type"
          }
        ]
      },

BiEngineStatistics フィールドの詳細については、ジョブ参照をご覧ください。

BigQuery INFORMATION_SCHEMA 統計情報

BI Engine アクセラレーシタの統計情報は、bi_engine_statistics 列の INFORMATION_SCHEMA.JOBS_BY_* ビューの一部として BigQuery INFORMATION_SCHEMA ビューに含まれます。たとえば、このクエリは、過去 24 時間の現在のプロジェクトのすべてのジョブに関する bi_engine_statistics を返します。

SELECT
  creation_time,
  job_id,
  bi_engine_statistics
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE
  creation_time BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
  AND CURRENT_TIMESTAMP()
  AND job_type = "QUERY"

INFORMATION_SCHEMA ビューの project-idregionviewsリージョンを指定するには、次の形式を使用します。

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.VIEW

Cloud Logging

BI Engine に関するログ情報は、Google Cloud コンソールの [Cloud Logging] ページで確認できます。BI Engine のログ情報を表示する方法は、データをクエリするツールによって異なります。

  • Looker Studio のネイティブ インテグレーションが有効になっていない Looker Studio クエリの場合: [Cloud Logging] ページで、protoPayload.serviceName="bigquerybiengine.googleapis.com" のペイロードを使用してログ情報を表示できます。
  • 他のすべてのトラフィックの場合: [Cloud Logging] ページで、protoPayload.serviceName="bigquery.googleapis.com" のペイロードを使用してログ情報を表示できます。

次のステップ