Surveiller BI Engine

BigQuery BI Engine fonctionne avec les services Google Cloud pour faciliter la surveillance et le dépannage lors de l'utilisation de BI Engine. L'accélération de Looker Studio avec BigQuery BI Engine est entièrement compatible avec la surveillance BigQuery, y compris INFORMATION_SCHEMA, le graphique d'exécution et les métriques Cloud Monitoring.

Cloud Monitoring

BigQuery BI Engine s'intègre à Cloud Monitoring pour vous permettre de surveiller l'utilisation agrégée de BI Engine et configurer des alertes. Pour en savoir plus sur l'utilisation de Monitoring pour créer des tableaux de bord pour vos métriques BI Engine, consultez la section Créer des graphiques dans la documentation de Monitoring.

Les métriques suivantes sont fournies pour BigQuery BI Engine :

Ressource Métrique Détails
Projet BigQuery Nombre total d'octets de réservation Capacité totale allouée à un projet Google Cloud
Projet BigQuery Nombre d'octets utilisés pour la réservation Capacité totale utilisée dans un projet Google Cloud
Projet BigQuery Octets mis en cache dans les principales tables BI Engine Utilisation du cache par table. Cette métrique affiche les N tables principales pour chaque région sur la base de l'utilisation rapportée.

Vous pouvez utiliser Cloud Monitoring pour afficher le trafic des sources de données Looker Studio mises en cache par BI Engine. Pour obtenir la liste complète des métriques Google Cloud disponibles, consultez la page Métriques Google Cloud.

L'intégration native de BigQuery à Looker Studio ne fournit pas de métriques par modèle. Expose plutôt les ID de source de données et de rapport dans les tables INFORMATION_SCHEMA avec la surveillance de l'API BigQuery.

Statistiques des requêtes pour BI Engine

Cette section explique comment trouver des statistiques de requêtes pour vous aider à surveiller, diagnostiquer et résoudre des problèmes liés à l'utilisation de BI Engine.

Modes d'accélération BI Engine

Lorsque l'accélération de BI Engine est activée, votre requête peut s'exécuter dans l'un des quatre modes suivants :

BI_ENGINE_DISABLED
BI Engine a désactivé l'accélération. biEngineReasons spécifie un motif plus détaillé. La requête a été exécutée à l'aide du moteur d'exécution de BigQuery.
PARTIAL_INPUT
Une partie de l'entrée de la requête a été accélérée à l'aide de BI Engine. Comme décrit sur la page Optimisation et accélération des requêtes, un plan de requête est généralement divisé en plusieurs étapes d'entrée. BI Engine accepte les types de modèles de sous-requêtes courants, qui sont généralement utilisés dans les tableaux de bord. Si la requête comprend plusieurs étapes d'entrée, dont seulement quelques-unes relèvent des cas d'utilisation acceptés, BI Engine exécute les étapes non compatibles à l'aide du moteur BigQuery normal sans accélération. Dans ce cas, BI Engine renvoie un code d'accélération PARTIAL et utilise biEngineReasons pour renseigner la raison de l'absence d'accélération des autres étapes d'entrée.
 FULL_INPUT
 
Toutes les étapes d'entrée de la requête ont été accélérées à l'aide de BI Engine.
 FULL_QUERY
 
L'ensemble de la requête a été accéléré à l'aide de BI Engine.

Afficher les statistiques des jobs de l'API BigQuery

Des statistiques détaillées sur BI Engine sont disponibles via l'API BigQuery.

Pour récupérer les statistiques associées aux requêtes accélérées BI Engine, exécutez la commande suivante de l'outil de ligne de commande bq :

bq show --format=prettyjson -j job_id

Si l'accélération BI Engine est activée pour le projet, la sortie génère un nouveau champ, biEngineStatistics. Voici un exemple de rapport de tâche :

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

Pour en savoir plus sur le champ BiEngineStatistics, consultez la documentation de référence relative aux tâches.

Statistiques BigQuery INFORMATION_SCHEMA

Les statistiques d'accélération BI Engine sont incluses dans les vues BigQuery INFORMATION_SCHEMA dans le cadre des vues INFORMATION_SCHEMA.JOBS_BY_* dans la colonne bi_engine_statistics. Par exemple, cette requête renvoie les bi_engine_statistics pour tous les jobs des projets en cours durant les dernières 24 heures :

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"

Utilisez le format suivant afin de spécifier la régionalité pour project-id, region et views dans la vue INFORMATION_SCHEMA :

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

Afficher les détails du schéma d'informations de Looker Studio

Vous pouvez suivre les sources de données et les rapports Looker Studio utilisés par BigQuery en affichant la vue INFORMATION_SCHEMA.JOBS. Lorsque BigQuery est intégré de manière native, chaque requête Looker Studio crée une entrée avec les étiquettes report_id et datasource_id. Ces ID apparaissent à la fin de l'URL Looker Studio lorsque vous ouvrez une page de rapport ou de source de données. Par exemple, le rapport avec l'URL https://lookerstudio.google.com/navigation/reporting/my-report-id-123 est associé à l'ID "my-report-id-123".

Les exemples suivants montrent comment afficher des rapports et des sources de données :

Rechercher l'URL du rapport et de la source de données pour chaque job BigQuery Looker Studio

-- Standard labels used by Looker Studio.
DECLARE requestor_key STRING DEFAULT 'requestor';
DECLARE requestor_value STRING DEFAULT 'looker_studio';

CREATE TEMP FUNCTION GetLabel(labels ANY TYPE, label_key STRING)
AS (
  (SELECT l.value FROM UNNEST(labels) l WHERE l.key = label_key)
);

CREATE TEMP FUNCTION GetDatasourceUrl(labels ANY TYPE)
AS (
  CONCAT("https://lookerstudio.google.com/datasources/", GetLabel(labels, 'looker_studio_datasource_id'))
);

CREATE TEMP FUNCTION GetReportUrl(labels ANY TYPE)
AS (
  CONCAT("https://lookerstudio.google.com/reporting/", GetLabel(labels, 'looker_studio_report_id'))
);

SELECT
  job_id,
  GetDatasourceUrl(labels) AS datasource_url,
  GetReportUrl(labels) AS report_url,
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS jobs
WHERE
  creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND GetLabel(labels, requestor_key) = requestor_value
LIMIT
  100;

Afficher les jobs générés à l'aide d'un rapport et d'une source de données

-- Specify report and data source id, which can be found in the end of Looker Studio URLs.
DECLARE user_report_id STRING DEFAULT '*report id here*';
DECLARE user_datasource_id STRING DEFAULT '*datasource id here*';

-- Standard labels Looker Studio uses in native integration.
DECLARE requestor_key STRING DEFAULT 'requestor';
DECLARE requestor_value STRING DEFAULT 'looker_studio';
DECLARE datasource_key STRING DEFAULT 'looker_studio_datasource_id';
DECLARE report_key STRING DEFAULT 'looker_studio_report_id';

CREATE TEMP FUNCTION GetLabel(labels ANY TYPE, label_key STRING)
AS (
  (SELECT l.value FROM UNNEST(labels) l WHERE l.key = label_key)
);

SELECT
  creation_time,
  job_id,
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS jobs
WHERE
  creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND GetLabel(labels, requestor_key) = requestor_value
  AND GetLabel(labels, datasource_key) = user_datasource_id
  AND GetLabel(labels, report_key) = user_report_id
ORDER BY 1
LIMIT 100;

Cloud Logging

Vous pouvez consulter les informations de journal de BI Engine en les affichant sur la page Cloud Logging de la console Google Cloud. La façon dont vous affichez les informations de journal pour BI Engine dépend de l'outil qui interroge les données :

  • Pour les requêtes Looker Studio sans intégration native de Looker Studio : vous pouvez afficher les informations de journal sur la page Cloud Logging en indiquant protoPayload.serviceName="bigquerybiengine.googleapis.com" comme charge utile.
  • Pour le reste du trafic, vous pouvez afficher les informations de journal sur la page Cloud Logging avec une charge utile protoPayload.serviceName="bigquery.googleapis.com".

Étapes suivantes