Message Queue는 브로커가 메트릭 데이터를 JMS 메시지에 기록한 다음 메시지에 포함된 메트릭 정보 유형에 따라 여러 메트릭 주제 대상 중 하나에 보낼 수 있는 메트릭 모니터링 기능을 제공합니다.
메트릭 주제 대상에 가입하고 이러한 대상에서 메시지를 사용하며 메시지에 포함된 메트릭 정보를 처리하는 클라이언트 응용 프로그램을 작성하여 이러한 메트릭 정보에 액세스할 수 있습니다.
다섯 개의 메트릭 주제 대상이 있으며 표 10–6에 그 이름과 함께 각 대상에 전달되는 메트릭 메시지 유형이 표시되어 있습니다.
표 10–6 메트릭 주제 대상
주제 이름 | |
---|---|
mq.metrics.broker | |
mq.metrics.jvm | |
mq.metrics.destination_list | |
mq.metrics.destination.queue.monitoredDestinationName |
지정된 이름의 대기열에 대한 대상 메트릭 |
mq.metrics.destination.topic.monitoredDestinationName |
지정된 이름의 주제에 대한 대상 메트릭 |
이 절에서는 메시지 기반 모니터링 기능을 사용하여 메트릭 정보를 수집하는 절차를 설명합니다. 이 절차는 클라이언트 개발과 관리 작업을 모두 포함합니다.
메트릭 모니터링 클라이언트를 작성합니다.
메트릭 주제 대상에 가입하고 메트릭 메시지를 사용하며 이러한 메시지에서 메트릭 데이터를 추출하는 클라이언트를 프로그래밍하는 데 대한 지침은 Java 클라이언트용 Message Queue 개발 안내서를 참조하십시오.
config.properties 파일에서 브로커 등록 정보 값을 설정하여 브로커의 메트릭 메시지 생성자를 구성합니다.
메트릭 메시지 생성을 활성화합니다.
imq.metrics.topic.enabled=true를 설정합니다.
기본값은 true입니다.
메트릭 메시지가 생성되는 간격(초)을 설정합니다.
imq.metrics.topic.interval=interval을 설정합니다.
기본값은 60초입니다.
메트릭 메시지가 지속되는지(즉, 브로커에 오류가 발생해도 메시지가 보존되는지) 여부를 지정합니다.
imq.metrics.topic.persist를 설정합니다.
기본값은 false입니다.
메트릭 메시지가 삭제되기 전까지 해당 대상에 남아 있는 기간을 지정합니다.
imq.metrics.topic.timetolive를 설정합니다.
기본값은 300초입니다.
메트릭 주제 대상에 대한 액세스 제어가 필요한 경우 설정합니다.
아래의 보안 및 액세스 고려 사항에 있는 설명을 참조하십시오.
메트릭 모니터링 클라이언트를 시작합니다.
사용자가 메트릭 주제에 가입하면 메트릭 주제 대상이 자동으로 만들어집니다. 메트릭 주제가 만들어지면 브로커 메트릭 메시지 생성자가 메트릭 메시지를 메트릭 주제로 보내기 시작합니다.
메트릭 주제 대상에 대한 액세스를 제한하는 이유는 두 가지입니다.
메트릭 데이터에는 브로커와 그 자원에 대한 중요한 정보가 포함되어 있을 수 있습니다.
메트릭 주제 대상에 대한 가입 수가 과도한 경우 브로커 오버헤드가 늘어나고 성능에 부정적인 영향을 미칠 수 있습니다.
이러한 사항을 고려할 때 메트릭 주제 대상에 대한 액세스를 제한하는 것이 좋습니다.
모니터링 클라이언트는 다른 클라이언트와 같은 인증 및 권한 부여 제어를 받습니다. Message Queue 사용자 저장소에서 유지 관리되는 사용자만 브로커에 연결할 수 있습니다.
사용자 권한 부여: 액세스 제어 등록 정보 파일에 설명되어 있는 액세스 제어 등록 정보 파일을 통해 특정 메트릭 주제 대상에 대한 액세스를 제한하여 추가 보호를 제공할 수 있습니다.
예를 들어, accesscontrol.properties 파일의 다음 항목은 user1과 user2를 제외한 모든 사람에 대해 mq.metrics.broker 메트릭 주제에 대한 액세스를 거부합니다.
topic.mq.metrics.broker.consume.deny.user=* topic.mq.metrics.broker.consume.allow.user=user1,user2 |
다음 항목은 사용자 user3만 주제 t1을 모니터할 수 있도록 합니다.
topic.mq.metrics.destination.topic.t1.consume.deny.user=* topic.mq.metrics.destination.topic.t1.consume.allow.user=user3 |
메트릭 데이터의 중요도에 따라 암호화된 연결을 사용하여 메트릭 모니터링 클라이언트를 브로커에 연결할 수도 있습니다. 암호화된 연결 사용에 대한 자세한 내용은 메시지 암호화를 참조하십시오.
메시지 기반 모니터링 API를 사용하여 얻는 메트릭 데이터 출력은 사용자가 어떤 메트릭 모니터링 클라이언트를 작성하는지에 따라 다릅니다. 단지 브로커의 메트릭 생성기에서 어떤 데이터를 제공하는지에 따라 제한을 받습니다. 이 데이터의 전체 목록을 보려면 18 장, 메트릭 참조을 참조하십시오.