WildFly

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 wildfly.org/.

Requisitos previos

Para recopilar y transferir registros de WildFly, debes instalar el Agente de operaciones versión 2.12.0 o posterior.

Este receptor es compatible con las versiones 25.x y 26.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 métricas de las instancias de WildFly y reinicia el agente.

Configuración de ejemplo

El siguiente comando crea el archivo de configuración para recopilar y transferir registros de WildFly, y reinicia el Agente de operaciones en Linux.

sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
logging:
  receivers:
    wildfly_system:
      type: wildfly_system
  service:
    pipelines:
      wildfly_system:
        receivers:
          - wildfly_system
metrics:
  receivers:
    wildfly:
      type: wildfly
  service:
    pipelines:
      wildfly:
        receivers:
          - wildfly
EOF
sudo service google-cloud-ops-agent restart

Configura la recopilación de registros

A fin de transferir registros desde WildFly, debes crear receptores para los registros que WildFly produce y, luego, crear una canalización para los receptores nuevos. A fin de configurar un receptor para los registros de wildfly_system, especifica los siguientes campos:

Campo Predeterminada Descripción
type El valor debe ser wildfly_system.
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.
exclude_paths Una lista de patrones de ruta de acceso del sistema de archivos que se excluirán del conjunto que coincide con include_paths.
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, 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?

Los logName de los registros wildfly_system derivan de los ID de receptor especificados en la configuración. Los campos detallados dentro de LogEntry son los siguientes.

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

Las entradas de registro no contienen ningún campo en blanco o faltante.

Configura la recopilación de métricas

A fin de recopilar métricas de nginx, debes crear un receptor para las métricas de WildFly y, luego, crear una canalización destinada al receptor nuevo. A fin de configurar un receptor para las métricas de MongoDB, especifica los siguientes campos:

Campo Predeterminada Descripción
type Este valor debe ser wildfly.
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.
username El nombre de usuario configurado si JMX está configurado para requerir autenticación.
password La contraseña configurada si JMX está configurado para requerir autenticación.
collection_interval 60s Un valor time.Duration, como 30s o 5m.
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.

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
state
data_source
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
state
listener
server
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
CUMULATIVEDOUBLE
gce_instance
listener
server

Panel de muestra

Puedes ver las métricas de esta integración mediante un panel de Cloud Monitoring de muestra. Completa los procedimientos que se indican en Instala paneles de muestra para importar el panel Descripción general de WildFly CGE de la Biblioteca de muestra y ver los gráficos que muestran tus métricas de WildFly.

Verifica la configuración

Puedes usar el explorador de registros y el explorador de métricas para verificar que configuraste de forma correcta el receptor de WildFly. El agente de operaciones puede tardar uno o dos minutos en comenzar a recopilar los registros y las métricas.

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"
logName=("projects/PROJECT_ID/logs/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.request.count'
| align rate(1m)
| 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.