Esta página traz uma visão geral do conceito de métricas com base em registros. Essas métricas podem ajudar você a observar tendências e padrões em um grande volume de entradas de registro.
Sobre as métricas com base em registros
As métricas com base em registros são métricas do Cloud Monitoring que são derivadas do conteúdo das entradas de registro. Por exemplo, é possível usar uma métrica com base em registros para contar o número de entradas que contêm uma mensagem específica ou para extrair informações de latência registradas nas entradas. É possível mostrar métricas com base em registros em gráficos do Cloud Monitoring, e as políticas de alertas podem monitorar essas métricas.
As métricas com base em registros podem ser aplicadas no nível do projeto ou do bucket de registros. As métricas com base em registros no escopo do bucket são úteis quando você usa coletores agregados para rotear entradas de registro a um bucket de registros e quando roteia entradas de registro de um projeto para um bucket de registros em outro projeto. Para mais informações, consulte a seção desta página intitulada Fontes de métricas com base em registros.
Como os valores de série temporal para métricas com base em registros são determinados
Nesta seção, descrevemos brevemente como os valores em uma série temporal para uma métrica com base em registros do tipo contador são determinados. Ele também descreve por que uma série temporal de uma métrica com base em registros pode ter lacunas. O processo é semelhante para métricas com valor de distribuição com base em registros.
Para métricas com base em registros do tipo contador, o Logging faz o seguinte:
Ele cria um ou mais fluxos de dados e, para cada um deles, gerencia um conjunto de contadores na memória.
Há um fluxo para cada combinação de valores exclusivos para o conjunto de rótulos de métricas e recursos. Cada contador na memória é para um intervalo de tempo diferente, mas cada um registra o número de entradas de registro que correspondem ao filtro e têm um carimbo de data/hora correspondente ao intervalo.
A cada minuto, para cada fluxo, o back-end do Logging usa os valores dos contadores na memória para determinar como atualizar uma série temporal gerenciada pelo Cloud Monitoring.
Se houver cinco streams, haverá cinco série temporal gerenciadas pelo Monitoring. É possível criar gráficos dessas série temporal. Também é possível criar políticas de alertas para monitorar essas série temporal.
Exemplo: como valores zero podem causar lacunas de dados
Considere a seguinte série temporal:
Example time series: (T1, -), (T2, -), (T3, 0), (T4, 1), (T5, 0), (T6, -)
Na expressão anterior, (T1, -)
significa que nenhum valor foi gravado para o período T1
. Isso corresponde a uma lacuna nos valores da série temporal.
Em contraste, (T3, 0)
significa que o valor da série temporal no momento T3
é zero.
Para cada fluxo, o sistema de back-end das métricas com base em registros usa as seguintes regras para determinar qual valor gravar na série temporal armazenada pelo Monitoring:
Quando a contagem agregada de um intervalo é diferente de zero, esse valor é gravado na série temporal.
Na série temporal de exemplo, apenas o intervalo
T4
tem um valor diferente de zero. O valor de1
indica que uma entrada de registro com um carimbo de data/hora correspondente ao intervaloT4
correspondeu ao filtro da métrica com base em registros.Quando a contagem agregada de um intervalo é zero, um valor zero é gravado na série temporal quando um intervalo adjacente tem um valor diferente de zero.
Na série temporal de exemplo, no momento
T3
, a contagem agregada é zero. No entanto, um valor zero é gravado porque no momentoT4
a contagem agregada é diferente de zero. Da mesma forma, no momentoT5
, a contagem agregada é zero. Um valor zero é gravado na série temporal porque o valor do intervalo anterior era diferente de zero.Caso contrário, a série temporal não será atualizada, e haverá uma lacuna de dados no intervalo.
Na série temporal de exemplo, não há valor para os intervalos
T1
,T2
eT6
. Nesses intervalos, as contagens agregadas eram zero, e as contagens dos intervalos adjacentes também eram zero.
Processamento de entradas de registro atrasadas e futuras
Quando as entradas de registro chegam com um carimbo de data/hora para um intervalo que já foi processado, o back-end do Logging gera dados históricos. Os dados históricos são usados para atualizar as contagens escritas anteriormente.
Quando as entradas de registro chegam com um carimbo de data/hora no futuro, o backend do Logging acumula essas contagens. Na série temporal, essas entradas de registro são contadas quando o carimbo de data/hora corresponde ao intervalo atual.
Fontes de métricas com base em registros
É possível usar as métricas definidas pelo Cloud Logging para coletar informações gerais de uso e definir sua própria métrica com base em registros para capturar informações específicas do seu aplicativo ou empresa.
As métricas com base em registros podem ser aplicadas em um único projeto Google Cloud ou em um bucket de registros. Não é possível criar métricas com base em registros para outros recursos do Google Cloud , como organizações ou contas do Cloud Billing.
Para informações sobre as diferenças entre métricas com base em registros do projeto e do bucket, consulte Métricas com base em registros no escopo do bucket.
Métricas definidas pelo sistema
O Logging oferece um conjunto de métricas para valores de uso, como o número de entradas de registro armazenadas em buckets de registro no seu projeto ou o número de bytes exportados. Para uma lista completa de métricas definidas pelo sistema, consulte Google Cloud métricas: registro.
As métricas com base em registros definidas pelo sistema são aplicadas no nível do projeto.
O Log Router conta uma entrada de registro quando todas as condições a seguir são verdadeiras:
- A entrada de registro passa pelos gravadores de registros do projeto em que a métrica com base em registros está definida.
A entrada de registro é armazenada em um bucket de registros. O bucket de registros pode estar em qualquer projeto.
Por exemplo, suponha que o projeto
A
tenha um coletor de registros cujo destino seja o projetoB
. Suponha também que os coletores de registros no projetoB
encaminhem as entradas de registro para um bucket de registros. Nesse cenário, as entradas de registro roteadas do projetoA
para o projetoB
contribuem para as métricas com base em registros definidas pelo sistema do projetoA
. Essas entradas de registro também contribuem para as métricas com base em registros definidas pelo sistema do projetoB
.
Métricas definidas pelo usuário
É possível criar métricas com base em registros definidas pelo usuário para acompanhar outras métricas importantes para seu projeto. Por exemplo, é possível criar uma métrica com base em registros para contar o número de entradas de registro que correspondem a determinado filtro.
Por padrão, as métricas com base em registros definidas pelo usuário são calculadas com base em todos os registros recebidos pela API Logging no projeto Google Cloud , independentemente dos filtros de inclusão ou filtros de exclusão que podem ser aplicados ao projetoGoogle Cloud .
Também é possível criar métricas com base em registros definidas pelo usuário para um bucket de registros específico em um projeto Google Cloud . As métricas com base em registros no escopo do bucket são calculadas com base em todos os registros destinados ao bucket, independentemente da origem. Para mais informações, consulte Métricas com base em registros em buckets de registros.
O Log Router conta uma entrada de registro quando todas as condições a seguir são verdadeiras:
- O faturamento está ativado no projeto em que a métrica com base em registros é definida.
- Para métricas com escopo de bucket, a entrada de registro é armazenada no bucket de registros em que a métrica com base em registros é definida.
- Para métricas no escopo do projeto, a entrada de registro passa pelos coletores de registros do projeto em que a métrica com base em registros está definida.
Tipos de dados para métricas com base em registros
As métricas com base em registros podem extrair dados de registros para criar métricas dos seguintes tipos:
- Contador: essas métricas contam o número de entradas de registro que correspondem a um filtro especificado em um período específico. Use contadores quando quiser acompanhar o número de vezes que um valor ou uma string aparece nos seus registros.
- Distribuição: essas métricas também contam valores, mas coletam as contagens em intervalos de valores (buckets de histograma). Use distribuições quando quiser extrair valores como latências.
- Booleana: essas métricas capturam se uma entrada de registro corresponde ou não a um filtro especificado.
As métricas com base em registros definidas pelo usuário podem ser do tipo de métrica de contagem ou de distribuição. A maioria das métricas com base em registros definidas pelo sistema é de contadores, mas algumas são do tipo booleano. As características dos contadores e das distribuições são descritas em mais detalhes nas seções a seguir.
Os dados de uma métrica com base em registros definida pelo usuário são provenientes apenas de entradas de registro recebidas após a criação da métrica. Uma métrica não é preenchida retroativamente com dados de entradas de registro que já estão no Logging.
As métricas com base em registros do sistema são calculadas apenas com base nos registros incluídos. As métricas com base em registros definidas pelo usuário são calculadas com base nos registros incluídos e excluídos.
Nas seções a seguir, descrevemos as características das métricas de contador e de distribuição.
Métricas de contador
As métricas de contagem contam o número de entradas de registro correspondentes a determinado filtro. Por exemplo, é possível realizar estas ações:
- Contar as entradas de registro que contêm uma mensagem de erro específica.
Contar o número de vezes que cada usuário invoca uma operação, procurando mensagens de registro que correspondam a esse padrão:
... user USERNAME called OPERATION ...
Ao extrair USERNAME e OPERATION e usá-los como valores para dois rótulos, é possível perguntar depois: "Quantas vezes
sally
chamou a operaçãoupdate
?", "Quantas pessoas chamaram a operaçãoread
?", "Quantas vezesgeorge
chamou uma operação?", e assim por diante.
Para mais informações, consulte Configurar métricas de contador.
Métricas de distribuição
As métricas de distribuição acumulam dados numéricos das entradas de registro correspondentes a um filtro. As métricas contêm uma série temporal de objetos de distribuição e cada um deles contém:
- uma contagem do número de valores na distribuição;
- a média dos valores;
- a soma dos desvios quadrados: Somai=1..n(xi–média)2
- um conjunto de buckets de histograma com a contagem de valores em cada bucket. É possível usar o layout padrão do bucket ou escolher um próprio.
Um uso comum para as métricas de distribuição é rastrear as latências. À medida que cada entrada de registro é recebida, um valor de latência é extraído de algum lugar na entrada de registro e é adicionado à distribuição. Em intervalos regulares, a distribuição acumulada é gravada no Cloud Monitoring.
Para informações sobre distribuições, incluindo o formato delas em uma série temporal e como elas são visualizadas, consulte Métricas de distribuição de gráficos.
Para informações sobre como criar métricas com base em registros de distribuição, consulte Configurar métricas de distribuição.
Tipos de recurso
Recomendamos que suas métricas com base em registros especifiquem um único tipo de recurso. Essa especificação garante que a série temporal gerada para sua métrica com base em registros corresponda ao modelo de dados esperado pelo Cloud Monitoring. Também simplifica o processo de criação de gráficos e políticas de alertas, já que não há ambiguidade sobre quais dados de série temporal são representados ou monitorados.
Considere uma métrica com base em registros com o seguinte filtro:
severity>="ERROR"
resource.type="gce_instance"
O Cloud Monitoring reconhece que esses dados são de uma instância de VM do Compute Engine. Portanto, ao criar um gráfico para uma instância de VM, sua métrica com base em registros aparece como uma opção nos menus. Quando você cria um gráfico para um tipo de recurso diferente, sua métrica com base em registros não aparece como opção.
Se você criar uma métrica com base em registros sem especificar um tipo de recurso, o Monitoring vai listar essa métrica como uma opção para vários tipos de recursos, mesmo que você não conte entradas desses recursos.
Rótulos
As métricas com base em registros podem ter rótulos que permitem a coleta de várias séries temporais para a métrica. Os valores dos rótulos são extraídos dos campos nas entradas de registro correspondentes. O Logging grava séries temporais separadas para cada combinação de valores de rótulo.
A maioria das métricas com base em registros fornece um rótulo log
padrão.
Esse rótulo contém o valor da parte LOG_ID do campo
logName
na entrada de registro, por exemplo,
cloudresourcemanager.googleapis.com%2Factivity
.
As métricas com base em registros do sistema têm rótulos predefinidos que não podem ser mudados.
As métricas com base em registros definidas pelo usuário podem incluir rótulos definidos por você. Normalmente, esses rótulos extraem valores das entradas de registro que contribuem para a métrica com base em registros.
Por exemplo, é possível usar rótulos na métrica com base em registros para registrar a pasta ou a organização de origem de uma entrada de registro, mesmo que não seja possível criar métricas com base em registros no escopo do bucket para pastas ou organizações. Para mais informações, consulte Rótulos de métricas com base em registros.
Gráficos e políticas de alertas no Cloud Monitoring
Use as métricas com base em registros definidas pelo usuário e pelo sistema no Cloud Monitoring para criar gráficos e políticas de alerta. Para esses gráficos e políticas de alerta, é possível usar rótulos para filtrar ou combinar série temporal. Por exemplo, é possível definir um filtro para mostrar apenas algumas série temporal. Para mais informações, consulte Listar e criar gráficos de métricas com base em registros e Alertar sobre métricas com base em registros.
No Cloud Monitoring, as métricas com base em registros usam os seguintes padrões de nomenclatura:
- Sistema:
logging.googleapis.com/SYSTEM_METRIC_NAME
- Definido pelo usuário:
logging.googleapis.com/user/USER_METRIC_NAME
As métricas com base em registros definidas pelo usuário incluem a string user
.
Visibilidade dos escopos de métricas do Monitoring
As métricas com base em registros são ingeridas pelo Cloud Monitoring, e a visibilidade dos dados de métricas para um projeto Google Cloud é determinada por um escopo de métricas. Um escopo de métricas é uma lista de projetos monitorados pelo projeto que hospeda o escopo de métricas. O projeto de hospedagem é chamado de projeto de escopo.
Por padrão, cada projeto hospeda um escopo de métricas que inclui apenas ele mesmo. Portanto, um projeto é um projeto de escopo para si mesmo. Portanto, suas métricas, incluindo as com base em registros, ficam visíveis apenas para seu projetoGoogle Cloud .
Também é possível criar um escopo de métricas de vários projetos para o projeto de escopo. Com um escopo de métricas de vários projetos, o projeto de escopo pode ver as métricas de todos os projetos no escopo de métricas. O que fica visível para os projetos individuais em um escopo de métricas de vários projetos é determinado pelo escopo de métricas hospedado por cada um deles. O fato de dois projetos estarem em um escopo de métricas de vários projetos não significa que cada um deles tenha acesso aos dados de métricas ou de configuração do outro.
Um único projeto também pode aparecer em vários escopos de métricas. As métricas de um projeto assim ficam visíveis para os projetos de escopo de cada um desses escopos de métricas.
As métricas, incluindo as com base em registros, são definidas em um projeto específico. Quando esse projeto aparece em vários escopos de métricas, as métricas ficam visíveis para projetos diferentes daquele em que foram definidas. Para informações sobre como os escopos de métricas e as métricas com base em registros no escopo do bucket interagem, consulte Projetos e escopos de métricas.
Para mais informações sobre escopos de métricas, incluindo escopos de várias projetos, e sobre projetos de escopo, consulte:
Limitações
Não é possível criar métricas com base em registros que contam o número de entradas de registro que contêm um grupo de erros. Também não é possível extrair o ID de um grupo de erros para um rótulo anexado a uma métrica com base em registros.
Preços
Todas as métricas com base em registros definidas pelo usuário são uma classe de métricas personalizadas do Cloud Monitoring e são faturáveis. Para informações sobre preços, consulte Preços do Cloud Logging: métricas com base em registros.
Cota
Para informações sobre as cotas e os limites associados às métricas com base em registros definidas pelo usuário, consulte Cotas e limites.
Solução de problemas
Se você encontrar problemas ao usar métricas com base em registros, consulte Solução de problemas de métricas com base em registros.