WildFly

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

La integración de WildFly recopila registros de WildFly y los analiza en una carga útil de JSON. El resultado incluye la fuente, el código del mensaje, el nivel y el mensaje.

Para obtener más información sobre WildFly, consulta la documentación de WildFly.

Requisitos previos

Para recopilar la telemetría de WildFly, debes instalar el agente de operaciones:

  • Para las métricas, instala la versión 2.12.0 o una posterior.
  • Para los registros, instala la versión 2.11.0 o una posterior.

Esta integración es compatible con las versiones 26.x y 25.x de WildFly.

Configura tu instancia de WildFly

Para exponer el extremo JMX de forma remota, debes establecer la propiedad del sistema jboss.bind.address.management. De forma predeterminada, esta propiedad se establece en la configuración de WildFly. La instalación predeterminada de WildFly no requiere autenticación JMX con JMX expuesto de forma local en 127.0.0.1:9990.

Para recopilar las métricas de la sesión, debes habilitar las estadísticas en el subsistema del bajo ejecución mediante la ejecución del siguiente comando mediante la CLI de JBoss:

/subsystem=undertow:write-attribute(name=statistics-enabled,value=true)

Configura el Agente de operaciones para WildFly

Mediante la guía Configura el Agente de operaciones, agrega los elementos necesarios para recopilar telemetría de las instancias de WildFly y reinicia el agente.

Configuración de ejemplo

El siguiente comando crea la configuración para recopilar y transferir la telemetría de transferencia para WildFly y reinicia el Agente de operaciones.

# Configures Ops Agent to collect telemetry from the app and restart Ops Agent.

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:
    wildfly:
      type: wildfly
      endpoint: localhost:9990
  service:
    pipelines:
      wildfly:
        receivers:
          - wildfly

logging:
  receivers:
    wildfly_system:
      type: wildfly_system
  service:
    pipelines:
      wildfly_system:
        receivers:
          - wildfly_system
EOF

sudo service google-cloud-ops-agent restart

Configura la recopilación de registros

A fin de transferir registros desde MongoDB, debes crear receptores para los registros que MongoDB produce y, luego, crear una canalización para los receptores nuevos.

A fin de configurar un receptor para tus registros wildfly_system, especifica los siguientes campos:

Campo Predeterminada Descripción
exclude_paths Una lista de patrones de ruta de acceso del sistema de archivos que se excluirán del conjunto que coincida con include_paths.
include_paths [/opt/wildfly/standalone/log/server.log, /opt/wildfly/domain/servers/*/log/server.log] Una lista de rutas de acceso del sistema de archivos que se leerán mediante la visualización del final de cada archivo. Se puede usar un comodín (*) en las rutas. por ejemplo, /var/log/wildfly/.log.
record_log_file_path false Si se configura como true, la ruta al archivo específico desde el que se obtuvo el registro aparece en la entrada de registro de salida como el valor de la etiqueta agent.googleapis.com/log_file_path. Cuando se usa un comodín, solo se registra la ruta de acceso del archivo del que se obtuvo el registro.
type El valor debe ser wildfly_system.
wildcard_refresh_interval 60s El intervalo en el que se actualizan las rutas de acceso de archivos comodín en include_paths. Se proporciona como una duración de tiempo que se puede analizar mediante time.ParseDuration, por ejemplo, 30s o 2m. Esta propiedad puede ser útil en el caso de una capacidad de procesamiento de registro alta en la que los archivos de registro se rotan más rápido que el intervalo predeterminado. Debe ser un múltiplo de 1 s.

¿Qué se registra?

logName se deriva de los ID de receptor especificados en la configuración. Los campos detallados dentro de LogEntry son los siguientes.

Los registros wildfly_system contienen los siguientes campos en LogEntry:

Campo Tipo Descripción
jsonPayload.level string Nivel de entrada de registro
jsonPayload.message string Mensaje del registro
jsonPayload.messageCode string Código de mensaje específico de WildfFly que precede al registro, cuando corresponde
jsonPayload.source string Fuente donde se originó el registro
jsonPayload.thread string Subproceso donde se originó el registro
severity string (LogSeverity) Nivel de entrada de registro (traducido).

Configura la recopilación de métricas

A fin de transferir métricas desde WildFly, debes crear receptores para las métricas que produce WildFly y, luego, una canalización para los receptores nuevos.

A fin de configurar un receptor para las métricas de wildfly, especifica los siguientes campos:

Campo Predeterminada Descripción
additional_jars /opt/wildfly/bin/client/jboss-client.jar La ruta al archivo jboss-client.jar, que se requiere para supervisar WildFly a través de JMX.
collection_interval 60s Un valor de duración de tiempo, como 30s o 5m.
endpoint service:jmx:remote+http://localhost:9990 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 host:port, que se usa para crear una URL de servicio de service:jmx:remote+http://<host>:<port>/jmxrmi.
password La contraseña configurada si JMX está configurado para requerir autenticación.
type Este valor debe ser wildfly.
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 WildFly.

Tipo de métrica 
Categoría, tipo
Recursos supervisados
Etiquetas
workload.googleapis.com/wildfly.jdbc.connection.open
GAUGEINT64
gce_instance
data_source
state
workload.googleapis.com/wildfly.jdbc.request.wait
CUMULATIVEINT64
gce_instance
data_source
workload.googleapis.com/wildfly.jdbc.rollback.count
CUMULATIVEINT64
gce_instance
cause
workload.googleapis.com/wildfly.jdbc.transaction.count
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/wildfly.network.io
CUMULATIVEINT64
gce_instance
listener
server
state
workload.googleapis.com/wildfly.request.count
CUMULATIVEINT64
gce_instance
listener
server
workload.googleapis.com/wildfly.request.server_error
CUMULATIVEINT64
gce_instance
listener
server
workload.googleapis.com/wildfly.request.time
CUMULATIVEINT64
gce_instance
listener
server
workload.googleapis.com/wildfly.session.active
GAUGEINT64
gce_instance
deployment
workload.googleapis.com/wildfly.session.count
CUMULATIVEINT64
gce_instance
deployment
workload.googleapis.com/wildfly.session.expired
CUMULATIVEINT64
gce_instance
deployment
workload.googleapis.com/wildfly.session.rejected
CUMULATIVEINT64
gce_instance
deployment

Panel de muestra

Para ver tus métricas de WildFly, debes tener configurado un gráfico o un panel. Cloud Monitoring proporciona una biblioteca de paneles de muestra para integraciones, que contienen gráficos preconfigurados. Para obtener información sobre la instalación de estos paneles, consulta Instala paneles de muestra.

Verifica la configuración

En esta sección, se describe cómo verificar que hayas configurado correctamente el receptor de WildFly. El agente de operaciones puede tardar uno o dos minutos en comenzar a recopilar telemetría.

Para verificar que se transfieran los registros, ve a Explorador de registros y ejecuta la siguiente consulta a fin de ver los registros de WildFly:

resource.type="gce_instance"
log_id("wildfly_system")

Para verificar que las métricas se transfieran, ve a Explorador de métricas y ejecuta la siguiente consulta en la pestaña MQL:

fetch gce_instance
| metric 'workload.googleapis.com/wildfly.network.io'
| every 1m

¿Qué sigue?

Para obtener una explicación sobre cómo usar Ansible a fin de 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.