WebLogic

Supported OS Linux Windows

Integrationv1.1.1

概要

Oracle WebLogic は、オンプレミスおよびクラウドの両方で、エンタープライズ Java アプリケーションを開発、実行、導入するためのプラットフォームです。Web サーバー機能、メッセージングなどのビジネスコンポーネント、データベースなどのバックエンドエンタープライズシステムへのアクセスなどのアプリケーションサービスを一元管理します。

Datadog による Oracle WebLogic のモニタリングでは、以下のことが可能です。

  • Java 仮想マシン (JVM) のヒープサイズの増大を意識する
  • サーバーの応答時間を追跡する
  • Web アプリケーションのセッションの詳細を監視する
  • スレッドプールとメッセージングサービスを追跡する
  • データベース接続プールの使用量を追跡する

セットアップ

インストール

WebLogic チェックは Datadog Agent パッケージに含まれています。 サーバーに追加でインストールする必要はありません。

  1. このチェックは JMX ベースで、JVM によりエキスポートされた プラットフォーム MBean サーバーからメトリクスを収集するため、WebLogic サーバーで JMX リモートモニタリングが有効になっている必要があります。インストール手順については、リモートモニタリングおよび管理を参照してください。

  2. システムプロパティ -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder を設定し、これらのメトリクスをプラットフォーム MBean サーバーで有効にします。これは、WebLogic サーバー管理コンソールまたはサーバー起動スクリプトのいずれかで有効にできます。

    管理コンソールで有効化

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

    サーバー起動スクリプトで有効化

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

    詳細については、WebLogic のドキュメントを参照してください。

  3. WebLogic サーバー管理コンソールで PlatformMBeanServerUsed 属性の値が true に設定されていることを確認します。WebLogic サーバーのバージョン 10.3.3.0 以上で、デフォルト値は true です。この設定は、WebLogic サーバー管理コンソールにあります。または、WebLogic Scripting Tool (WSLT) を使用して構成できます。

    管理コンソールで有効化

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

    WLST で有効化

    編集セッションを開始します。ドメインの JMX ディレクトリに移動し、false に設定されている場合は cmo.setPlatformMBeanServerUsed(true) を使用して有効にします。

    例:

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

    変更をアクティブにして、WebLogic サーバーを再起動します。

コンフィギュレーション

  1. Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの weblogic.d/conf.yaml ファイルを編集して、 WebLogic パフォーマンスデータの収集を開始します。  使用可能なすべてのコンフィギュレーションオプションの詳細については、サンプル weblogic.d/conf.yaml を参照してください。

    このチェックは、1 インスタンスあたり 350 メトリクスの制限があります。返されたメトリクスの数は、Datadog Agent の status コマンドを実行したときに表示されます。 構成を編集することで、関心があるメトリクスを指定できます。

    収集するメトリクスをカスタマイズする方法については、JMX チェックのドキュメントで詳細な手順を参照してください。 制限以上のメトリクスを監視する必要がある場合は、Datadog のサポートチームまでお問い合わせください。

  2. Agent を再起動します

検証

Agent の status サブコマンドを実行し、Checks セクションで weblogic を探します。

収集データ

メトリクス

weblogic.server_runtime.open_sockets
(gauge)
The current number of sockets registered for socket muxing on this server.
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.max_open_sockets
(gauge)
The maximum number of open sockets allowed in server at a given point of time.
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.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.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.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_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.jvm_runtime.heap_size
(gauge)
The current size (in bytes) of the JVM heap.
Shown as byte
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_max
(gauge)
The maximum free memory configured for this JVM.
Shown as byte
weblogic.connector_connection_pool_runtime.connections_active
(gauge)
The current total active connections.
Shown as connection
weblogic.connector_connection_pool_runtime.connections_free
(gauge)
The current total free 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.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.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
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_channel_runtime.connections_active
(gauge)
The number of active connections and sockets associated with this channel.
Shown as connection
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.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.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_total
(rate)
The total amount of time all invocations of the servlet have 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.reloads_total
(gauge)
The total count of the number of times this servlet has been reloaded.
weblogic.servlet_runtime.pool_max_capacity
(gauge)
The maximum capacity of this servlet for single thread model servlets.
Shown as thread
weblogic.webapp_component_runtime.sessions_current
(gauge)
The count of the current total number of open sessions in this module.
Shown as session

ログの収集

  1. WebLogic ロギングサービスは、Java ロギング API に基づく実装をデフォルトで使用します。別のフォーマットを使用する場合は、インテグレーションパイプラインのクローンを作成し編集します。

  2. Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml ファイルでこれを有効にします。

    logs_enabled: true
    
  3. weblogic.d/conf.yaml ファイルのコメントを解除して、ログコンフィギュレーションブロックを編集します。環境に基づいて、パスおよびサービスのパラメーターの値を変更してください。使用可能なすべてのコンフィギュレーションオプションの詳細については、weblogic.d/conf.yaml のサンプルを参照してください。

     - 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. Agent を再起動します

コンテナ化

コンテナ環境の場合は、JMX を使用したオートディスカバリーのガイドを参照してください。

イベント

WebLogic インテグレーションには、イベントは含まれません。

サービスのチェック

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

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。