[java] ActiveMQ와 모니터링 및 로깅

ActiveMQ는 인기 있는 오픈 소스 메시징 브로커이며, 대규모 시스템에서 메시지 통신에 사용됩니다. 이러한 시스템에서는 ActiveMQ의 모니터링 및 로깅이 매우 중요합니다. 이 글에서는 ActiveMQ의 모니터링과 로깅 방법에 대해 알아보겠습니다.

1. JMX를 사용한 모니터링

ActiveMQ는 Java Management Extensions (JMX)를 사용하여 모니터링할 수 있습니다. JMX는 애플리케이션의 성능 및 상태를 모니터링하는 데 사용되는 Java 표준입니다. ActiveMQ는 JMX를 통해 여러 가지 정보를 제공하므로, 이를 사용하여 모니터링 할 수 있습니다.

다음은 ActiveMQ의 JMX 모니터링에 사용되는 일부 주요 속성입니다:

ActiveMQ의 JMX를 사용하여 모니터링하는 방법은 다음과 같습니다:

  1. ActiveMQ 브로커에 JMX를 활성화합니다. activemq.xml 파일을 열고 managementContext를 찾습니다. 다음과 같이 설정합니다:
    <managementContext>
        <managementContext createConnector="true"/>
    </managementContext>
    
  2. ActiveMQ를 시작한 후, JConsole 또는 JVisualVM과 같은 JMX 클라이언트 도구를 실행합니다.

  3. JMX 클라이언트 도구에서 service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi와 같은 JMX 연결 URL을 입력합니다. 포트 번호 및 호스트 이름은 실제 환경에 따라 변경해야 합니다.

  4. JMX 클라이언트 도구에서 ActiveMQ 브로커의 MBean을 찾아 원하는 속성을 확인할 수 있습니다.

2. 로깅

ActiveMQ는 기본적으로 Apache Log4j를 사용하여 로그를 기록합니다. 로그는 시스템의 상태 및 이벤트 추적 등에 유용합니다. ActiveMQ의 로깅은 다음과 같은 세 가지 수준으로 설정할 수 있습니다:

  1. INFO: 일반적인 정보 (기본값)
  2. DEBUG: 디버깅 정보
  3. TRACE: 상세한 추적 정보

ActiveMQ의 로그 레벨을 변경하려면 log4j.properties 파일을 수정합니다. 이 파일은 ActiveMQ 설치 디렉토리의 conf 폴더에 있습니다. 해당 파일에서 log4j.logger.org.apache.activemq 항목의 값을 원하는 로그 레벨로 변경할 수 있습니다.

예를 들어, DEBUG 레벨로 로그 레벨을 변경하려면 다음과 같이 수정합니다:

log4j.logger.org.apache.activemq=DEBUG

ActiveMQ는 로그를 콘솔로 출력하거나 파일에 로그를 기록할 수도 있습니다. 기본적으로, 로그는 activemq.log 파일에 기록됩니다. 로그 파일 및 로그 출력 형식을 변경하려면 conf/log4j.properties 파일을 열고 관련 설정을 수정하면 됩니다.

참고 자료