JVM

A integração de JVM coleta métricas de JVM expostas por meio de Java Management Extensions (JMX). A integração coleta principalmente métricas em memória e coleta de lixo. Também há métricas de ambiente de execução adicionais disponíveis, como contagem de linhas de execução e classes carregadas.

Para mais informações sobre a JVM, consulte a documentação da JVM.

Pré-requisitos

Para coletar a telemetria da JVM, instale o Agente de operações:

  • Para métricas, instale a versão 2.2.0 ou mais recente.

Essa integração é compatível com as versões JVM Java 16 e Java 11.

Configurar a instância de JVM

Para expor um endpoint JMX, você precisa definir a propriedade do sistema com.sun.management.jmxremote.port ao iniciar a JVM. Também recomendamos configurar a propriedade do sistema com.sun.management.jmxremote.rmi.port para a mesma porta.

Para expor um endpoint JMX remotamente, você também precisa definir a propriedade do sistema java.rmi.server.hostname.

Para definir as propriedades do sistema usando argumentos de linha de comando, adicione -D ao início do nome da propriedade ao iniciar a JVM.

Por exemplo, para definir com.sun.management.jmxremote.port na porta 9999, especifique o seguinte ao iniciar a JVM:

-Dcom.sun.management.jmxremote.port=9999

Configurar o agente de operações para JVM

Seguindo o guia para configurar o Agente de operações, adicione os elementos necessários para coletar a telemetria das instâncias da JVM e reinicie o agente.

Exemplo de configuração

Os comandos a seguir criam a configuração para coletar e ingerir a telemetria para a JVM e reiniciam o Agente de operações.

set -e

# Create a back up of the existing file so existing configurations are not lost.
sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak

# Configure the Ops Agent.
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
metrics:
  receivers:
    jvm:
      type: jvm
      endpoint: service:jmx:rmi:///jndi/rmi://127.0.0.1:9010/jmxrmi
  service:
    pipelines:
      jvm:
        receivers:
          - jvm
EOF

sudo systemctl restart google-cloud-ops-agent.service
sleep 60

Configurar a coleta de métricas

Para ingerir métricas da JVM, crie um receptor para as métricas que a JVM produz e crie um pipeline para o novo receptor.

Esse receptor não aceita o uso de várias instâncias na configuração, por exemplo, para monitorar vários endpoints. Todas essas instâncias gravam na mesma série temporal, e o Cloud Monitoring não tem como diferenciá-las.

Para configurar um receptor para suas métricas do jvm, especifique os campos a seguir:

Campo Padrão Descrição
collection_interval 60s Um valor de time.Duration, como 30s ou 5m.
endpoint localhost:9999 O URL do serviço JMX ou o host e a porta usados para criar o URL do serviço. Esse valor precisa estar na forma de service:jmx:<protocol>:<sap> ou host:port. Os valores no formato host:port são usados para criar um URL de serviço de service:jmx:rmi:///jndi/rmi://<host>:<port>/jmxrmi.
password Senha configurada se o JMX estiver configurado para exigir autenticação.
type Este valor precisa ser jvm.
username O nome de usuário configurado se o JMX estiver configurado para exigir autenticação.

O que é monitorado?

A tabela a seguir fornece a lista de métricas que o agente de operações coleta da instância da JVM.

Tipo de métrica 
Tipo, tipo
Recursos monitorados
Rótulos
workload.googleapis.com/jvm.classes.loaded
GAUGEINT64
gce_instance
 
workload.googleapis.com/jvm.gc.collections.count
CUMULATIVEINT64
gce_instance
name
workload.googleapis.com/jvm.gc.collections.elapsed
CUMULATIVEINT64
gce_instance
name
workload.googleapis.com/jvm.memory.heap.committed
GAUGEINT64
gce_instance
 
workload.googleapis.com/jvm.memory.heap.init
GAUGEINT64
gce_instance
 
workload.googleapis.com/jvm.memory.heap.max
GAUGEINT64
gce_instance
 
workload.googleapis.com/jvm.memory.heap.used
GAUGEINT64
gce_instance
 
workload.googleapis.com/jvm.memory.nonheap.committed
GAUGEINT64
gce_instance
 
workload.googleapis.com/jvm.memory.nonheap.init
GAUGEINT64
gce_instance
 
workload.googleapis.com/jvm.memory.nonheap.max
GAUGEINT64
gce_instance
 
workload.googleapis.com/jvm.memory.nonheap.used
GAUGEINT64
gce_instance
 
workload.googleapis.com/jvm.memory.pool.committed
GAUGEINT64
gce_instance
name
workload.googleapis.com/jvm.memory.pool.init
GAUGEINT64
gce_instance
name
workload.googleapis.com/jvm.memory.pool.max
GAUGEINT64
gce_instance
name
workload.googleapis.com/jvm.memory.pool.used
GAUGEINT64
gce_instance
name
workload.googleapis.com/jvm.threads.count
GAUGEINT64
gce_instance
 

Verificar a configuração

Nesta seção, descrevemos como verificar se você configurou corretamente o receptor da JVM. Pode levar um ou dois minutos para que o agente de operações comece a coletar telemetria.

Para verificar se as métricas do JVM estão sendo enviadas para o Cloud Monitoring, faça o seguinte:

  1. No Console do Google Cloud, acesse a página do  Metrics Explorer:

    Acesse o Metrics explorer

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. Na barra de ferramentas do painel do criador de consultas, selecione o botão  MQL ou  PromQL.
  3. Verifique se MQL está selecionado na opção de ativar/desativar MQL. A alternância de idiomas está na mesma barra de ferramentas que permite formatar sua consulta.
  4. Digite a consulta a seguir no Editor e clique em Executar consulta:
    fetch gce_instance
    | metric 'workload.googleapis.com/jvm.memory.heap.used'
    | every 1m
    

Ver painel

Para visualizar as métricas da JVM, é necessário ter um gráfico ou um painel configurado. A integração da JVM inclui um ou mais painéis para você. Todos os painéis são instalados automaticamente depois que você configura a integração e o Agente de operações começa a coletar dados de métricas.

Também é possível ver visualizações estáticas de painéis sem instalar a integração.

Para ver um painel instalado, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Painéis:

    Ir para Painéis

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. Selecione a guia Lista de painéis e escolha a categoria Integrações.
  3. Clique no nome do painel que você quer visualizar.

Se você configurou uma integração, mas o painel não foi instalado, verifique se o agente de operações está em execução. Quando não há dados de métricas para um gráfico no painel, a instalação do painel falha. Depois que o Agente de operações começar a coletar métricas, o painel será instalado para você.

Para acessar uma visualização estática do painel, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Integrações:

    Acessar Integrações

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. Clique no filtro de plataforma de implantação do Compute Engine.
  3. Localize a entrada do JVM e clique em Ver detalhes.
  4. Selecione a guia Painéis para uma visualização estática. Se o painel estiver instalado, navegue até ele clicando em Ver painel.

Para mais informações sobre painéis no Cloud Monitoring, consulte Painéis e gráficos.

Para mais informações sobre como usar a página Integrações, consulte Gerenciar integrações.

Instalar políticas de alertas

As políticas de alertas orientam o Cloud Monitoring a notificar você quando ocorrerem condições especificadas. A integração da JVM inclui uma ou mais políticas de alertas para você usar. É possível ver e instalar essas políticas de alertas na página Integrações no Monitoring.

Para visualizar e descrever as descrições de políticas de alertas disponíveis, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Integrações:

    Acessar Integrações

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

  2. Localize a entrada do JVM e clique em Ver detalhes.
  3. Selecione a guia Alertas. Essa guia apresenta descrições das políticas de alertas disponíveis e mostra uma interface para instalá-las.
  4. Instalar políticas de alertas. As políticas de alertas precisam saber para onde enviar as notificações de que o alerta foi acionado. Portanto, elas exigem informações para instalação. Para instalar políticas de alertas, faça o seguinte:
    1. Na lista de políticas de alertas disponíveis, selecione aquelas que você quer instalar.
    2. Na seção Configurar notificações, selecione um ou mais canais de notificação. Você pode desativar o uso dos canais de notificação, mas, se isso acontecer, as políticas de alertas vão ser disparadas silenciosamente. É possível verificar o status no Monitoring, mas não receber notificações.

      Para saber mais sobre canais de notificação, consulte Gerenciar canais de notificação.

    3. Clique em Criar políticas.

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

Para mais informações sobre como usar a página Integrações, consulte Gerenciar integrações.

A seguir

Para ver um tutorial sobre como usar o Ansible para instalar o agente de operações, configurar um aplicativo de terceiros e instalar um painel de amostra, consulte o vídeo Instalação do agente de operações para resolver problemas de aplicativos de terceiros.