Supported OS Linux Windows Mac OS

Versión de la integración5.1.0

Información general

Con este check se monitoriza IBM Websphere Application Server (WAS) con el Datadog Agent. Este check es compatible con las versiones de IBM WAS >= 8.5.5.

Configuración

Sigue las instrucciones siguientes para instalar y configurar este check para un Agent que se ejecute en un host. Para entornos en contenedores, consulta las Plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de estas instrucciones.

La integración de IBM WAS de Datadog recopila los contadores de PMI habilitados del entorno de WebSphere Application Server. La configuración requiere la habilitación del PerfServlet, que brinda una manera para que Datadog recupere datos de rendimiento de WAS.

En forma predeterminada, este check recopila métricas de JDBC, JVM, grupo de subprocesos y Servlet Session Manager. Opcionalmente, puedes especificar métricas adicionales en la sección “custom_queries”. Consulta el ejemplo de configuración de check para ver ejemplos.

Instalación

El check de IBM WAS está incluido en el paquete del Datadog Agent.

Activar el PerfServlet

El archivo .ear del servlet (PerfServletApp.ear) se encuentra en el directorio <WAS_HOME>/installableApps, donde <WAS_HOME> es la ruta de instalación de WebSphere Application Server.

El servlet de rendimiento se despliega exactamente igual que cualquier otro servlet. Despliega el servlet en una única instancia del servidor de aplicaciones dentro del dominio.

Nota: A partir de la versión 6.1, debes habilitar la seguridad de las aplicaciones para que el PerfServlet funcione.

Modificar el conjunto de estadísticas monitorizadas

De forma predeterminada, el servidor de aplicaciones solo está configurado para una monitorización “básica”. Para obtener visibilidad de tu JVM, conexiones JDBC y conexiones servlet, cambia el conjunto de estadísticas monitorizadas del servidor de aplicaciones de “Basic” (Básico) a “All” (Todos).

Desde la consola de administración de Websphere, puedes encontrar esta configuración en Application servers > <YOUR_APP_SERVER> > Performance Monitoring Infrastructure (PMI).

Una vez realizado este cambio, haz clic en “Apply” (Aplicar) para guardar la configuración y reinicia el servidor de aplicaciones. Las métricas adicionales de JDBC, JVM y servlet deberían aparecer en Datadog poco después de este cambio.

Configuración

host

Para configurar este check para un Agent que se ejecuta en un host:

Recopilación de métricas
  1. Edita el archivo ibm_was.d/conf.yaml, en la carpeta conf.d/ en la raíz de tu directorio de configuración del Agent para recopilar tus datos de rendimiento de IBM WAS. Consulta el ejemplo de ibm_was.d/conf.yaml para conocer todas las opciones de configuración disponibles.

  2. Reinicia el Agent.

Recopilación de logs

Disponible para las versiones 6.0 o posteriores del Agent

  1. La recopilación de logs está desactivada en forma predeterminada en el Datadog Agent, actívala en tu archivo datadog.yaml:

    logs_enabled: true
    
  2. Luego, edita ibm_was.d/conf.yaml y quita los comentarios de las líneas logs de la parte inferior. Actualiza path con la ruta correcta a tus archivos de logs de WAS.

    logs:
      - type: file
        path: /opt/IBM/WebSphere/AppServer/profiles/InfoSphere/logs/server1/*.log
        source: ibm_was
        service: websphere
    
  3. Reinicia el Agent.

En contenedores

Para entornos en contenedores, consulta las Plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de los parámetros que se indican a continuación.

Recopilación de métricas
ParámetroValor
<INTEGRATION_NAME>ibm_was
<INIT_CONFIG>en blanco o {}
<INSTANCE_CONFIG>{"servlet_url": "http://%%host%%:%%port%%/wasPerfTool/servlet/perfservlet"}
Recopilación de logs

Disponible para las versiones 6.0 o posteriores del Agent

La recopilación de logs está desactivada en forma predeterminada en el Datadog Agent . Para activarla, consulta Recopilación de logs de Kubernetes.

ParámetroValor
<LOG_CONFIG>{"source": "ibm_was", "service": "<SERVICE_NAME>"}

Validación

[Ejecuta el subcomando de estado del Agent(https://docs.datadoghq.com/agent/guide/agent-commands/#agent-status-and-information) y busca ibm_was en la sección Checks.

Datos recopilados

Métricas

ibm_was.can_connect
(gauge)
La capacidad de la integración para conectarse al Servlet Perf para recopilar métricas.
ibm_was.jdbc.allocate_count
(gauge)
El número total de connections (conexiones) gestionadas que se asignaron desde la creación del grupo.
Mostrado como connection (conexión)
ibm_was.jdbc.close_count
(gauge)
El número total de connections (conexiones) gestionadas que se han destruido desde la creación del grupo.
Mostrado como connection (conexión)
ibm_was.jdbc.connection_handle_count
(gauge)
El número de connections (conexiones) que están en uso. Puede incluir múltiples conexiones que se comparten desde una única connection (conexión) gestionada.
Mostrado como connection (conexión)
ibm_was.jdbc.create_count
(gauge)
El número total de connections (conexiones) gestionadas que se han creado desde la creación del grupo.
Mostrado como connection (conexión)
ibm_was.jdbc.fault_count
(gauge)
El número total de fallos, como tiempos de espera, en el grupo de connection (conexión).
ibm_was.jdbc.free_pool_size
(gauge)
El número de connections (conexiones) gestionadas que hay en el grupo libre.
Mostrado como connection (conexión)
ibm_was.jdbc.jdbc_time
(gauge)
El tiempo medio en milisegundos empleado en la ejecución en el controlador JDBC que incluye el tiempo empleado en el controlador JDBC, la red y la base de datos.
Mostrado como milisegundo
ibm_was.jdbc.managed_connection_count
(gauge)
El número total de connections (conexiones) gestionadas en los grupos libres, compartidos y no compartidos.
Mostrado como connection (conexión)
ibm_was.jdbc.percent_maxed
(gauge)
El porcentaje del tiempo en que todas las connections (conexiones) están en uso.
ibm_was.jdbc.percent_used
(gauge)
El porcentaje del grupo que está en uso.
ibm_was.jdbc.pool_size
(gauge)
El tamaño del grupo de connection (conexión).
ibm_was.jdbc.prep_stmt_cache_discard_count
(gauge)
El número total de sentencias descartadas por el algoritmo de uso menos reciente (LRU) de la caché de sentencias.
ibm_was.jdbc.return_count
(gauge)
El número total de connections (conexiones) gestionadas que se han devuelto desde la creación del grupo.
Mostrado como connection (conexión)
ibm_was.jdbc.use_time
(gauge)
El tiempo medio en milisegundos que una connection (conexión) está en uso.
Mostrado como milisegundo
ibm_was.jdbc.wait_time
(gauge)
El tiempo medio de espera en milisegundos hasta que se concede una connection (conexión) si una connection (conexión) no está disponible en ese momento.
Mostrado como milisegundo
ibm_was.jdbc.waiting_thread_count
(gauge)
El número de subprocesos que están esperando actualmente una connection (conexión).
Mostrado como subproceso
ibm_was.jvm.free_memory
(gauge)
En desuso, utiliza ibm_was.jvm.free_memory_gauge en su lugar
Mostrado kibibyte
ibm_was.jvm.free_memory_gauge
(gauge)
La memoria libre en el tiempo de ejecución de la JVM
Mostrado como kibibyte.
ibm_was.jvm.heap_size
(gauge)
En desuso, utiliza ibm_was.jvm.heap_size_gauge en su lugar
Mostrado como kibibyte
ibm_was.jvm.heap_size_gauge
(gauge)
La memoria total en el tiempo de ejecución de la JVM
Mostrado como kibibyte.
ibm_was.jvm.process_cpu_usage
(gauge)
En desuso, utiliza ibm_was.jvm.process_cpu_usage_gauge en su lugar
Mostrado como porcentaje
ibm_was.jvm.process_cpu_usage_gauge
(gauge)
El uso de la CPU (en porcentaje) de la máquina virtual Java.
Mostrado como porcentaje.
ibm_was.jvm.up_time
(gauge)
En desuso, utiliza ibm_was.jvm.up_time_gauge en su lugar
Mostrado como segundo
ibm_was.jvm.up_time_gauge
(gauge)
La cantidad de tiempo que la JVM se está ejecutando
Mostrado como segundo
ibm_was.jvm.used_memory
(gauge)
En desuso, utiliza ibm_was.jvm.used_memory_gauge en su lugar
Mostrado como kibibyte
ibm_was.jvm.used_memory_gauge
(gauge)
La memoria utilizada en el tiempo de ejecución de la JVM
Mostrado como kibibyte.
ibm_was.servlet_session.activate_non_exist_session_count
(gauge)
El número de solicitudes para una sesión que ya no existe, presumiblemente porque la sesión expiró. Utiliza este contador para ayudar a determinar si el tiempo de espera es demasiado corto.
Mostrado como solicitud
ibm_was.servlet_session.active_count
(gauge)
El número de sesiones activas simultáneamente. Una sesión está activa si WebSphere Application Server está procesando actualmente una solicitud que utiliza esa sesión.
Mostrado como sesión.
ibm_was.servlet_session.affinity_break_count
(gauge)
El número de solicitudes que se reciben para sesiones a las que se accedió por última vez desde otra aplicación web. Este valor puede indicar un procesamiento de conmutación por error o una configuración de complemento dañada.
Mostrado como solicitud.
ibm_was.servlet_session.cache_discard_count
(gauge)
El número de objetos de sesión que se han visto forzados a salir de la caché. Un algoritmo de uso menos reciente (LRU) elimina las entradas antiguas para dejar espacio a las nuevas sesiones y a las pérdidas de caché. Aplicable solo a sesiones persistentes.
Mostrado como sesión
ibm_was.servlet_session.create_count
(gauge)
El número de sesiones que se han creado
Mostrado como sesión
ibm_was.servlet_session.external_read_size
(gauge)
Tamaño de los datos de sesión leídos desde el almacén persistente. Aplicable solo a sesiones persistentes (serializadas); similar al tiempo de lectura externo.
ibm_was.servlet_session.external_read_time
(gauge)
El tiempo (ms) que se tarda en leer los datos de la sesión desde el almacén persistente. Para sesiones de varias filas, las métricas son para el atributo; para sesiones de una sola fila, las métricas son para toda la sesión. Aplicable solo a sesiones persistentes. Cuando se utiliza un almacén persistente de JMS, solo está disponible si los datos replicados están serializados.
Mostrado como milisegundo
ibm_was.servlet_session.external_write_size
(gauge)
El tamaño de los datos de sesión escritos en el almacén persistente. Aplicable solo a sesiones persistentes (serializadas). Similar al tiempo de lectura externo.
Mostrado como solicitud
ibm_was.servlet_session.external_write_time
(gauge)
El tiempo (milisegundos) que se tarda en escribir los datos de la sesión desde el almacén persistente. Aplicable solo para sesiones persistentes (serializadas). Similar al tiempo de lectura externo.
Mostrado como milisegundo
ibm_was.servlet_session.invalidate_count
(gauge)
El número de sesiones invalidadas
Mostrado como sesión
ibm_was.servlet_session.life_time
(gauge)
El tiempo medio de duración de la sesión en milisegundos (tiempo invalidado - tiempo creado)
Mostrado como milisegundo
ibm_was.servlet_session.live_count
(gauge)
El número de sesiones locales que se almacenan actualmente en la memoria caché desde el momento en que se activa esta métrica.
Mostrado como sesión
ibm_was.servlet_session.no_room_for_new_session_count
(gauge)
Solo se aplica a sesiones en memoria con AllowOverflow=false. El número de veces que no se puede gestionar una solicitud de nueva sesión porque supera el count máximo de sesiones.
ibm_was.servlet_session.session_object_size
(gauge)
El tamaño en bytes de (los atributos serializables de) sesiones en memoria. Solo se cuentan los objetos de sesión que contienen al menos un objeto de atributo serializable. Una sesión puede contener algunos atributos serializables y otros no. El tamaño en bytes es a nivel de sesión.
ibm_was.servlet_session.time_since_last_activated
(gauge)
La diferencia de tiempo en milisegundos entre las marcas de tiempo de acceso anterior y actual. No incluye el tiempo de espera de la sesión.
Mostrado como milisegundo
ibm_was.servlet_session.timeout_invalidation_count
(gauge)
El número de sesiones invalidadas por tiempo de espera.
Mostrado como sesión
ibm_was.thread_pools.active_count
(gauge)
El número de subprocesos activos simultáneamente
Mostrado como subproceso
ibm_was.thread_pools.active_time
(gauge)
El tiempo medio en milisegundos que los subprocesos están en estado activo
Mostrado como milisegundo
ibm_was.thread_pools.cleared_thread_hang_count
(gauge)
El número de subprocesos colgados eliminados
Mostrado como subproceso
ibm_was.thread_pools.concurrent_hung_thread_count
(gauge)
El número de subprocesos colgados simultáneamente
Mostrado como subproceso
ibm_was.thread_pools.create_count
(gauge)
El número total de subprocesos creados
Mostrado como subproceso
ibm_was.thread_pools.declaredthread_hung_count
(gauge)
El número de hilos declarados colgados
Mostrado como subproceso
ibm_was.thread_pools.destroy_count
(gauge)
El número total de subprocesos destruidos
Mostrado como subproceso
ibm_was.thread_pools.percent_maxed
(gauge)
El porcentaje medio de tiempo que todos los subprocesos están en uso
Mostrado como porcentaje
ibm_was.thread_pools.percent_used
(gauge)
El porcentaje medio del grupo que está en uso. El valor se basa en el número total de subprocesos configurados en ThreadPool y no en el tamaño actual del grupo.
Mostrado como porcentaje.
ibm_was.thread_pools.pool_size
(gauge)
El número medio de suprocesos en el grupo
Mostrado como subproceso

Eventos

IBM WAS no incluye eventos.

Checks de servicio

ibm_was.can_connect

Devuelve CRITICAL si el Agent no puede conectarse al PerfServlet por algún motivo. Devuelve OK en caso contrario.

Estados: ok, crítico

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con asistencia técnica Datadog.