Supported OS

Versión de la integración3.0.0

Información general

Oracle WebLogic es una plataforma para el desarrollo, la ejecución y el despliegue de aplicaciones empresariales Java, tanto on-premises como en la nube. Centraliza servicios de aplicaciones que incluyen funcionalidad del servidor web, componentes empresariales como mensajería y acceso a sistemas empresariales backend como bases de datos.

La monitorización de Oracle WebLogic con Datadog te permite:

  • Conocer el aumento del tamaño de heap en tu máquina virtual Java (JVM)
  • Realizar un seguimiento del tiempo de respuesta del servidor
  • Monitorizar los detalles de sesión de aplicaciones web
  • Realizar un seguimiento de grupos de subprocesos y servicios de mensajería
  • Realizar un seguimiento de grupos de conexiones a bases de datos

Configuración

Instalación

El check de WebLogic está incluido en el paquete del Datadog Agent. No es necesaria ninguna instalación adicional en tu servidor.

  1. Este check está basado en JMX y recopila métricas del Platform MBean Server exportado por la máquina virtual Java (JVM), por lo que tus servidores WebLogic deben tener habilitada la monitorización JMX remota. Para ver las instrucciones de instalación, consulta Monitorización y gestión remotas.

  2. Define la propiedad del sistema -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder para habilitar estas métricas en el Platform MBean Server. Deben habilitarse tanto en la consola de administración del servidor WebLogic como en los scripts de inicio del servidor. Nota: Esta acción puede y debe hacerse más de una vez.

Activar en la consola de administración

Dominio => Configuración => General => Avanzado => Platform MBean Server habilitado

Activar en los scripts de inicio del servidor

-Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder

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

  1. Comprueba que el valor del atributo PlatformMBeanServerUsed está configurado como true en la consola de administración del servidor WebLogic. En las versiones 10.3.3.0 y posteriores del servidor WebLogic, el valor predeterminado es true. Esta configuración puede encontrarse en la consola de administración del servidor WebLogic o configurarse mediante la WebLogic Scripting Tool (WSLT).

    Activar en la consola de administración

    Domain (<WEBLOGIC_SERVER>) => Configuration => General => (Advanced) => Platform MBeanServer Enabled
    

    Activar en WLST

    Inicia una sesión de edición. Ve al directorio JMX del dominio y utiliza cmo.setPlatformMBeanServerUsed(true) para activar el atributo si está configurado como false.

    Por ejemplo:

    # > java weblogic.WLST
    (wlst) > connect('weblogic','weblogic')
    (wlst) > edit()
    (wlst) > startEdit()
    (wlst) > cd('JMX/<DOMAIN_NAME>')
    (wlst) > set('EditMBeanServerEnabled','true')
    (wlst) > activate()
    (wlst) > exit()
    

    Activa los cambios y reinicia el servidor WebLogic.

Configuración

  1. Edita el archivo weblogic.d/conf.yaml, que se encuentra en la carpeta conf.d/ en la raíz del directorio de configuración de tu Agent para empezar a recopilar tus datos de rendimiento de WebLogic. Para conocer todas las opciones de configuración disponibles, consulta el weblogic.d/conf.yaml de ejemplo.

    Este check tiene un límite de 350 métricas por instancia. El número de métricas devueltas se indica al ejecutar el comando de estado del Datadog Agent. Puedes especificar las métricas que te interesan editando la configuración.

    Para saber cómo personalizar las métricas que se van a recopilar,, consulta la documentación de checks de JMX para obtener instrucciones más detalladas. Si necesitas monitorizar más métricas, ponte en contacto con el servicio de asistencia de Datadog.

  2. Reinicia el Agent.

Validación

Ejecuta el subcomando de estado del Agent y busca weblogic en la sección Checks.

Datos recopilados

Métricas

weblogic.connector_connection_pool_runtime.connections_active
(gauge)
The current total active connections.
Shown as connection
weblogic.connector_connection_pool_runtime.connections_created_total
(rate)
The total number of Connector connections created in this Connector Pool since the pool is instantiated.
Shown as connection
weblogic.connector_connection_pool_runtime.connections_free
(gauge)
The current total free connections.
Shown as connection
weblogic.jms_runtime.connections_current
(gauge)
The current number of connections to WebLogic Server.
Shown as connection
weblogic.jms_runtime.connections_total
(rate)
The total number of connections made to this WebLogic Server since the last reset.
Shown as connection
weblogic.jms_runtime.jms_servers
(gauge)
The current number of JMS servers that are deployed on this WebLogic Server instance.
weblogic.jms_runtime.jms_servers_total
(rate)
The total number of JMS servers that were deployed on this WebLogic Server instance since this server was started.
weblogic.jvm_runtime.heap_free
(gauge)
The current amount of memory (in bytes) that is available in the JVM heap.
Shown as byte
weblogic.jvm_runtime.heap_free_percent
(gauge)
Percentage of the maximum memory that is free.
Shown as percent
weblogic.jvm_runtime.heap_size
(gauge)
The current size (in bytes) of the JVM heap.
Shown as byte
weblogic.jvm_runtime.heap_size_max
(gauge)
The maximum free memory configured for this JVM.
Shown as byte
weblogic.server.max_open_sockets
(gauge)
The maximum number of open sockets allowed in server at a given point of time.
weblogic.server.threadpool_socket_readers_percent
(gauge)
The percentage of execute threads from the default queue that can be used as socket readers.
Shown as percent
weblogic.server_channel_runtime.bytes_received
(rate)
The total number of bytes received on this channel.
Shown as byte
weblogic.server_channel_runtime.bytes_sent
(rate)
The total number of bytes sent on this channel.
Shown as byte
weblogic.server_channel_runtime.connections_active
(gauge)
The number of active connections and sockets associated with this channel.
Shown as connection
weblogic.server_channel_runtime.messages_received
(rate)
The number of messages received on this channel.
Shown as message
weblogic.server_channel_runtime.messages_sent
(rate)
The number of messages sent on this channel.
Shown as message
weblogic.server_channel_runtime.sockets_accepted
(rate)
The number of sockets that have been accepted on this channel. This includes sockets both past and present.
weblogic.server_runtime.open_sockets
(gauge)
The current number of sockets registered for socket muxing on this server.
weblogic.servlet_runtime.exec_time_high
(rate)
The amount of time the single longest invocation of the servlet has executed since created.
Shown as millisecond
weblogic.servlet_runtime.exec_time_low
(gauge)
The amount of time the single shortest invocation of the servlet has executed since created.
Shown as millisecond
weblogic.servlet_runtime.exec_time_total
(rate)
The total amount of time all invocations of the servlet have executed since created.
Shown as millisecond
weblogic.servlet_runtime.pool_max_capacity
(gauge)
The maximum capacity of this servlet for single thread model servlets.
Shown as thread
weblogic.servlet_runtime.reloads_total
(gauge)
The total count of the number of times this servlet has been reloaded.
weblogic.threadpool_runtime.completed_requests
(rate)
The number of completed requests in the priority queue.
Shown as request
weblogic.threadpool_runtime.execute_threads_idle
(gauge)
The number of idle threads in the pool. This count does not include standby threads and stuck threads. The count indicates threads that are ready to pick up new work when it arrives.
Shown as thread
weblogic.threadpool_runtime.execute_threads_total
(gauge)
The total number of threads in the pool.
Shown as thread
weblogic.threadpool_runtime.overload_rejected_requests
(gauge)
Number of requests rejected due to configured Shared Capacity for work managers have been reached.
Shown as request
weblogic.threadpool_runtime.queue_length
(gauge)
The number of pending requests in the priority queue. This is the total of internal system requests and user requests.
Shown as request
weblogic.threadpool_runtime.shared_capacity_work_managers
(gauge)
Maximum amount of requests that can be accepted in the priority queue.
Shown as request
weblogic.threadpool_runtime.threads_hogging
(gauge)
The threads that are being held by a request at the time of submission.
Shown as thread
weblogic.threadpool_runtime.threads_standby
(gauge)
The number of threads in the standby pool. Threads that are not needed to handle the present work load are designated as standby and added to the standby pool. These threads are activated when more threads are needed.
Shown as thread
weblogic.threadpool_runtime.threads_stuck
(gauge)
Number of stuck threads in the thread pool.
Shown as thread
weblogic.threadpool_runtime.throughput
(gauge)
The mean number of requests completed per second.
Shown as request
weblogic.threadpool_runtime.user_requests_pending
(gauge)
The number of pending user requests in the priority queue. The priority queue contains requests from internal subsystems and users. This is just the count of all user requests.
Shown as request
weblogic.webapp_component_runtime.sessions_current
(gauge)
The count of the current total number of open sessions in this module.
Shown as session
weblogic.work_manager_runtime.requests_completed
(rate)
The number of requests that have been processed, including daemon requests.
Shown as request
weblogic.work_manager_runtime.requests_pending
(gauge)
The number of waiting requests in the queue, including daemon requests.
Shown as request
weblogic.work_manager_runtime.threads_stuck
(gauge)
The number of threads that are considered to be stuck on the basis of any stuck thread constraints.
Shown as thread

Recopilación de logs

  1. Los servicios de generación de logs de WebLogic utiliza por defecto un despliegue basada en las API de generación de logs Java. Clona y edita el pipeline de la integración si tienes un formato diferente.

  2. La recopilación de logs está desactivada por defecto en el Datadog Agent. Actívala en tu archivo datadog.yaml:

    logs_enabled: true
    
  3. Descomenta y edita el bloque de configuración de logs en tu archivo weblogic.d/conf.yaml. Cambia los valores de los parámetros de ruta y servicio en función de tu entorno. Consulta el weblogic.d/conf.yaml de ejemplo para conocer todas las opciones de configuración disponibles.

     - type: file
       path: <DOMAIN_DIR>/servers/<ADMIN_SERVER_NAME>/logs/<ADMIN_SERVER_NAME>.log
       source: weblogic
       service: admin-server
       log_processing_rules:
         - type: multi_line
           name: new_log_start_with_date
           pattern: (\####)?<\w{3} (0?[1-9]|[12][0-9]|3[01]), \d{4}
     - type: file
       path: <DOMAIN_DIR>/servers/<ADMIN_SERVER_NAME>/logs/<DOMAIN_NAME>.log
       source: weblogic
       service: domain
       log_processing_rules:
         - type: multi_line
           name: new_log_start_with_date
           pattern: (\####)?<\w{3} (0?[1-9]|[12][0-9]|3[01]), \d{4}
     - type: file
       path: <DOMAIN_DIR>/servers/<SERVER_NAME>/logs/<SERVER_NAME>.log
       source: weblogic
       service: managed-server
       log_processing_rules:
         - type: multi_line
           name: new_log_start_with_date
           pattern: (\####)?<\w{3} (0?[1-9]|[12][0-9]|3[01]), \d{4}
     - type: file
       path: <DOMAIN_DIR>/servers/*/logs/access.log 
       source: weblogic
       service: http-access
       log_processing_rules:
         - type: multi_line
           name: new_log_start_with_date
           pattern: .*\[\d{2}\/(\w{3}|\w{4})\/\d{4}:\d{2}:\d{2}:\d{2} (\+|-)\d{4}\]
    
  4. Reinicia el Agent.

En contenedores

Para obtener información sobre entornos en contenedores, consulta la guía Autodiscovery con JMX.

Eventos

La integración WebLogic no incluye eventos.

Checks de servicio

weblogic.can_connect
Returns OK if the Agent is able to connect to and collect metrics from the monitored WebLogic instance, WARNING if no metrics are collected, and OK otherwise.
Statuses: ok, critical, warning

Solucionar problemas

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