WebLogic

Supported OS Windows Mac OS

통합 버전3.0.0

개요

Oracle WebLogic은 온프레미스와 클라우드에서 엔터프라이즈 Java 애플리케이션을 개발, 실행 및 배포하는 플랫폼입니다. 웹 서버 기능, 메시징 같은 비즈니스 컴포넌트, 데이터베이스 등 백엔드 엔터프라이즈 시스템 액세스를 포함한 애플리케이션 서비스를 중앙 집중화합니다.

Datadog으로 Oracle WebLogic을 모니터링하면 다음 작업을 할 수 있습니다.

  • Java Virtual Machine (JVM)의 힙 크기 증가 인지
  • 서버 응답 시간 추적
  • 웹 애플리케이션의 세션 세부 정보 모니터
  • 스레드 풀 및 메시징 서비스 추적
  • 데이터베이스 연결 풀 사용량 추적

설정

설치

WebLogic 점검은 Datadog Agent 패키지에 포함되어 있습니다. 서버에 추가 설치가 필요하지 않습니다.

  1. 본 검사는 JMX 기반이며 JVM에서 내보낸 Platform MBean Server에서 메트릭을 수집하므로, WebLogic 서버에 JMX Remote Monitoring이 활성화되어 있어야 합니다. 설치 지침은 Remote Monitoring 및 Management를 참조하세요.

  2. 시스템 속성 -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder을 설정하여 Platform MBean Server에서 해당 메트릭을 활성화합니다. 본 속성은 WebLogic Server Administration Console과 서버 시작 스크립트 모두에서 활성화해야 합니다. 참고: 이 작업을 두 번 이상 실행해야 합니다.

    관리 콘솔에서 활성화

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

    서버 시작 스크립트에서 활성화

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

    자세한 내용은 WebLogic 문서를 참조하세요.

  3. WebLogic Server Administration Console에서 PlatformMBeanServerUsed 속성 값이 true로 설정되어 있는지 확인합니다. WebLogic Server 버전 10.3.3.0 이상에서 기본값은 true입니다. 해당 설정은 WebLogic Server Administration Console에서 찾거나 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. 다음 루트의 conf.d/ 폴더에 있는 weblogic.d/conf.yaml 파일을 편집합니다. Agent 설정 디렉터리에서 WebLogic 성능 데이터 수집을 시작하세요. 사용 가능한 모든 설정 옵션은 weblogic.d/conf.yaml 샘플을 참조하세요.

    본 점검은 인스턴스당 350개의 메트릭으로 제한됩니다. 반환되는 메트릭의 수는 Datadog Agent 상태 명령을 실행할 때 표시됩니다. 구성을 편집하여 원하는 메트릭을 지정할 수 있습니다.

    수집할 메트릭을 사용자 정의하는 자세한 방법은 JMX Checks 문서를 참조하세요. 더 많은 메트릭을 모니터링하고 싶을 경우에는 Datadog 지원팀에 문의하세요.

  2. 에이전트를 재시작합니다.

검증

Agent의 status 하위 명령을 실행하여 Checks 섹션에서 weblogic를 찾습니다.

수집한 데이터

메트릭

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

로그 수집

  1. WebLogic 로깅 서비스는 기본적으로 Java Logging 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. 에이전트를 재시작합니다.

컨테이너화

컨테이너화된 환경의 경우 JMX를 사용한 Autodiscovery 지침을 참조하세요.

이벤트

WebLogic 통합은 이벤트를 포함하지 않습니다.

서비스 점검

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

트러블슈팅

도움이 필요하신가요? Datadog 지원팀에 문의하세요.