Esta página foi traduzida pela API Cloud Translation.
Switch to English

Introdução ao Cloud Monitoring

Esta página fornece uma breve visão geral das ferramentas e do modelo de dados do Cloud Monitoring. Ao usar o Cloud Monitoring, é possível responder a perguntas importantes como as seguintes:

  • Meu serviço está íntegro?
  • Qual é a carga no meu serviço?
  • Meu site está funcionando e respondendo corretamente?
  • Meu serviço tem bom desempenho?

Esta página é destinada a qualquer pessoa que não tenha experiência com o Cloud Monitoring e que consiga monitorar o desempenho de um serviço ou sistema.

Visão geral do Cloud Monitoring

O Cloud Monitoring coleta medições dos principais aspectos do serviço e dos recursos do Google Cloud que você usa e fornece ferramentas que permitem visualizar e monitorar esses dados. Nesta seção, fornecemos uma visão geral dessas ferramentas e dos dados coletados. Nas seções restantes nesta página, fornecemos mais informações sobre essas ferramentas e apresentam o modelo de dados do Cloud Monitoring.

Se você implantou um serviço e quer garantir que ele seja notificado se ele estiver indisponível, configure uma verificação de tempo de atividade e anexe um alerta . A verificação de tempo de atividade sonda periodicamente seu serviço e armazena o sucesso e a latência dessa sondagem como dados de métricas. Quando você anexa uma política de alertas a uma verificação de tempo de atividade, essa política monitora o status de sucesso e notifica se uma sondagem falha.

Também é possível usar políticas de alertas para monitorar outras situações. Por exemplo, é possível criar uma política de alertas que notifique sua equipe de chamada se o 90o percentil da latência das respostas HTTP 200 do serviço exceder 100 ms.

Se você quiser visualizar os dados armazenados no seu projeto do Google Cloud, use as ferramentas de gráficos e painéis. O Cloud Monitoring preenche os painéis com base nos serviços e recursos que o serviço usa; No entanto, também é possível criar painéis personalizados para traçar dados em gráficos, indicadores de exibição ou texto de exibição.

É possível gerar gráficos e monitorar os dados de métricas (numéricos) que são coletados pelo seu projeto do Google Cloud:

  • Métricas do sistema geradas pelos serviços do Google Cloud. Elas fornecem informações sobre como o serviço está operando. Por exemplo, o Compute Engine reporta mais de 25 métricas exclusivas para cada instância de máquina virtual (VM, na sigla em inglês). Para uma lista completa das métricas, consulte métricas do Google Cloud.

  • Métricas de sistema e aplicativo que o agente do Cloud Monitoring coleta. Essas métricas fornecem informações adicionais sobre recursos e sistemas do sistema em execução em instâncias do Compute Engine e em instâncias do Amazon Elastic Compute Cloud (Amazon EC2). Como opção, é possível configurar o agente para coletar métricas de plug-ins de terceiros. Essas informações podem incluir métricas sobre os servidores da Web Apache ou Nginx, ou métricas sobre seus bancos de dados do MongoDB ou PostgreSQL.

  • Métricas personalizadas que seu serviço grava usando a API Cloud Monitoring ou usando uma biblioteca como o OpenCensus.

  • As métricas com base em registros, que coletam informações numéricas sobre os registros gravados no Cloud Logging, são definidas por você ou pelo Google. As métricas com base em registros definidas pelo Google incluem contagens de erros que seu serviço detecta e o número total de entradas de registro recebidas pelo projeto do Google Cloud. Também é possível definir métricas com base em registros personalizadas. Por exemplo, é possível contar o número de entradas de registro que correspondem a uma determinada consulta.

No restante da página, você encontra mais informações sobre verificações de tempo de atividade, políticas de alertas, gráficos e painéis. Nesta página, também apresentamos alguns recursos que simplificam o monitoramento de sistemas grandes.

Noções básicas sobre métricas e séries temporais

O Cloud Monitoring usa o termo métricas para se referir a uma coleção de medições com carimbo de data/hora que são armazenadas com informações sobre a origem e o significado delas. Esses dados são armazenados em uma estrutura de dados chamada série temporal.

Veja a seguir uma parte de uma série temporal:

{
  "timeSeries": [
    {
      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "2708613220420473591",
          "zone": "us-east1-b",
          "project_id": "sampleproject"
        }
      },
      "metric": {
        "labels": {
          "device": "sda1",
          "state": "free"
        },
        "type": "agent.googleapis.com/disk/percent_used"
      },
      "metricKind": "GAUGE",
      "valueType": "DOUBLE",
      "points": [
        {
          "interval": {
            "startTime": "2020-07-27T20:20:21.597143Z",
            "endTime": "2020-07-27T20:20:21.597143Z"
          },
          "value": {
            "doubleValue": 0.473005
          }
        },
        {
          "interval": {
            "startTime": "2020-07-27T20:19:21.597239Z",
            "endTime": "2020-07-27T20:19:21.597239Z"
          },
          "value": {
            "doubleValue": 0.473025
          }
        },
      ],
    },

A matriz points contém as medições com carimbo de data/hora. Para entender o significado de um valor, você precisa consultar os outros dados incluídos nas medições e as definições desses campos:

  • O campo resource descreve o componente de hardware ou software que está sendo monitorado. No Cloud Monitoring, o componente de hardware ou software é chamado de recurso monitorado. Exemplos de recursos monitorados incluem instâncias do Compute Engine e aplicativos do App Engine. Para ver a lista completa de recursos monitorados, consulte a lista de recursos monitorados.

    No exemplo anterior, o campo resource é assim:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "2708613220420473591",
          "zone": "us-east1-b",
          "project_id": "sampleproject"
        }
    

    O subcampo type lista o recurso monitorado como um gce_instance, o que indica que essas são medições feitas em uma instância de VM do Compute Engine. O subcampo labels contém pares de chave-valor que fornecem informações adicionais sobre o recurso monitorado. Para um gce_instance, os rótulos identificam a instância de VM específica que está sendo monitorada.

  • O campo metric descreve o que está sendo medido.

    No exemplo anterior, o campo metric é assim:

      "metric": {
        "labels": {
          "device": "sda1",
          "state": "free"
        },
        "type": "agent.googleapis.com/disk/percent_used"
      },
    

    Para os serviços do Google, o campo type especifica o serviço e o que está sendo monitorado. Neste exemplo, o agente do Cloud Monitoring é o serviço e está medindo a porcentagem do disco usado. Se o campo type começar com custom ou external, a métrica será uma métrica personalizada ou uma definida por terceiros.

    O campo labels contém pares de chave-valor que fornecem informações adicionais sobre a medição. Esses rótulos são definidos como parte de MetricDescriptor, que é uma estrutura de dados que define os atributos dos dados medidos. O MetricDescriptor da métrica agent.googleapis.com/disk/percent_used inclui dois rótulos:

    • device: o nome do dispositivo, que é "sda1" para o exemplo.
    • state: o tipo de uso, que precisa ser "gratuito", "usado" ou "reservado". No exemplo, o valor é "free".
  • O campo metricKind descreve a relação entre medições curvas em uma série temporal:

    • As métricas GAUGE armazenam o valor daquilo que está sendo medido em um determinado momento. Uma analogia é um registro de temperatura por hora.

    • As métricas CUMULATIVE armazenam o valor acumulado daquilo que está sendo medido em um determinado momento. Uma analogia é um odômetro em um veículo.

    • As métricas DELTA armazenam a alteração no valor do que está sendo medido durante um período especificado. Um exemplo é um resumo de ações diário que mostra os ganhos, ou as perdas, da ação.

  • O campo valueType descreve o tipo de dados para a medição: INT64, DOUBLE, BOOL, STRING ou DISTRIBUTION.

O Cloud Monitoring grava uma série temporal para cada combinação de valores de rótulo de recurso e métrica. É possível usar esses rótulos para agrupar e filtrar séries temporais. Por exemplo, se você tiver um projeto do Google Cloud com várias instâncias de VM do Compute Engine, a utilização do disco para cada instância de VM será uma série temporal única. Veja algumas maneiras de exibir esses dados:

  • É possível mostrar a utilização do disco de cada instância de VM.
  • Você pode agrupar pelas instâncias de VM pelo rótulo state e, em seguida, exibir a utilização média do disco. Veja na captura de tela a seguir um gráfico com essa configuração:

    Uso médio do disco agrupado por estado.

  • É possível mostrar a utilização do disco para uma instância de VM específica filtrando a série temporal para um único valor do rótulo instance_id. A captura de tela abaixo ilustra um gráfico com esta configuração:

    Porcentagem usada para o disco de um disco específico.

Como visualizar dados de série temporal com gráficos e painéis

O Cloud Monitoring oferece várias maneiras de visualizar os dados de série temporal:

  • Metrics Explorer é uma ferramenta de gráfico independente desenvolvida para permitir que você crie gráficos e explore rapidamente dados de série temporal. Por padrão, os gráficos criados com essa ferramenta não são salvos. No entanto, é possível salvar esses gráficos em um painel personalizado. O Metrics Explorer está disponível apenas no Console do Google Cloud.

  • Os painéis pré-configurados são preenchidos automaticamente pelo Cloud Monitoring. Há painéis para suas instâncias de VM, discos e instâncias do Pub/Sub. A captura de tela a seguir ilustra a lista de painéis pré-configurados disponíveis para um projeto do Google Cloud:

    Lista de painéis pré-configurados.

    Por exemplo, usando o painel Instâncias de VM, é possível visualizar detalhes como uso de memória e disco, identificar endereços IP e identificar quais VMs estão perdendo pacotes de rede. Esse painel também exibe informações sobre o uso do agente do Cloud Monitoring e fornece sugestões para instrumentação.

  • Os painéis personalizados permitem definir quais dados você quer visualizar e como visualizá-los. Nos painéis, é possível usar widgets que exibem gráficos, textos e visões gerais que informam visualmente se a medição mais recente está em uma zona de perigo, uma zona de aviso ou uma boa zona. Para ver exemplos de todos os widgets do painel, consulte Widgets do painel.

    Você pode criar painéis personalizados com a API Dashboards ou com o Console do Cloud.

Ao criar um gráfico, você seleciona o recurso monitorado e o tipo de métrica com os dados de série temporal que você quer visualizar. Depois de fazer essas seleções, aplique filtros para selecionar séries temporais que correspondam a determinados valores de rótulo e agrupe dados por rótulo.

Com as configurações do gráfico, você compara os dados atuais com os anteriores e cria gráficos que exibem dados de série temporal de várias métricas. Por exemplo, veja na captura de tela a seguir um gráfico que exibe o número de bytes lidos e gravados por uma única VM:

O Metrics Explorer exibe bytes de leitura e gravação de disco.

Para mais informações sobre dados de série temporal de visualização, consulte Como usar painéis e gráficos.

Como configurar alertas

Você pode receber uma notificação quando as séries temporais atenderem a determinadas condições se criar uma política de alertas. As políticas de alertas podem ser simples ou complexas:

  • "Notifique-me se alguma verificação de tempo de atividade para o domínio example.com falhar por mais de três minutos."

  • "Notificar a equipe da chamada se o 90º percentil das respostas HTTP 200 de três ou mais servidores da Web em dois locais distintos do Google Cloud exceder uma latência de resposta de 100 ms, desde que haja. menos de 15 QPS no servidor".

A captura de tela a seguir ilustra uma política de alertas configurada para notificar você quando a utilização da CPU para 75% da instância de VM estiver acima de um limite de 75:

Política de alertas que monitora a utilização da CPU.

Você pode criar políticas de alertas usando a API Cloud Monitoring e o Console do Google Cloud. Em ambos os casos, é possível gerenciar e visualizar suas políticas no Console do Google Cloud usando a página Alerta.

As condições são o componente principal de uma política de alertas. Uma condição descreve um possível problema com o sistema que será analisado pelo Cloud Monitoring. Por exemplo, é possível descrever condições como as seguintes:

  • As verificações de tempo de atividade do domínio example.com falham por mais de três minutos.
  • O espaço livre de qualquer instância de VM monitorada é inferior a 10%.

No primeiro exemplo, se todas as verificações de tempo de atividade do domínio example.com forem bem-sucedidas, a condição não será atendida. No segundo exemplo, se a VM-A e a VM-B estiverem sendo monitoradas e se o espaço livre da VM-A for 8%, essa condição será atendida.

Quando as condições de uma política de alertas são atendidas, o Cloud Monitoring abre um incidente e emite notificações.

  • Um incidente é um registro persistente que armazena informações sobre os recursos monitorados quando a condição foi atendida. Quando a condição deixa de ser atendida, o incidente é fechado automaticamente. Você pode ver todos os incidentes, abertos e fechados usando o painel de alertas.
  • Você especifica quem será notificado quando configurar uma política de alertas. O Monitoring fornece suporte para canais de notificação comuns, incluindo e-mail, aplicativo do Cloud Mobile e serviços como PagerDuty ou Slack. Para ver a lista completa de canais de notificação, consulte Opções de notificação.

Para mais informações sobre políticas de alertas, consulte Introdução a alertas.

Como verificar se seu serviço pode ser acessado com verificações de tempo de atividade

É possível configurar o Cloud Monitoring para analisar periodicamente o serviço de uma maneira que simula o modo como os usuários acessam o serviço. Quando você configura uma verificação de tempo de atividade, os servidores em pelo menos três locais diferentes verificam o serviço periodicamente e registram o sucesso e a latência da sondagem. Se quiser ser notificado quando a verificação de tempo de atividade falhar, crie uma política de alertas para monitorar a métrica uptime_check/check_passed, que registra os resultados do tempo de atividade verificações.

O Cloud Monitoring fornece uma página Verificações de tempo de atividade que exibe um resumo das suas verificações de tempo de atividade. É possível filtrar a exibição e usar os links incorporados para visualizar os detalhes de uma verificação de tempo de atividade específica. A visualização detalhada de uma verificação de tempo de atividade exibe o sucesso ou a falha da resposta e a latência da resposta, além de detalhes sobre a verificação de tempo de atividade:

Visualização de detalhes de uma verificação de tempo de atividade.

Para mais informações sobre esse tópico, consulte Como gerenciar verificações de tempo de atividade.

Como monitorar sistemas grandes

Nesta seção, descrevemos recursos criados para ajudar você a gerenciar sistemas grandes.

Como usar grupos de recursos

Um grupo de recursos é um conjunto dinâmico de recursos do Google Cloud ou da Amazon que atendem a uma descrição fornecida por você. Depois de definir um grupo de recursos, é possível monitorar o grupo como se fosse um único recurso. Por exemplo, é possível configurar uma verificação de tempo de atividade para monitorar um grupo de recursos. Para gráficos e políticas de alerta, é possível filtrar com base no nome do grupo, porque o nome do grupo é tratado da mesma maneira que um rótulo em uma série temporal.

Veja a seguir todos exemplos de definições de grupo:

  • Instâncias do Compute Engine cujos nomes começam com a string "prod-".
  • Recursos com a tag "test-cluster".
  • Instâncias do Amazon EC2 na região A ou região B.

add medida que você adiciona e remove recursos, a associação no grupo é alterada automaticamente.

Para mais informações sobre esse assunto, consulte Como usar grupos de recursos.

Como visualizar métricas de vários projetos do Google Cloud

O Cloud Monitoring usa um espaço de trabalho como um mecanismo para permitir que você visualize e gerencie séries temporais armazenadas em vários projetos do Google Cloud de um único local. O espaço de trabalho armazena gráficos, painéis, verificações de tempo de atividade e outros artefatos de configuração.

No cenário mais comum, quando você acessa o Monitoring no Console do Google Cloud pela primeira vez, um espaço de trabalho é criado automaticamente para seu projeto. Nesse caso, o espaço de trabalho monitora um único projeto do Google Cloud.

É possível criar gráficos e políticas de alertas que monitoram métricas enviadas para diferentes projetos do Google Cloud configurando um espaço de trabalho para monitorar os dados de métricas desses projetos.

Para uma visão geral conceitual deste tópico, consulte Espaços de trabalho.

Uso de interfaces programáticas e gráficas

É possível usar o Console do Google Cloud para ver os dados da métrica e para criar e gerenciar políticas de alertas, painéis e verificações de tempo de atividade.

Também é possível usar a API Cloud Monitoring diretamente para gravar dados de métricas personalizadas e criar e gerenciar políticas de alertas, painéis e verificações de tempo de atividade. As páginas de referência da API Cloud Monitoring, como alertPolicies.list, permitem que você faça testes com chamadas de API diretamente da página de referência.

Normalmente, a documentação de um tópico do Cloud Monitoring, como Introdução a alertas, descreve como usar o Console do Google Cloud e a API Cloud Monitoring.

A seguir

Para explorar o Cloud Monitoring, consulte o Guia de início rápido para monitorar uma instância do Compute Engine. O guia de início rápido orienta você na criação de uma verificação de tempo de atividade, uma política de alertas e um painel personalizado usando o console do Cloud Monitoring.

Para mais informações sobre o Monitoring, consulte os recursos abaixo:

Para informações sobre a API Cloud Monitoring, consulte APIs e referência.

Para listas de métricas e recursos monitorados, consulte:

Para informações sobre preços, cotas e limites, consulte Recursos.