Nuestra integración JMX permite al usuario monitor cualquier aplicación que exponga métrica con JMX. La integración incluye un archivo de recopilación predeterminado que recopila automáticamente claves métricas de la JVM.
Compatibilidad y requisitos
Antes de instalar la integración, asegúrese de cumplir con los siguientes requisitos:
- Una cuenta New Relic . ¿No tienes uno? ¡Registrate gratis! No se requiere tarjeta de crédito.
- Java versión 8 o superior.
- Si necesita utilizar una versión de Java diferente a la configurada en
PATH
, siga la documentación de configuración de New Relic en GitHub. - Esta integración no es compatible con el protocolo IIOP.
Inicio rápido
Si no está ejecutando JMX en entornos Kubernetes o ECS, le recomendamos nuestra instalación guiada. Nuestra instalación guiada utiliza nuestro agente de infraestructura y nuestra CLI para configurar la integración JMX, descubre otras aplicaciones y fuentes log que se ejecutan en su entorno y luego recomienda cuáles debería utilizar.
La instalación guiada funciona con la mayoría de las configuraciones. Pero si no se adapta a sus necesidades, existen otras opciones de instalación a continuación.
¿Listo para comenzar? Haga clic en el botón correspondiente, según la región del centro de datos que utilice. Cuando haya terminado con la instalación, regrese a esta documentación para revisar las opciones de configuración.
Instalar
Si no está utilizando la instalación guiada, siga las instrucciones para su entorno:
' '
Actualiza tu integración
Esta integración no se actualiza automáticamente. Para obtener mejores resultados, actualice periódicamente el paquete de integración y el agente de infraestructura.
Tareas posteriores a la instalación
Cuando haya terminado con la instalación, puede establecer las opciones de configuración. Se requieren algunas configuraciones para que la integración funcione, mientras que otras son opcionales.
Configurar la integración
La configuración de formato YAML de una integración es donde puede colocar las credenciales de inicio de sesión requeridas y configurar cómo se recopilan los datos. Las opciones que cambie dependen de su configuración y preferencia.
Hay varias formas de configurar la integración, dependiendo de cómo se instaló:
- Si está habilitado a través de Kubernetes: consulte Supervisar servicios que se ejecutan en Kubernetes.
- Si está habilitado a través de Amazon ECS: consulte Servicios de monitorización que se ejecutan en ECS.
- Si está instalado en el host: edite la configuración en el archivo de configuración YAML de la integración,
jmx-config.yml
.
Archivos de configuración de integración
El archivo de configuración tiene configuraciones comunes aplicables a todas las integraciones, como interval
, timeout
o inventory_source
. Para leer todo sobre estas configuraciones comunes, consulte nuestro documento de formato de configuración .
Las configuraciones específicas relacionadas con JMX se definen usando la sección env
del archivo de configuración. Estas configuraciones controlan la conexión a su instancia JMX, así como otras configuraciones y características de seguridad. La lista de configuraciones válidas se describe en la siguiente sección de este documento.
Las opciones de configuración se encuentran a continuación. Para ver una configuración de ejemplo, consulte el archivo de configuración de ejemplo.
limas de colección métricas
Los archivos de definición de colección de métricas son archivos YAML estructurados que le indican a la integración qué métrica recopilar. Para ver un ejemplo de configuración, consulte el ejemplo del archivo de colección métrica.
Archivo de colección métrica JVM predeterminado: /etc/newrelic-infra/integrations.d/jvm-metrics.yml
Sugerencia
Puede escribir diferentes archivos de colección para facilitar la organización y el mantenimiento. Consulte el archivo de configuración para ver un ejemplo.
Configuración de colección usando anotaciones de Kubernetes
Puede utilizar anotaciones de Kubernetes para proporcionar la configuración de la colección. Para lograr esto, debe implementar un configMap
en el clúster de Kubernetes que creará el archivo de configuración para la aplicación nri-jmx
.
En este archivo de configuración, debe especificar el comando para el descubrimiento automático de contenedores, que le permitirá usar el marcador de posición en la configuración de integración, incluidas las anotaciones de Kubernetes.
Ejemplo de un configMap
para monitor JVM en una aplicación Tomcat:
A continuación, utilice anotaciones para definir la configuración de la colección. Por ejemplo, aquí hay un despliegue de Tomcat con anotaciones:
apiVersion: apps/v1kind: Deploymentmetadata: name: tomcat-deployment labels: app: javaspec: replicas: 1 selector: matchLabels: app: java template: metadata: annotations: newrelic.config: >- { "collect": [ { "domain": "java.lang", "event_type": "JVMSample", "beans": [ { "query": "type=GarbageCollector,name=*", "attributes": [ "CollectionCount", "CollectionTime" ] }, { "query": "type=Memory", "attributes": [ "HeapMemoryUsage.Committed", "HeapMemoryUsage.Init", "HeapMemoryUsage.Max", "HeapMemoryUsage.Used", "NonHeapMemoryUsage.Committed", "NonHeapMemoryUsage.Init", "NonHeapMemoryUsage.Max", "NonHeapMemoryUsage.Used" ] }, { "query": "type=Threading", "attributes": [ "ThreadCount", "TotalStartedThreadCount" ] }, { "query": "type=ClassLoading", "attributes": [ "LoadedClassCount" ] }, { "query": "type=Compilation", "attributes": [ "TotalCompilationTime" ] } ] } ] } labels: app: java spec: containers: - name: tomcat image: tomcat:10.0.12 ports: - containerPort: 9999 env: - name: CATALINA_OPTS value: '-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false'
Conectores personalizados
JMX permite el uso de conectores personalizados para comunicarse con la aplicación. Para utilizar un conector personalizado, debe incluir los conectores personalizados en la ruta de clase nrjmx.
De forma predeterminada, la subcarpeta connectors
está en la ruta de clase. Si esta carpeta no existe, créela en la carpeta donde está instalado nrjmx.
Por ejemplo, para agregar soporte para JBoss, cree una carpeta llamada connectors
en la ruta de la biblioteca predeterminada (Linux) /usr/lib/nrjmx/
(/usr/lib/nrjmx/connectors/
) y copie el archivo jar del conector personalizado ($JBOSS_HOME/bin/client/jboss-cli-client.jar
) en ella. Ahora puede ejecutar consulta JMX contra JBoss.
Configuración de ejemplo
Configuración de archivo de ejemplo para una instalación en el host:
Para obtener más información sobre la estructura general de la configuración de integración en el host, consulte Configuración.
Nombrando tus datos
Métrica se envían y almacenan en forma de muestras. Esta es una lista de pares de valores principales que incluyen datos métricos y metadatos. Cada muestra se almacena como un evento en nuestra base de datos.
Usted es responsable de crear y nombrar los datos JMX reportados a New Relic. Por esta razón, New Relic recomienda encarecidamente seguir estas convenciones al nombrar sus tipos de eventos. Para asegurarse de tener un esquema de nomenclatura coherente:
- Utilice estuche camello.
- Utilice un nombre que identifique claramente qué datos contiene.
Ejemplo: MyorgApplicationSample
Recommendation: Utilice el mismo esquema de nomenclatura para métricas similares en diferentes aplicaciones.
Buscar y utilizar datos
Los datos de este servicio se informan a un dashboard de integración.
Los datos JMX se adjuntan al tipo de evento definido por el usuario especificado en el archivo de configuración. Por ejemplo, si está interesado en monitorear Tomcat usando la integración JMX, defina un event_type
llamado TomcatSample
y consulte ese tipo de evento.
Puede consultar estos datos para fines de resolución de problemas o para crear gráficos y paneles personalizados.
Para obtener más información sobre cómo encontrar y utilizar sus datos, consulte Comprender los datos de integración.
Datos métricos
Las métricas generadas por la integración incluyen metadatos asociados con el MBean del que están recopilando. Puede utilizar estos metadatos en consultas NRQL para filtrar y facetar los datos de modo que la consulta devuelva solo los datos de los beans deseados. También se puede utilizar para identificar de forma única las métricas, ya que el nombre de la métrica no es necesariamente único entre todos los beans.
Cada evento contiene los siguientes metadatos:
Nombre | Descripción |
---|---|
| El nombre de dominio JMX para estas métricas. |
| El nombre de dominio JMX para estas métricas con el tipo de entidad “dominio:” antepuesto. |
| El host JMX del que se están recopilando las métricas. |
| La consulta sirve para recoger estas métricas. |
| El frijol de cuyo atributo se recolectaron estas métricas. |
| Para cada clave en el nombre del bean, se agrega un atributo al conjunto métrico llamado |
Ejemplo de consulta NRQL
Aquí hay un ejemplo de consulta NRQL que aprovecha el monitor de metadatos de todo el recolector de basura JVM recolectado:
SELECT latest(CollectionTime)FROM JVMSampleFACET `key:name`WHERE `key:type` = 'GarbageCollector'
Atributo de datos métricos
La integración JMX recopila los siguientes datos métricos del atributo:
Nombre | Descripción |
---|---|
| La memoria dinámica total de Java utilizada. |
| La memoria dinámica total de Java comprometida para ser utilizada. |
| La memoria del montón de Java inicial asignada. |
| La memoria dinámica máxima de Java disponible. |
| La memoria total no dinámica de Java utilizada. |
| La memoria total no dinámica de Java comprometida para ser utilizada. |
| La memoria inicial no dinámica de Java asignada. |
| La memoria máxima no dinámica de Java disponible. |
| El número de hilos activos. |
| El número total de recolecciones de basura que se han producido. |
| Transcurrido el tiempo aproximado de recolección de basura acumulada. |
Datos de inventario
La integración JMX captura el parámetro de configuración de la integración JMX. Los datos están disponibles en la página Inventario, en la fuente config/jmx . Para obtener más información sobre los datos de inventario, consulte Comprender los datos de integración.
Resolución de problemas
Consejos para la resolución de problemas:
' '
' '
Comprueba el código fuente
Esta integración es software de código abierto. Eso significa que puedes explorar su código fuente y enviar mejoras, o crear tu propia bifurcación y compilarla.