Acerca de las vistas de analíticas

En este documento se describen las vistas de analíticas y cuándo puede ser conveniente crearlas. También se describen las diferencias entre las vistas de analíticas y los conceptos que ya conoces, como las vistas de registro y las consultas guardadas.

Para saber cómo crear, consultar y gestionar vistas de analíticas, consulte el artículo Crear y consultar vistas de analíticas.

Información general

Una vista de analíticas es un recurso que se puede consultar. Este recurso contiene una consulta de SQL que consulta una o varias vistas de registro.

Una vista de registro de un segmento de registro controla qué entradas de registro del segmento puedes ver. Puedes consultar la vista de registro con Explorador de registros y las páginas de Analíticas de registros. En ambos casos, el formato de los datos consultados se determina mediante la estructura de datos LogEntry.

La consulta de SQL que contiene una vista analítica le permite transformar los datos de registro de una o varias vistas de registro en un formato personalizado. Es decir, puedes filtrar qué entradas del registro de la vista de registro contribuyen al resultado de la consulta y definir las columnas del resultado. Por ejemplo, puedes descartar columnas, mover datos de un campo JSON anidado a una columna o añadir columnas.

Las vistas de Analytics no son vistas materializadas. Una vista de analíticas no es una vista precalculada que almacena en caché periódicamente los resultados de las consultas. Por lo tanto, consultar una vista de analíticas es lo mismo que consultar las vistas de registro que consulta la vista de analíticas.

Tanto las vistas de analíticas como las consultas guardadas contienen una consulta de SQL. Sin embargo, una vista de analíticas es un recurso que se puede consultar. Puedes volver a ejecutar una consulta guardada, pero no puedes consultar el resultado de una consulta guardada.

Tipos de vistas de analíticas

Hay dos tipos de vistas de analíticas: definidas por el usuario y definidas por el sistema.

  • Las vistas de analíticas definidas por el usuario son las que usted crea. Puede consultar, editar y eliminar vistas de analíticas definidas por el usuario.

  • Las vistas de analíticas definidas por el sistema son vistas de analíticas creadas por los servicios deGoogle Cloud . Puede consultar vistas de analíticas definidas por el sistema. Sin embargo, no puedes editarlos ni eliminarlos.

Para obtener información sobre cómo enumerar las vistas de analíticas de tuGoogle Cloud proyecto, consulta Enumerar vistas de analíticas.

Ubicación de las vistas de Analytics

La ubicación de una vista de analíticas se determina en función de la ubicación de los recursos que consulta. Por ejemplo, si una vista de analíticas consulta una vista de registro que se encuentra en la ubicación global, la ubicación de la vista de analíticas también debe ser global. Cuando usas la Google Cloud consola para crear una vista de analíticas, la ubicación se define automáticamente.

Ventajas de las vistas de analíticas

La principal ventaja de las vistas de analíticas es que puedes transformar tus datos de registro y crear un esquema coherente para otras consultas. Sin embargo, también puede que descubra que, al crear una vista de analíticas, puede reducir el esfuerzo que dedica a escribir consultas o mejorar la estructura de estas. Como las vistas de analíticas no son vistas materializadas, su uso no reduce necesariamente el tiempo de consulta.

Ejemplo: transformación de datos

Supongamos que está analizando el rendimiento de la red mediante registros de flujo de VPCs. Debe analizar el rendimiento general de la red y también poder identificar redes, direcciones IP u hosts específicos. Lamentablemente, la información que necesitas se encuentra en campos anidados del campo json_payload de una entrada de registro.

Para extraer esta información de las entradas de registro, escribe la siguiente consulta y, a continuación, guárdala como una vista de analíticas llamada network_details:

SELECT
  JSON_VALUE(resource.labels.subnetwork_name) subnetwork_name,
  JSON_VALUE(json_payload.src_instance.vm_name) vm_name,
  JSON_VALUE(json_payload.connection.src_ip) as src_ip,
  JSON_VALUE(json_payload.connection.src_port) as src_port,
  JSON_VALUE(json_payload.connection.dest_ip) as dest_ip,
  JSON_VALUE(json_payload.connection.dest_port) as dest_port,
  CAST(JSON_VALUE(json_payload.bytes_sent) as INT64) as bytes_sent,
  CAST(JSON_VALUE(json_payload.packets_sent) as INT64) as packets_sent
FROM `TABLE_NAME_OF_LOG_VIEW`
WHERE
    log_id = "compute.googleapis.com/vpc_flows"
    AND SEARCH(json_payload.reporter, "SRC")

Si quieres analizar el rendimiento de la red, ahora puedes consultar tu vista de analíticas. Por ejemplo, si solo te interesa el nombre de la instancia y la cantidad de datos enviados, puedes escribir la siguiente consulta:

SELECT vm_name, bytes_sent, packets_sent,
FROM `analytics_view.my_project.global.network_details`
ORDER BY bytes_sent DESC
LIMIT 100

Ejemplo: consulta base para el análisis de latencia de la API

Supongamos que tienes que evaluar y resumir la latencia de las solicitudes en intervalos de una semana. Otros equipos usarán los datos del análisis de rendimiento semanal como base para otros análisis.

La vista de analíticas que creas y que pueden consultar otros equipos informa de la latencia mínima, máxima y media de las solicitudes completadas, tal como se registra en las entradas de registro de una vista de registro específica:

SELECT week,MIN(took_ms) as min , MAX(took_ms) AS max, AVG(took_ms) AS avg
FROM (
  SELECT TIMESTAMP_TRUNC(timestamp, WEEK) AS week,
  CAST( JSON_VALUE(json_payload, '$."http.resp.took_ms"') AS INT64) as took_ms
  FROM `TABLE_NAME_OF_LOG_VIEW`
  WHERE json_payload IS NOT NULL
    AND SEARCH(labels,"frontend")
    AND JSON_VALUE(json_payload.message) = "request complete"
  ORDER BY took_ms DESC, timestamp ASC
)
GROUP BY week ORDER BY week

Roles y permisos de gestión de identidades y accesos necesarios

Como las vistas de analíticas consultan vistas de registro, para crear y consultar vistas de analíticas, tus roles de gestión de identidades y accesos también deben permitirte consultar vistas de registro y usar Analíticas de registros. En esta sección se indican los roles de gestión de identidades y accesos necesarios para crear vistas de analíticas, así como los que se requieren para consultar vistas de registro y usar Log Analytics:

  • Para obtener los permisos que necesita para crear, gestionar y usar vistas de analíticas, pida a su administrador que le conceda el rol de gestión de identidades y accesos Usuario de Observability Analytics (roles/observability.analyticsUser) en su proyecto.

    Este rol predefinido contiene los permisos necesarios para crear, gestionar y usar vistas de analíticas. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

    Permisos obligatorios

    Para crear, gestionar y usar vistas de analíticas, se necesitan los siguientes permisos:

    • observability.analyticsViews.get
    • observability.analyticsViews.list
    • observability.analyticsViews.create
    • observability.analyticsViews.update
    • observability.analyticsViews.delete
  • Para obtener los permisos que necesitas para consultar una vista de registro y usar Analíticas de registros, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto:

    Para restringir un principal a una vista de registro específica, puede añadir una condición de IAM a la concesión del rol de acceso a la vista de registros que se haya hecho a nivel de proyecto o añadir un enlace de IAM al archivo de política de la vista de registro. Para obtener más información, consulta Controlar el acceso a una vista de registro.

    Para obtener información sobre los roles adicionales que necesitas para consultar vistas en segmentos definidos por el usuario o para consultar la vista _AllLogs del segmento de registro _Default, consulta Roles de Cloud Logging.

Limitaciones

Se aplican las siguientes limitaciones a las vistas de analíticas:

  • Una vista de Analytics no puede consultar otra vista de Analytics.
  • Una vista de analíticas puede consultar varias vistas de registro. Sin embargo, los contenedores de registros que alojan las vistas de registros consultadas deben estar en una misma ubicación. Por ejemplo, supongamos que tiene dos cubos de registro, uno en us-east1 y otro en asia-east1. No puedes crear una vista de analíticas que consulte vistas de registro en esos contenedores de registro.
  • El recurso principal de una vista de Analytics debe ser un Google Cloud proyecto. No puede crear una vista de analíticas en carpetas ni organizaciones.
  • Los conjuntos de datos vinculados no se admiten en las vistas de analíticas. Por lo tanto, solo puede consultar vistas de analíticas mediante la página Analíticas de registros. Además, debes ejecutar esas consultas en el servicio predeterminado de Cloud Logging.
  • No hay ninguna API para crear ni gestionar vistas de analíticas.
  • Los siguientes límites se aplican a las vistas de analíticas:

    • Número máximo de vistas de analíticas por Google Cloud proyecto: 100
    • Por Google Cloud proyecto, el número máximo de vistas de analíticas por región es 50.
    • Por proyecto de Google Cloud , el número máximo de regiones que pueden almacenar vistas de analíticas es 10.

Siguientes pasos