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 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 telemetria de instâncias da JVM e reinicie o agente.
Exemplo de configuração
O comando a seguir cria a configuração para coletar e ingerir a telemetria para a JVM e reinicia o Agente de operações.
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
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/jvm.gc.collections.count
|
|
CUMULATIVE , INT64 gce_instance |
name
|
workload.googleapis.com/jvm.gc.collections.elapsed
|
|
CUMULATIVE , INT64 gce_instance |
name
|
workload.googleapis.com/jvm.memory.heap.committed
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/jvm.memory.heap.init
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/jvm.memory.heap.max
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/jvm.memory.heap.used
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/jvm.memory.nonheap.committed
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/jvm.memory.nonheap.init
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/jvm.memory.nonheap.max
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/jvm.memory.nonheap.used
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/jvm.memory.pool.committed
|
|
GAUGE , INT64 gce_instance |
name
|
workload.googleapis.com/jvm.memory.pool.init
|
|
GAUGE , INT64 gce_instance |
name
|
workload.googleapis.com/jvm.memory.pool.max
|
|
GAUGE , INT64 gce_instance |
name
|
workload.googleapis.com/jvm.memory.pool.used
|
|
GAUGE , INT64 gce_instance |
name
|
workload.googleapis.com/jvm.threads.count
|
|
GAUGE , INT64 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:
-
No Console do Google Cloud, acesse a página do leaderboard Metrics Explorer:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do painel do criador de consultas, selecione o botão code MQL ou code PromQL.
- Verifique se MQL está selecionado na opção de ativar/desativar Idioma. A alternância de idiomas está na mesma barra de ferramentas que permite formatar sua consulta.
- 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:
-
No console do Google Cloud, acesse a página Painéis:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Selecione a guia Lista de painéis e escolha a categoria Integrações.
- 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:
-
No console do Google Cloud, acesse a página Integrações:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Clique no filtro de plataforma de implantação do Compute Engine.
- Localize a entrada do JVM e clique em Ver detalhes.
- 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:
-
No console do Google Cloud, acesse a página Integrações:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.
- Localize a entrada do JVM e clique em Ver detalhes.
- Selecione a guia Alertas. Essa guia apresenta descrições das políticas de alertas disponíveis e mostra uma interface para instalá-las.
- 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:
- Na lista de políticas de alertas disponíveis, selecione aquelas que você quer instalar.
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.
- 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.