Métricas com base em registros para casas inteligentes

1. Antes de começar

Como abordado no codelab Como depurar a casa inteligente, estamos publicando métricas e registros nos seus projetos de casa inteligente. As métricas ajudam a determinar em que pontos a Ação de casa inteligente tem problemas, e os registros são úteis para fazer um estudo aprofundado e resolvê-los.

848f483bfcd2997a.png

Além das métricas que disponibilizamos para seu projeto, você também pode gerar suas próprias. Basta usar as métricas com base em registros do Google Cloud Platform. Isso permite monitorar certos padrões nos registros e depurar problemas de qualidade.

Pré-requisitos

O que você vai aprender

  • Como criar consultas para filtrar registros de erros de casa inteligente
  • Como criar métricas com base em registros para que suas consultas gerem métricas
  • Como criar gráficos e painéis a partir de métricas com base em registros para monitoramento

2. Como usar registros

Como mencionamos brevemente no codelab Depuração de casa inteligente, trabalhar com registros é fundamental para o sucesso do seu projeto. Há ótimas ferramentas disponíveis no Google Cloud Platform para monitorar e analisar seus registros. Para acessar todos os registros disponíveis para seu projeto, use a Análise de registros.

Como acessar registros

A primeira etapa para acessar seus registros é fazer login no Google Cloud Platform e escolher o projeto. Abra Operações > Geração de registros > Análise de registros para navegar até a Análise de registros no menu lateral. Depois de abrir a ferramenta, aparecerá esta visualização:

78982d8b6d19b827.png

A Análise de registros tem duas seções principais: uma para escrever consultas na parte superior (Criador de consultas) e outra que mostra os resultados (Resultados da consulta).

Por padrão, vários componentes diferentes no Google gravam registros no projeto. Para encontrar e usar esses registros da integração de casa inteligente, é preciso escrever consultas personalizadas.

Como criar consultas

Os registros são publicados em projetos com um tipo de recurso. Cada tipo de recurso representa uma plataforma diferente no Google. Os registros da plataforma de casa inteligente estão disponíveis para seu projeto no tipo de recurso assistant_action_project.

Além disso, quando são criados, ,todos os registros recebem um nível de gravidade. Com os registros de casa inteligente, usamos o nível ERROR para registros que representam erros e exceções e o nível DEBUG para todo o restante.

No exemplo a seguir, criaremos uma consulta para filtrar apenas os registros da nossa plataforma que representam erros:

753bfe72a9f8e959.png

Quando terminar de escrever a consulta, clique no botão Executar consulta para iniciá-la. Isso mostrará erros da integração com a casa inteligente:

3ef42da5a6c322e1.png

Como você pode ver, houve erros que ocorreram várias vezes na última hora. Cada linha representa um único registro de erros. Clique em cada registro para expandir os campos aninhados e ver as informações deles.

Como usar histogramas

A Análise de registros oferece um recurso útil de histograma para ver a distribuição de tempo dos registros que correspondem à consulta. Para ativar o recurso, clique em LAYOUT DA PÁGINA nos botões do canto superior direito e marque Histograma.

10eaf1d204decf3c.png

Depois da ativação, aparecerá uma distribuição dos registros que correspondem à consulta:

dd3410e65a83cf5d.png

Como você pode ver na imagem acima, há vários erros agrupados de maneira esparsa na última hora. Eles parecem formar três clusters: por volta das 13h45, das 14h e das 14h15. O histograma ajuda a detectar padrões que seriam difíceis de identificar apenas com os valores de carimbo de data/hora.

No momento, a consulta que usamos não diferencia os registros e mostra todos os erros da integração de casa inteligente. Muitas vezes, convém diferenciar os erros. Por exemplo, para rastrear padrões originados de determinados tipos ou características de dispositivos. Para fazer isso, veremos como criar consultas avançadas.

Consultas avançadas

Ao inspecionar um log de eventos da casa inteligente, há vários campos que podem ser usados para coletar informações:

825c57c36800844e.png

action

  • trait:característica desejada do dispositivo pelo usuário (por exemplo, Ativado, Parar, Brilho).
  • actionType: estado de granularidade fina da característica (por exemplo, ativar, desativar, iniciar, parar, retomar)

device

  • deviceType:tipo de dispositivo de destino pelo usuário (por exemplo, luz, interruptor, lavadora)

status

  • isSuccess: se o resultado da ação é considerado bem-sucedido (verdadeiro/falso).
  • statusType: código de status do resultado da ação (indica um código de erro em caso de falha).
  • externalDebugString: string de depuração da ação (descreve o erro em detalhes)

Outros campos

Também há outros campos para extrair informações:

  • requestId: um ID exclusivo associado à solicitação (gerado pelo Google)
  • executionType: o caminho usado pela solicitação (indica se foi em nuvem ou no local)
  • latencyMsec: latência percebida da solicitação nos servidores do Google (em ms)
  • locale: idioma/região de onde a solicitação é enviada (por exemplo, en-US, fr-FR).

Ao usar o campo de característica da lista acima, a consulta será modificada e incluirá apenas erros provenientes da característica OnOff, da seguinte forma:

resource.type="assistant_action_project" AND severity=ERROR AND
jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"

Depois de executar a consulta atualizada, o sistema identifica os registros e mostra o resultado correspondente:

76176d7a41962341.png

Até agora, fizemos todas as nossas consultas manualmente. Essa é uma maneira rápida de verificar o estado dos erros, mas não é indicada para monitorar as mudanças nos padrões de erros ao longo do tempo. Para automatizar esse fluxo e capturar dados de períodos mais longos, criaremos métricas com base em registros.

3. Métricas com base em registros

Usamos as métricas com base em registros para contar o número de registros que correspondem às consultas ao longo do tempo. Assim fica mais fácil ver padrões em todos os seus registros e informações úteis sobre os problemas subjacentes.

Como criar uma métrica com base em registros

Para criar uma métrica com base em registros, navegue até Operações > Geração de registros > Métricas com base em registros. Isso mostrará a lista de métricas com base em registros já disponíveis no seu projeto. Clique no botão CRIAR MÉTRICApara ver a tela de criação de métricas com base em registros:

296af6e7d8dcf6cf.png

Há dois tipos principais de métricas: uma métrica de contador conta o número de registros que correspondem à sua consulta. Uma métrica de distribuição monitora a distribuição subjacente e permite operações estatísticas como média, mediana e 95o percentil.

Role para baixo até uma seção de filtros para digitar a consulta.

f7f2093fa1bce2ac.png

Vamos colar a consulta da seção anterior na área de texto Criar filtro.

​​resource.type="assistant_action_project" AND severity=ERROR AND
jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"

Também é possível clicar no botão VISUALIZAR REGISTROS para abrir uma visualização rápida dos registros anteriores que correspondem ao filtro. Quando terminar, clique no botão CRIAR MÉTRICA e avance para a próxima seção.

Como visualizar dados de métricas com base em registros

Agora que criamos a métrica com base em registros, ela estará disponível na seção Métricas definidas pelo usuário da página "Métricas com base em registros".

1b2c88c18533fbcd.png

No menu de três pontos da métrica com base em registros, selecione Visualizar no Metrics Explorer para ver os dados coletados:

54a836fdc3a666a3.png

Os novos erros são capturados pela métrica com base em registros e exibidos na janela do gráfico no Metrics Explorer.

Como usar painéis personalizados para fazer o monitoramento

Depois de conferir se a nova métrica com base em registros está funcionando, salve a visualização de gráfico em um painel personalizado. Para isso, clique no botão Salvar gráfico no canto superior direito do Metrics Explorer. Você verá uma solicitação para nomear o gráfico e selecionar o painel em que quer salvá-lo:

52329085f841782e.png

Depois de salvar o gráfico dessa forma, fica fácil acessá-lo a partir do painel. Para acessar a lista de painéis disponíveis no seu projeto, navegue até Operações > Monitoramento > Painéis.

44961e7cb3663341.png

Salvamos nosso gráfico em um painel chamado "Painel do codelab". Ao abri-lo, você verá esta visualização:

f7e025c27f30f996.png

O gráfico que representa a métrica com base em registros é exibido aqui com os dados coletados. Os registros de casa inteligente são publicados no seu projeto em tempo real. Quando um novo registro estiver disponível, ele será contabilizado imediatamente pela métrica com base em registros.

4. Parabéns

674c4f4392e98c1.png

Parabéns! Você aprendeu a transformar consultas em métricas com base em registros e salvá-las em painéis personalizados para fazer o monitoramento.

Próximas etapas

Com base neste codelab, faça os exercícios a seguir e explore outros recursos: