La integración de JVM recopila métricas de JVM expuestas a través de Java Management Extensions (JMX). La integración recopila principalmente métricas de la memoria y la recolección de elementos no utilizados. También hay métricas adicionales del entorno de ejecución, como el recuento de subprocesos y las clases cargadas.
Para obtener más información sobre JVM, consulta la documentación de JVM.
Requisitos previos
Para recopilar la telemetría de JVM, debes instalar el Agente de operaciones:
- Para las métricas, instala la versión 2.2.0 o una posterior.
Esta integración es compatible con las versiones Java 16 y Java 11 de JVM.
Configura tu instancia de JVM
Para exponer un extremo de JMX, debes configurar la propiedad del sistema com.sun.management.jmxremote.port
cuando inicies la JVM. También te recomendamos configurar la propiedad del sistema com.sun.management.jmxremote.rmi.port
en el mismo puerto.
Para exponer un extremo JMX de forma remota, también debes configurar la propiedad del sistema java.rmi.server.hostname
.
Para configurar las propiedades del sistema mediante argumentos de la línea de comandos, agrega el nombre de la propiedad con -D
cuando inicies la JVM.
Por ejemplo, para configurar com.sun.management.jmxremote.port
en el puerto 9999
, especifica lo siguiente cuando inicies la JVM:
-Dcom.sun.management.jmxremote.port=9999
Configura el agente de operaciones para JVM
Sigue la guía para configurar el Agente de operaciones, agrega los elementos necesarios para recopilar telemetría de instancias de JVM y reinicia el agente.
Configuración de ejemplo
Los siguientes comandos crean la configuración para recopilar y transferir la telemetría de JVM, y reinician el Agente de operaciones.
Configura la recopilación de métricas
Para transferir métricas desde JVM, debes crear un receptor para las métricas que produce JVM y, luego, crear una canalización destinada al receptor nuevo.
Este receptor no admite el uso de varias instancias en la configuración, por ejemplo, para supervisar varios extremos. Todas estas instancias escriben en las mismas series temporales, y Cloud Monitoring no tiene forma de distinguirlas.
Para configurar un receptor para las métricas de jvm
, especifica los siguientes campos:
Campo | Predeterminado | Descripción |
---|---|---|
collection_interval |
60s |
Un valor de duración de tiempo, como 30s o 5m . |
endpoint |
localhost:9999 |
La URL de servicio de JMX, o el host y el puerto que se usan para construir la URL de servicio. Este valor debe tener el formato service:jmx:<protocol>:<sap> o host:port . Los valores en formato host:port se usan para crear una URL de servicio de service:jmx:rmi:///jndi/rmi://<host>:<port>/jmxrmi . |
password |
La contraseña configurada si JMX está configurado para requerir autenticación. | |
type |
Este valor debe ser jvm . |
|
username |
El nombre de usuario configurado si JMX está configurado para requerir autenticación. |
Qué se supervisa
En la siguiente tabla, se proporciona una lista de métricas que el agente de operaciones recopila de la instancia de JVM.
Tipo de métrica | |
---|---|
Categoría, tipo Recursos supervisados |
Etiquetas |
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 |
Verifica la configuración
En esta sección, se describe cómo verificar que hayas configurado correctamente el receptor de JVM. El agente de operaciones puede tardar uno o dos minutos en comenzar a recopilar telemetría.
Para verificar que las métricas de JVM se envíen a Cloud Monitoring, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página leaderboard Explorador de métricas:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- En la barra de herramientas del panel del compilador de consultas, selecciona el botón cuyo nombre sea codeMQL o codeMQL.
- Verifica que MQL esté seleccionado en el botón de activación MQL. El botón de activación de lenguaje se encuentra en la misma barra de herramientas que te permite dar formato a tu consulta.
- Ingresa la siguiente consulta en el editor y, luego, haz clic en Ejecutar consulta:
fetch gce_instance | metric 'workload.googleapis.com/jvm.memory.heap.used' | every 1m
Ver panel
Para ver tus métricas de JVM, debes tener configurado un gráfico o un panel. La integración de JVM incluye uno o más paneles. Cualquier panel se instala de forma automática después de que configuras la integración y de que el agente de operaciones comienza a recopilar datos de métricas.
También puedes ver vistas previas estáticas de los paneles sin instalar la integración.
Para ver un panel instalado, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Paneles.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- Selecciona la pestaña Lista de paneles y, luego, la categoría Integraciones.
- Haz clic en el nombre del panel que quiera ver.
Si configuraste una integración, pero el panel no se instaló, verifica que el agente de operaciones se esté ejecutando. Cuando no hay datos de métricas para un gráfico en el panel, la instalación del panel falla. Una vez que el agente de operaciones comienza a recopilar métricas, el panel se instalará por ti.
Para obtener una vista previa estática del panel, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Integraciones:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- Haz clic en el filtro de la plataforma de implementación Compute Engine.
- Ubica la entrada de JVM y haz clic en Ver detalles.
- Selecciona la pestaña Paneles para ver una vista previa estática. Si el panel está instalado, haz clic en Ver panel para navegar a él.
Para obtener más información de los paneles en Cloud Monitoring, consulta Paneles y gráficos.
Para obtener más información del uso de la página Integraciones, consulta Administra integraciones.
Instala políticas de alertas
Las políticas de alertas le indican a Cloud Monitoring que te notifique cuando ocurren condiciones especificadas. La integración de JVM incluye una o más políticas de alertas para que uses. Puedes ver e instalar estas políticas de alertas desde la página Integraciones en Monitoring.
Para ver las descripciones de las políticas de alertas disponibles y, luego, instalarlas, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Integraciones:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- Ubica la entrada de JVM y haz clic en Ver detalles.
- Selecciona la pestaña Alertas. En esta pestaña, se proporcionan descripciones de las políticas de alertas disponibles y una interfaz para instalarlas.
- Instala las políticas de alertas. Las políticas de alertas deben saber a dónde enviar notificaciones que la alerta se activó, por lo que requieren información de ti para la instalación.
Para instalar las políticas de alertas, haz lo siguiente:
- En la lista de políticas de alertas disponibles, elige las que deseas instalar.
En la sección Configura notificaciones, elige uno o más canales de notificaciones. Tienes la opción de inhabilitar el uso de los canales de notificación, pero si lo haces, las políticas de alertas se activarán de forma silenciosa. Puedes verificar su estado en Monitoring, pero no recibirás notificaciones.
Para obtener más información de los canales de notificaciones, consulta Administra canales de notificaciones.
- Haz clic en Crear políticas.
Para obtener más información de las políticas de alertas en Cloud Monitoring, consulta Introducción a las alertas.
Para obtener más información del uso de la página Integraciones, consulta Administra integraciones.
¿Qué sigue?
Para obtener una explicación sobre cómo usar Ansible para instalar el Agente de operaciones, configurar una aplicación de terceros y, luego, instalar un panel de muestra, consulta el video Instala el Agente de operaciones para solucionar problemas de apps de terceros.