Estrutura dos intervalos temporais

Esta página é uma continuação detalhada da discussão e dos exemplos apresentados em Métricas, séries cronológicas e recursos e Componentes do modelo de métricas. Para tirar o máximo partido desta página, leia primeiro essas páginas.

Esta página destina-se a leitores que pretendem uma compreensão mais profunda das séries temporais e da implementação do modelo de métricas do Cloud Monitoring, especialmente os leitores que estão a usar a API Monitoring. Isto inclui utilizadores de métricas personalizadas (definidas pelo utilizador).

  • Esta página mapeia o modelo de métricas geral para a API Cloud Monitoring, pelo que é útil para qualquer pessoa que use a API Monitoring diretamente. Os utilizadores cuja interação principal é com a consola do Google Cloud provavelmente não precisam deste nível de detalhe.

  • Também é útil para qualquer pessoa que use uma integração de terceiros, como o OpenTelemetry. À medida que os dados de uma origem externa chegam ao Cloud Monitoring através de uma integração, são mapeados para o modelo de métricas do Cloud Monitoring e tratados como quaisquer outros dados de métricas.

Para mais informações sobre a recolha das suas próprias métricas, consulte o artigo Vista geral das métricas definidas pelo utilizador.

Revisão do modelo de métricas

Um pré-requisito para compreender a estrutura das séries cronológicas é estar familiarizado com o modelo de métricas usado pelo Cloud Monitoring. Este modelo é descrito no artigo Métricas, intervalos temporais e recursos. Esta secção apresenta uma breve crítica.

Em termos gerais, os dados de monitorização são registados em séries cronológicas. Cada série cronológica individual inclui três elementos de informação relevantes para esta discussão:

  • Um conjunto de pontos de dados com indicação de data/hora.
  • Uma referência ao tipo de métrica que lhe indica como interpretar os pontos de dados.
  • Uma referência ao recurso monitorizado a partir do qual os dados foram originados.

    Estrutura de uma série temporal.

Cada série cronológica contém as medições de uma única origem física ou lógica. Se o seu ambiente tiver centenas de recursos, cada um contribui com, pelo menos, uma série cronológica. Na verdade, se o tipo de métrica e o tipo de recurso monitorizado tiverem etiquetas, recebe uma série cronológica por combinação de valores de etiquetas. Consulte Cardinalidade para mais informações.

Um exemplo de intervalos temporais

Um intervalo temporal é representado como uma instância de um objeto TimeSeries. Segue-se uma instância completa de uma única série cronológica:

    {
      "metric": {
        "labels": {
          "log": "kubelet",
          "severity": "DEFAULT"
        },
        "type": "logging.googleapis.com/log_entry_count"
      },
      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "5106847938295940291",
          "zone": "us-central1-a",
          "project_id": "a-gcp-project"
        }
      },
      "metricKind": "DELTA",
      "valueType": "INT64",
      "points": [
        {
          "interval": {
            "startTime": "2019-12-20T20:25:38Z",
            "endTime": "2019-12-20T20:26:38Z"
          },
          "value": {
            "int64Value": "20"
          }
        }
      ]
    }

A maioria dos intervalos temporais inclui muito mais pontos de dados. Este abrange um intervalo de um minuto. Todas as séries cronológicas têm a mesma estrutura, com os seguintes campos:

  • O campo metric regista

    • Os valores de etiqueta da métrica para este intervalo temporal específico, que representam uma combinação de valores de etiqueta.
    • O tipo de métrica ao qual os dados estão associados. O tipo de métrica especifica as etiquetas disponíveis e descreve o que é representado pelos pontos de dados.

    As informações neste campo são descritas mais detalhadamente em Métricas.

  • O campo resource regista:

    • Os valores de etiqueta de recursos para este intervalo temporal específico, que representam uma combinação de valores de etiqueta.
    • O recurso monitorizado específico a partir do qual os dados foram recolhidos.

    As informações neste campo são descritas mais detalhadamente nos objetos de recursos monitorizados.

  • Os campos metricKind e valueType indicam como interpretar os valores. Para mais informações, consulte o artigo Tipos e géneros de métricas.

  • O campo points é uma matriz de valores com indicação de data/hora. O tipo de métrica indica o que os valores representam. A série cronológica de exemplo tem uma matriz com um único ponto de dados. Na maioria das séries cronológicas, a matriz tem muito mais valores.

Para um exemplo em direto que obtenha dados de intervalos temporais, consulte o artigo Intervalos temporais: dados de um recurso monitorizado.

O resto desta página analisa as informações nos campos metric e resource de forma mais detalhada.

Recursos monitorizados

O Cloud Monitoring recolhe dados de recursos monitorizados e regista-os em séries cronológicas. Cada série cronológica criada inclui uma descrição do recurso monitorizado a partir do qual os dados foram recolhidos.

Objetos de recursos monitorizados

Um recurso monitorizado é representado por uma instância de um objeto MonitoredResource. O recurso monitorizado descreve a origem dos valores numa série cronológica. O objeto MonitoredResource está incorporado na série cronológica e identifica uma instância específica de um tipo de recurso monitorizado conhecido pelo Monitoring: aponta para uma entidade física ou lógica.

Por exemplo, segue-se um objeto monitored-resource que descreve uma instância específica do Compute Engine, extraído da série cronológica de exemplo:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "5106847938295940291",
          "zone": "us-central1-a",
          "project_id": "a-gcp-project"
        }
      }

Esta instância de um recurso monitorizado é do tipo gce_instance e tem um valor instance_id específico (5106847938295940291) no projeto a-gcp-project. A instância está localizada nos EUA. Outra série cronológica pode ter origem numa instância diferente deste recurso monitorizado. Cada combinação de valores de etiqueta identifica um recurso único a partir do qual são recolhidos dados.

Diferentes conjuntos de etiquetas fazem sentido para diferentes recursos. O conjunto de etiquetas para um recurso é determinado pelo descritor de recurso monitorizado para esse tipo.

Descritores de recursos monitorizados

As informações sobre um tipo de recurso monitorizado são mantidas numa estrutura de dados denominada descritor de recurso monitorizado. Para ver uma definição desta estrutura de dados, consulte MonitoredResourceDescriptor.

Um descritor de recurso monitorizado é como um esquema ou uma especificação para uma estrutura de registo. Não contém os dados sobre uma instância específica do recurso monitorizado; indica-lhe como descrever um recurso monitorizado de um tipo específico. Por exemplo, segue-se o descritor de recurso monitorizado para o recurso gce_instance:

{
  "type": "gce_instance",
  "displayName": "VM Instance",
  "description": "A virtual machine instance hosted in Compute Engine.",
  "name": "projects/[PROJECT_ID]/monitoredResourceDescriptors/gce_instance"
  "labels": [
    {
      "key": "project_id",
      "description": "The identifier of the GCP project associated with this resource, such as \"my-project\"."
    },
    {
      "key": "instance_id",
      "description": "The numeric VM instance identifier assigned by Compute Engine."
    },
    {
      "key": "zone",
      "description": "The Compute Engine zone in which the VM is running."
    }
  ],
}

Compare este descritor de recurso monitorizado com a instância específica de um recurso gce_instance apresentado nos objetos de recurso monitorizado. Este descritor não descreve um recurso monitorizado específico. Em alternativa, o descritor especifica as etiquetas e cada combinação de valores de etiquetas identifica um recurso monitorizado específico.

Pode obter os descritores de recursos monitorizados no seu Google Cloud projeto através da API Cloud Monitoring. Consulte, por exemplo, as páginas de referência dos métodos monitoredResourceDescriptors.list e monitoredResourceDescriptors.get.

Exemplo em direto: se tiver um Google Cloud projeto, pode obter este descritor através do widget do Explorador de APIs da seguinte forma:

  1. Abra a monitoredResourceDescriptors.list página de referência.

  2. No painel com a etiqueta Experimentar este método, introduza o seguinte:

    • name: projects/PROJECT_ID/monitoredResourceDescriptors/gce_instance

      Substitua PROJECT_ID pelo ID do seu Google Cloud projeto.

  3. Clique em Executar.

O pedido devolve o descritor anterior.

Para ver exemplos que usam os métodos da API Monitoring, consulte o artigo Liste os tipos de métricas e recursos.

Métrica

Cada série cronológica criada pelo Cloud Monitoring regista um conjunto de pontos de dados, bem como informações sobre a organização e o significado desses pontos de dados.

Objetos de métricas

Cada série cronológica inclui uma referência à descrição dos dados que estão a ser registados num objeto de métrica.

O objeto de métrica contido num intervalo temporal especifica o tipo de medições e informações específicas da métrica sobre essas medições. Para uma definição da estrutura de dados do objeto de métrica, consulte Metric. Por exemplo, aqui está o objeto de métrica extraído da série cronológica em Uma série cronológica de exemplo:

    {
      "metric": {
        "labels": {
          "log": "kubelet",
          "severity": "DEFAULT"
        },
        "type": "logging.googleapis.com/log_entry_count"
      }

Este objeto indica que a série cronológica contém logging.googleapis.com/log_entry_count medições. Os valores das etiquetas indicam que esta série cronológica específica conta apenas as entradas de registo de gravidade DEFAULT no ficheiro de registo denominado kubelet.

Existe uma série cronológica para cada combinação de valores de etiquetas, pelo que as entradas INFO no mesmo ficheiro de registo aparecem numa série cronológica diferente.

O conjunto de etiquetas recolhidas num objeto de métrica é especificado no descritor desse tipo de métrica.

Descritores de métricas

As informações sobre um tipo de métrica são mantidas numa estrutura de dados denominada descritor de métricas. Para ver uma definição desta estrutura de dados, consulte MetricDescriptor.

Um descritor de métricas é um esquema ou uma especificação para uma estrutura de registos. Não contém os dados sobre uma métrica específica. Em vez disso, indica-lhe como interpretar os dados associados a um tipo de métrica específico.

Segue-se um exemplo de um descritor de métricas:

{
  "type": "logging.googleapis.com/log_entry_count",
  "name": "projects/a-gcp-project/metricDescriptors/logging.googleapis.com/log_entry_count",
  "labels": [
    {
      "key": "log",
      "description": "Name of the log."
    },
    {
      "key": "severity",
      "description": "Severity of the log entry."
    }
  ],
  "metricKind": "DELTA",
  "valueType": "INT64",
  "unit": "1",
  "description": "Number of log entries that contributed to user-defined metrics.",
  "displayName": "Log entries",
  "metadata": {
    "launchStage": "GA",
    "samplePeriod": "60s"
  },
  "launchStage": "GA"
}

Compare este descritor de métricas com o objeto de métricas apresentado em Objetos de métricas. O descritor indica o significado dos valores das etiquetas, bem como a forma de interpretar os valores dos pontos de dados.

Pode obter descritores de métricas através da API Cloud Monitoring. Consulte, por exemplo, as páginas de referência dos métodos metricDescriptors.list e metricDescriptors.get.

Exemplo em direto: se tiver um Google Cloud projeto, pode obter este descritor através do widget do Explorador de APIs da seguinte forma:

  1. Abra a página de referência metricDescriptors.list.

  2. No painel com a etiqueta Experimentar este método, introduza o seguinte:

    • name: projects/PROJECT_ID/metricDescriptors/logging.googleapis.com/log_entry_count Substitua PROJECT_ID pelo ID do seu Google Cloud projeto.
  3. Clique em Executar.

O pedido devolve o descritor anterior.

Para ver exemplos que usam os métodos da API Monitoring, consulte o artigo Liste os tipos de métricas e recursos.

A maioria dos campos no descritor de métricas não necessita de esclarecimentos. Os dois elementos que provavelmente precisam de mais explicações são o tipo de métrica e o tipo de valor, que são descritos mais detalhadamente em Tipos e tipos de métricas.

O Cloud Monitoring tem aproximadamente 6500 tipos de métricas incorporados. Consulte a lista de métricas para ver detalhes. Também pode criar os seus próprios descritores de métricas para capturar métricas personalizadas. Para mais informações, consulte o artigo Vista geral das métricas definidas pelo utilizador.