1. Antes de comenzar
Como se explicó en el codelab Cómo depurar una casa inteligente, publicamos métricas y registros en tus proyectos de casa inteligente. Las métricas te ayudan a determinar dónde tienes problemas con tus acciones de casa inteligente, y los registros resultan útiles cuando realizas análisis detallados para resolverlos.
Además de las métricas que ponemos a disposición para tu proyecto, también puedes generar las tuyas propias mediante las métricas basadas en registros de Google Cloud. Esto te permitirá supervisar ciertos patrones en tus registros y depurar de forma efectiva los problemas de calidad.
Requisitos previos
- Contar con la integración de Funciona con casa inteligente
- Completar el codelab Cómo depurar una casa inteligente
Qué aprenderás
- Cómo escribir consultas efectivas para filtrar los registros de errores de casa inteligente
- Cómo crear métricas basadas en registros a fin de generar métricas a partir de las consultas
- Cómo crear gráficos y paneles a partir de métricas basadas en registros con fines de supervisión
2. Trabaja con registros
Como se explicó brevemente en el codelab Cómo depurar una casa inteligente, trabajar con registros es clave para el éxito de tu proyecto. Hay excelentes herramientas disponibles en Google Cloud para supervisar y analizar tus registros. Para acceder a todos los registros disponibles en tu proyecto, puedes usar el Explorador de registros.
Accede a los registros
El primer paso para acceder a tus registros es acceder a Google Cloud y elegir tu proyecto. En el menú lateral, navega al Explorador de registros. Para ello, ve a Operaciones > Logging > Explorador de registros. Cuando abras la herramienta, se debería mostrar esta vista:
El Explorador de registros consta de dos secciones principales: una en la que puedes escribir tus consultas en la parte superior (Compilador de consultas) y otra en la que se muestran los resultados coincidentes (Resultados de la consulta).
De forma predeterminada, muchos componentes diferentes de Google escriben registros en tu proyecto. A fin de encontrar los registros provenientes de tu integración de casa inteligente y trabajar con ellos, debes escribir consultas personalizadas.
Escribe consultas
Los registros se publican en proyectos bajo un tipo de recurso. Cada tipo de recurso representa una plataforma diferente dentro de Google. Los registros provenientes de la plataforma de casa inteligente están disponibles para tu proyecto en el tipo de recurso assistant_action_project
.
Además, a todos los registros se les asigna un nivel de gravedad en el momento de su creación. Con los registros de casa inteligente, usamos el nivel de ERROR
para los registros que representan errores y excepciones, y el nivel de DEBUG
para todo lo demás.
En el siguiente ejemplo, escribiremos una consulta a fin de filtrar los registros provenientes de nuestra plataforma que representan errores de la siguiente manera:
Una vez que hayas terminado de escribir la consulta, haz clic en el botón Ejecutar consulta a los efectos de iniciarla. Deberías ver los errores provenientes de tu integración de casa inteligente:
Como puedes ver, se muestran varios errores producidos en momentos diferentes durante la última hora. Cada línea representa un solo registro de errores. Puedes hacer clic en los registros individuales y expandir los campos anidados para ver la información que contienen.
Usa el histograma
El Explorador de registros proporciona una función de Histograma útil con el fin de ver la distribución en el tiempo de los registros que coinciden con tu consulta. Para activar el histograma, haz clic en PAGE LAYOUT, en los botones de la esquina superior derecha, y marca la opción Histograma a los efectos de habilitar la función.
Una vez habilitada, verás una distribución de los registros que coinciden con tu consulta:
Como puedes ver en la imagen anterior, tenemos varios errores en grupos separados de la última hora. Parecen formar tres grupos alrededor de la 1:45, las 2:00 y las 2:15 p.m. El histograma te ayudará a detectar patrones que serían difíciles de ver si solo revisaras los valores de marca de tiempo.
En este momento, la consulta que usamos no diferencia entre los registros y nos muestra todos los errores que provienen de nuestra integración de casa inteligente. En muchos casos, es posible que quieras diferenciar los errores entre sí, por ejemplo, a fin de hacer un seguimiento de patrones de errores originados a partir de ciertos tipos de dispositivos o sus características. Para ello, analizaremos cómo escribir consultas avanzadas.
Consultas avanzadas
Cuando inspecciones un registro de eventos de casa inteligente, verás varios campos de los que puedes recopilar información:
action
trait
: Es la característica del dispositivo de destino definida por el usuario (por ejemplo, encender, apagar, iniciar, detener, brillo).actionType
: Es el estado detallado de la característica (por ejemplo, activar, desactivar, pausar, detener y reanudar).
device
deviceType
: Es el tipo de dispositivo de destino definido por el usuario (por ejemplo, luz, interruptor, lavadora).
status
isSuccess
: Indica si el resultado de la acción se considera exitoso (verdadero o falso).statusType
: Es el código de estado del resultado de la acción (si se produce un error, indica el código correspondiente).externalDebugString
: Es la string de depuración para la acción (describe el error en detalle).
Otros campos
También hay campos adicionales de los que puedes obtener información:
requestId
: Es un ID único asociado con la solicitud (generado por Google).executionType
: Es la ruta de acceso utilizada por la solicitud (indica si está en la Nube o en un entorno Local).latencyMsec
: Es la latencia percibida de la solicitud en los servidores de Google (en ms).locale
: Es el par idioma/región desde el que se envía la solicitud (por ejemplo, en-US o fr-FR).
Si usamos el campo de característica de la lista anterior, modificaremos nuestra consulta de modo que solo incluya los errores que provengan de la característica encender o apagar de la siguiente manera:
resource.type="assistant_action_project" AND severity=ERROR AND jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"
Después de ejecutar nuestra consulta actualizada, el sistema identificará los registros y mostrará el resultado correspondiente:
Hasta ahora, realizamos todas las consultas de forma manual. Esa es una excelente forma de verificar rápidamente el estado de los errores, pero no resulta tan buena a los efectos de supervisar los cambios en los patrones de error a lo largo del tiempo. Crearemos métricas basadas en registros para automatizar este flujo y capturar datos de períodos más largos.
3. Métricas basadas en registros
A fin de contar la cantidad de registros que coinciden con tus consultas en el tiempo, puedes usar métricas basadas en registros. Esto te permitirá ver patrones en los registros, así como obtener estadísticas valiosas sobre los problemas subyacentes.
Crea una métrica basada en registros
Para crear una métrica basada en registros, navega a Operaciones > Logging > Log-based Metrics. Se mostrará la lista de métricas basadas en registros que ya están disponibles en tu proyecto. Una vez que hagas clic en el botón CREAR MÉTRICA, verás la pantalla de creación de métricas basadas en registros:
Existen dos tipos principales de métricas: una métrica de contador, que cuenta la cantidad de registros que coinciden con tu consulta, y Una métrica de distribución realiza un seguimiento de la distribución subyacente y permite operaciones estadísticas como la media, la mediana y el percentil 95.
Cuando te desplaces hacia abajo, verás una sección de filtros en la que podrás escribir tu consulta.
Pegaremos nuestra consulta de la sección anterior en el área de texto Crear filtro.
resource.type="assistant_action_project" AND severity=ERROR AND jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"
También puedes hacer clic en el botón OBTENER VISTA PREVIA DE LOS REGISTROS para ver una vista rápida de los registros anteriores que coinciden con tu filtro. Cuando termines, puedes hacer clic en el botón CREAR MÉTRICA y avanzar a la siguiente sección.
Visualiza datos de métricas basadas en registros
Ahora que creamos nuestra métrica basada en registros, estará disponible en la sección Métricas definidas por el usuario de la página de Métricas basadas en registros.
En el menú correspondiente a la métrica basada en registros (3 puntos), selecciona Ver en el Explorador de métricas a fin de ver los datos recopilados en esa métrica:
Cuando se genere un error nuevo, la métrica basada en registros lo capturará y mostrará en la ventana de gráficos del Explorador de métricas.
Realiza la supervisión mediante paneles personalizados
Cuando veamos que nuestra nueva métrica basada en registros funciona según lo previsto, será el momento de guardar esta vista de gráfico en un panel personalizado. Para ello, haz clic en el botón Guardar gráfico, que se encuentra en la esquina superior derecha del Explorador de métricas. Verás un mensaje en el que se te pedirá asignar un nombre al gráfico y seleccionar el panel en el que deseas guardar la información:
Una vez que guardemos el gráfico en un panel, podremos acceder a él con facilidad. Para acceder a la lista de paneles disponibles en tu proyecto, navega a Operaciones > Monitoring > Paneles.
Guardamos nuestro gráfico en un panel llamado "Panel del Codelab". Cuando lo abras, se mostrará la siguiente vista:
Como puedes ver, en este gráfico muestra la métrica basada en registros, junto con los datos recopilados recientemente. Los registros de casa inteligente se publican en tu proyecto en tiempo real. Cuando haya un registro nuevo disponible, verás que la métrica basada en registros lo contará de inmediato.
4. Felicitaciones
¡Felicitaciones! Aprendiste a convertir tus consultas en métricas basadas en registros y a guardarlas en paneles personalizados con fines de supervisión.
Próximos pasos
A partir de este Codelab, prueba los siguientes ejercicios y explora recursos adicionales:
- Consulta la guía Cómo crear métricas de distribución para crear métricas basadas en registros en campos numéricos, como la latencia.
- Revisa la Biblioteca de consultas de muestra que proporciona Google Cloud para ver algunos de los filtros complejos que puedes usar para las métricas basadas en registros.