WebLogic

Supported OS Linux Mac OS Windows

Intégration1.1.1

Présentation

Ce check permet de surveiller des serveurs WebLogic Oracle.

Configuration

Installation

Le check WebLogic est inclus avec le package de l’Agent Datadog. Vous n’avez donc rien d’autre à installer sur votre serveur.

  1. Ce check, qui repose sur JMX, recueille les métriques du serveur MBean de la plateforme qui sont exportées par la JVM. La surveillance JMX à distance doit donc être activée pour vos serveurs WebLogic. Consultez la rubrique Surveillance et gestion à distance (en anglais) pour obtenir des instructions d’installation.

  2. Définissez la propriété système -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder pour activer ces métriques sur le serveur MBean de la plateforme. Cette propriété peut être configurée dans la console d’administration du serveur WebLogic ou dans des scripts de démarrage de serveur :

    Activation dans la console d’administration

    Domain => Configuration => General => Advanced => Platform MBean Server Enabled
    

    Activation dans des scripts de démarrage de serveur

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

    Pour en savoir plus, consultez la documentation WebLogic (en anglais).

  3. Vérifiez que l’attribut PlatformMBeanServerUsed est défini sur true dans la console d’administration du serveur WebLogic. Il s’agit de la valeur par défaut depuis la version 10.3.3.0 des serveurs WebLogic. Ce paramètre est accessible depuis la console d’administration des serveurs WebLogic ou peut être configuré à l’aide de WebLogic Scripting Tool (WSLT).

    Activation dans la console d’administration

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

    Activation dans WLST

    Commencez une session d’édition. Accédez au répertoire JMX du domaine et utilisez le paramètre cmo.setPlatformMBeanServerUsed(true) pour activer l’attribut si ce dernier est défini sur false.

    Par exemple :

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

    Appliquez les modifications et redémarrez le serveur WebLogic.

Configuration

  1. Modifiez le fichier weblogic.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent pour commencer à recueillir vos données de performance WebLogic. Consultez le fichier d’exemple weblogic.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

    Ce check prévoit une limite de 350 métriques par instance. Exécutez la commande status de l’Agent Datadog pour vérifier le nombre de métriques actuellement renvoyées. Choisissez les métriques qui vous intéressent en modifiant la configuration.

    Pour découvrir comment modifier la liste des métriques à recueillir, consultez la documentation relative aux checks JMX afin d’obtenir des instructions détaillées. Si vous devez surveiller davantage de métriques, contactez l’assistance Datadog.

  2. Redémarrez l’Agent.

Validation

Lancez la sous-commande status de l’Agent et cherchez weblogic dans la section Checks.

Données collectées

Métriques

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

Collecte de logs

  1. Par défaut, les services de journalisation de WebLogic reposent sur une implémentation basée sur les API de logging Java. Dupliquez et modifiez la pipeline d’intégration si vous utilisez un autre format.

  2. La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans datadog.yaml :

    logs_enabled: true
    
  3. Supprimez la mise en commentaire du bloc de configuration des logs du fichier weblogic.d/conf.yaml et modifiez les paramètres. Modifiez les valeurs des paramètres path et service en fonction de votre environnement. Consultez le fichier d’exemple weblogic.d/conf.yaml pour découvrir toutes les options de configuration 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. Redémarrez l’Agent.

Environnement conteneurisé

Pour les environnements conteneurisés, consultez le guide Autodiscovery avec JMX.

Événements

L’intégration WebLogic n’inclut aucun événement.

Checks de service

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

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.