Monitorar o BI Engine

BigQuery BI Engine trabalha com os serviços do Google Cloud para ajudar a monitorar e resolver problemas de uso do BI Engine. O Looker Studio com aceleração do BigQuery BI Engine é totalmente compatível com o monitoramento do BigQuery, incluindo INFORMATION_SCHEMA, gráfico de execução e Métricas do Cloud Monitoring.

Cloud Monitoring

O BigQuery BI Engine se integra ao Cloud Monitoring para que você possa monitorar o uso agregado do BI Engine em conjunto e configurar alertas. Para conferir informações sobre o uso do Monitoring para criar painéis para suas métricas do BI Engine, consulte Como criar gráficos na documentação do Monitoring.

As seguintes métricas são fornecidas para o BigQuery BI Engine:

Recurso Metric Detalhes
Projeto do BigQuery Total de bytes da reserva Capacidade total alocada para um projeto do Google Cloud
Projeto do BigQuery Bytes de reserva usados Capacidade total usada em um projeto do Google Cloud
Projeto do BigQuery Bytes em cache das principais tabelas do BI Engine Uso do cache por tabela. Essa métrica exibe as N principais tabelas por uso de relatórios de região.

É possível usar o Cloud Monitoring para conferir o tráfego das fontes de dados do Looker Studio que foram armazenadas em cache pelo BI Engine. Veja uma lista completa das métricas disponíveis do Google Cloud em Métricas do Google Cloud.

A integração nativa do BigQuery com o Looker Studio não fornece métricas por modelo. Em vez disso, expõe IDs de fonte de dados e de relatórios nas tabelas INFORMATION_SCHEMA com o monitoramento da API BigQuery.

Estatísticas de consulta para o BI Engine

Nesta seção, explicamos como encontrar estatísticas de consulta para ajudar a monitorar, diagnosticar e resolver problemas de uso do BI Engine.

Modos de aceleração do BI Engine

Com a aceleração do BI Engine ativada, sua consulta pode ser executada em qualquer um destes três modos:

BI_ENGINE_DISABLED
O BI Engine desativou a aceleração. biEngineReasons especifica um motivo mais detalhado. A consulta foi executada usando o mecanismo de execução do BigQuery.
PARTIAL_INPUT
Parte da consulta foi acelerada usando o BI Engine. Conforme descrito em Otimização e aceleração de consultas, um plano de consulta geralmente é dividido em vários estágios de entrada. O BI Engine é compatível com os tipos comuns de padrões de subconsulta que normalmente são usados no painel. Se a consulta consistir em vários estágios de entrada, e apenas alguns deles se enquadrarem nos casos de uso compatíveis, o BI Engine executa os estágios não compatíveis usando o mecanismo normal do BigQuery sem aceleração. Nessa situação, o BI Engine retorna um código de aceleração PARTIAL e usa biEngineReasons para preencher o motivo para não acelerar outros estágios de entrada.
 FULL_INPUT
 
Todos os estágios de entrada da consulta foram acelerados usando o BI Engine.
 FULL_QUERY
 
Toda a consulta foi acelerada usando o BI Engine.

Conferir estatísticas de jobs da API BigQuery

Estatísticas detalhadas sobre o BI Engine estão disponíveis na API BigQuery.

Para buscar as estatísticas associadas às consultas aceleradas do BI Engine, execute o seguinte comando da ferramenta de linha de comando:

bq show --format=prettyjson -j job_id

Se o projeto estiver ativado para aceleração do BI Engine, a saída produzirá um novo campo, biEngineStatistics. Confira um exemplo de relatório de job:

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

Para mais informações sobre o campo BiEngineStatistics, consulte a referência do job.

Estatísticas do BigQuery INFORMATION_SCHEMA

As estatísticas de aceleração do BI Engine estão incluídas nas visualizações do BigQuery INFORMATION_SCHEMA como parte das visualizações INFORMATION_SCHEMA.JOBS_BY_* na coluna bi_engine_statistics. Por exemplo, esta consulta retorna a bi_engine_statistics de todos os jobs dos projetos atuais nas últimas 24 horas:

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"

Use o seguinte formato para especificar a regionalidade de project-id, region e views na visualização INFORMATION_SCHEMA:

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

Visualizar detalhes do esquema de informações do Looker Studio

Para acompanhar quais relatórios e fontes de dados do Looker Studio são usados pelo BigQuery, confira a visualização INFORMATION_SCHEMA.JOBS. Quando a integração nativa do BigQuery está ativada, todas as consultas do Looker Studio criam uma entrada com os rótulos report_id e datasource_id. Esses IDs aparecem no final do URL do Looker Studio ao abrir um relatório ou a página de uma fonte de dados. Por exemplo, o relatório com o URL https://lookerstudio.google.com/navigation/reporting/my-report-id-123 tem o ID "my-report-id-123".

Os exemplos a seguir mostram como ver relatórios e fontes de dados:

Encontrar o URL do relatório e da fonte de dados de cada job do BigQuery no 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;

Ver jobs produzidos usando um relatório e uma fonte de dados

-- 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

É possível visualizar as informações de registro sobre o BI Engine na página do Cloud Logging no console do Google Cloud. A visualização das informações de registro do BI Engine depende da ferramenta que consulta os dados:

  • Para consultas do Looker Studio sem a integração nativa do Looker Studio ativada: é possível acessar as informações de registro na página Cloud Logging com um payload de protoPayload.serviceName="bigquerybiengine.googleapis.com".
  • Para todos os outros tipos de tráfego: é possível acessar as informações de registro na página Cloud Logging com um payload de protoPayload.serviceName="bigquery.googleapis.com".

A seguir