IBM WAS

Supported OS Linux Windows Mac OS

Integration version3.3.2

Información general

Este check monitoriza IBM Websphere Application Server (WAS) a través del Datadog Agent. Este check es compatible con las versiones de IBM WAS a partir de la 8.5.5.

Configuración

Sigue las instrucciones de abajo para instalar y configurar este check para un Agent que se ejecuta en un host. En el caso de 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.

De forma predeterminada, este check recopila métricas de JDBC, JVM, thread pool y Servlet Session Manager. De manera opcional, puedes especificar métricas adicionales para su recopilación en la sección “custom_queries”. Consulta la configuración del check de ejemplo para ver ejemplos.

Instalación

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

Habilitar 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, haz lo siguiente:

Recopilación de métricas
  1. Edita el archivo ibm_was.d/conf.yaml, que se encuentra en la carpeta conf.d/ en la raíz del directorio de configuración del Agent, para empezar a recopilar los datos de rendimiento de IBM WAS. Consulta el archivo de ejemplo 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 del Agent a partir de la 6.0

  1. La recopilación de logs se encuentra deshabilitada de manera predeterminada en el Datadog Agent; habilítala en el 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.

Contenedores

En el caso de los 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 abajo.

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 del Agent a partir de la 6.0

La recopilación de logs se encuentra deshabilitada de manera predeterminada en el Datadog Agent. Para habilitarla, 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 y busca ibm_was en la sección Checks.

Datos recopilados

Métricas

ibm_was.can_connect
(gauge)
The ability of the integration to connect to the Perf Servlet to collect metrics
ibm_was.jdbc.allocate_count
(gauge)
The total number of managed connections that were allocated since pool creation.
Shown as connection
ibm_was.jdbc.close_count
(gauge)
The total number of managed connections that were destroyed since pool creation.
Shown as connection
ibm_was.jdbc.connection_handle_count
(gauge)
The number of connections that are in use. Can include multiple connections that are shared from a single managed connection.
Shown as connection
ibm_was.jdbc.create_count
(gauge)
The total number of managed connections that were created since pool creation.
Shown as connection
ibm_was.jdbc.fault_count
(gauge)
The total number of faults, such as timeouts, in the connection pool.
ibm_was.jdbc.free_pool_size
(gauge)
The number of managed connections that are in the free pool.
Shown as connection
ibm_was.jdbc.jdbc_time
(gauge)
The average time in milliseconds spent running in the JDBC driver that includes time that is spent in the JDBC driver, network, and database.
Shown as millisecond
ibm_was.jdbc.managed_connection_count
(gauge)
The total number of managed connections in the free, shared, and unshared pools.
Shown as connection
ibm_was.jdbc.percent_maxed
(gauge)
The percent of the time that all connections are in use.
ibm_was.jdbc.percent_used
(gauge)
The percent of the pool that is in use.
ibm_was.jdbc.pool_size
(gauge)
The size of the connection pool.
ibm_was.jdbc.prep_stmt_cache_discard_count
(gauge)
The total number of statements that are discarded by the least recently used (LRU) algorithm of the statement cache.
ibm_was.jdbc.return_count
(gauge)
The total number of managed connections that were returned since pool creation.
Shown as connection
ibm_was.jdbc.use_time
(gauge)
The average time in milliseconds that a connection is in use.
Shown as millisecond
ibm_was.jdbc.wait_time
(gauge)
The average waiting time in milliseconds until a connection is granted if a connection is not currently available.
Shown as millisecond
ibm_was.jdbc.waiting_thread_count
(gauge)
The number of threads that are currently waiting for a connection.
Shown as thread
ibm_was.jvm.free_memory
(gauge)
Deprecated, use ibmwas.jvm.freememory_gauge instead
Shown as kibibyte
ibm_was.jvm.free_memory_gauge
(gauge)
The free memory in the JVM run time
Shown as kibibyte
ibm_was.jvm.heap_size
(gauge)
Deprecated, use ibmwas.jvm.heapsize_gauge instead
Shown as kibibyte
ibm_was.jvm.heap_size_gauge
(gauge)
The total memory in the JVM run time
Shown as kibibyte
ibm_was.jvm.process_cpu_usage
(gauge)
Deprecated, use ibmwas.jvm.processcpuusagegauge instead
Shown as percent
ibm_was.jvm.process_cpu_usage_gauge
(gauge)
The CPU Usage (in percent) of the Java virtual machine.
Shown as percent
ibm_was.jvm.up_time
(gauge)
Deprecated, use ibmwas.jvm.uptime_gauge instead
Shown as second
ibm_was.jvm.up_time_gauge
(gauge)
The amount of time that the JVM is running
Shown as second
ibm_was.jvm.used_memory
(gauge)
Deprecated, use ibmwas.jvm.usedmemory_gauge instead
Shown as kibibyte
ibm_was.jvm.used_memory_gauge
(gauge)
The used memory in the JVM run time
Shown as kibibyte
ibm_was.servlet_session.activate_non_exist_session_count
(gauge)
The number of requests for a session that no longer exists, presumably because the session timed out. Use this counter to help determine if the timeout is too short.
Shown as request
ibm_was.servlet_session.active_count
(gauge)
The number of concurrently active sessions. A session is active if the WebSphere Application Server is currently processing a request that uses that session.
Shown as session
ibm_was.servlet_session.affinity_break_count
(gauge)
The number of requests that are received for sessions that were last accessed from another web application. This value can indicate failover processing or a corrupt plug-in configuration.
Shown as request
ibm_was.servlet_session.cache_discard_count
(gauge)
The number of session objects that have been forced out of the cache. A least recently used (LRU) algorithm removes old entries to make room for new sessions and cache misses. Applicable only for persistent sessions.
Shown as session
ibm_was.servlet_session.create_count
(gauge)
The number of sessions that were created
Shown as session
ibm_was.servlet_session.external_read_size
(gauge)
Size of the session data read from persistent store. Applicable only for (serialized) persistent sessions; similar to external Read Time.
ibm_was.servlet_session.external_read_time
(gauge)
The time (ms) taken in reading the session data from the persistent store. For multirow sessions, the metrics are for the attribute; for single row sessions, the metrics are for the entire session. Applicable only for persistent sessions. When using a JMS persistent store, only available if replicated data is serialized.
Shown as millisecond
ibm_was.servlet_session.external_write_size
(gauge)
The size of the session data written to persistent store. Applicable only for (serialized) persistent sessions. Similar to external Read Time.
Shown as request
ibm_was.servlet_session.external_write_time
(gauge)
The time (milliseconds) taken to write the session data from the persistent store. Applicable only for (serialized) persistent sessions. Similar to external Read Time.
Shown as millisecond
ibm_was.servlet_session.invalidate_count
(gauge)
The number of sessions that were invalidated
Shown as session
ibm_was.servlet_session.life_time
(gauge)
The average session life time in milliseconds (time invalidated - time created)
Shown as millisecond
ibm_was.servlet_session.live_count
(gauge)
The number of local sessions that are currently cached in memory from the time at which this metric is enabled.
Shown as session
ibm_was.servlet_session.no_room_for_new_session_count
(gauge)
Applies only to session in memory with AllowOverflow=false. The number of times that a request for a new session cannot be handled because it exceeds the maximum session count.
ibm_was.servlet_session.session_object_size
(gauge)
The size in bytes of (the serializable attributes of ) in-memory sessions. Only session objects that contain at least one serializable attribute object is counted. A session can contain some attributes that are serializable and some that are not. The size in bytes is at a session level.
ibm_was.servlet_session.time_since_last_activated
(gauge)
The time difference in milliseconds between previous and current access time stamps. Does not include session time out.
Shown as millisecond
ibm_was.servlet_session.timeout_invalidation_count
(gauge)
The number of sessions that are invalidated by timeout.
Shown as session
ibm_was.thread_pools.active_count
(gauge)
The number of concurrently active threads
Shown as thread
ibm_was.thread_pools.active_time
(gauge)
The average time in milliseconds the threads are in active state
Shown as millisecond
ibm_was.thread_pools.cleared_thread_hang_count
(gauge)
The number of thread hangs cleared
Shown as thread
ibm_was.thread_pools.concurrent_hung_thread_count
(gauge)
The number of concurrently hung threads
Shown as thread
ibm_was.thread_pools.create_count
(gauge)
The total number of threads created
Shown as thread
ibm_was.thread_pools.declaredthread_hung_count
(gauge)
The number of threads declared hung
Shown as thread
ibm_was.thread_pools.destroy_count
(gauge)
The total number of threads destroyed
Shown as thread
ibm_was.thread_pools.percent_maxed
(gauge)
The average percent of the time that all threads are in use
Shown as percent
ibm_was.thread_pools.percent_used
(gauge)
The average percent of the pool that is in use. The value is based on the total number of configured threads in the ThreadPool and not the current pool size.
Shown as percent
ibm_was.thread_pools.pool_size
(gauge)
The average number of threads in pool
Shown as thread

Eventos

IBM WAS no incluye eventos.

Checks de servicio

ibm_was.can_connect
Returns CRITICAL if the Agent cannot connect to the PerfServlet for any reason. Returns OK otherwise.
Statuses: ok, critical

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.