브로커는 응용 프로그램 및 브로커 성능을 모니터하고 진단할 구성 요소를 포함합니다. 여기에는 다음 항목이 포함됩니다.
데이터를 생성하는 구성 요소, 메트릭 생성자 및 이벤트를 기록하는 브로커 코드
여러 출력 채널을 통해 정보를 기록하는 로거 구성 요소
메트릭 정보를 포함하는 JMS 메시지를 JMS 모니터링 클라이언트가 사용할 수 있도록 주제 대상에게 보내는 메트릭 메시지 생성자
그림 4–3은 일반 체계를 보여줍니다. 모니터링 서비스 구성을 위한 브로커 등록 정보는 모니터링 등록 정보에 나와 있습니다.
메트릭 생성자는 브로커 내부 및 외부로의 메시지 흐름, 브로커 메모리의 메시지 수 및 이 메시지가 사용하는 메모리, 열려 있는 연결 수, 사용 중인 스레드 수 등과 같은 브로커 활동 정보를 제공합니다. 부울 브로커 등록 정보 imq.metrics.enabled는 이러한 정보를 기록할지 여부를 제어합니다. imq.metrics.interval는 빈도를 지정합니다.
로거는 브로커 코드 및 메트릭 생성자가 생성한 정보를 가져와서 오류 발생 시 표준 출력(콘솔), 로그 파일, syslog 데몬 프로세스(Solaris 플랫폼용)에 해당 정보를 기록합니다.사용할 로그 파일은 imq.log.file.dirpath 및 imq.log.file.filename 브로커 등록 정보를 통해 식별됩니다. imq.log.console.stream는 콘솔 출력을 stdout로 전달할지 stderr로 전달할지 여부를 지정합니다.
imq.log.level 등록 정보는 로거에서 수집하는 메트릭 정보 범주 ERROR, WARNING 또는 INFO를 제어합니다. 각 수준에는 상위 수준이 포함됩니다. 예를 들어, WARNING을 로깅 수준으로 지정한 경우 오류 메시지도 기록됩니다. imq.log.console.output 및 imq.log.file.output 등록 정보는 지정된 범주 중에서 콘솔과 로그 파일에 각각 기록할 범주를 제어합니다. 그러나, 이 경우 범주에는 상위 수준이 포함되지 않습니다. 예를 들어, 오류와 경고를 로그 파일에 모두 기록하고 정보 메시지를 콘솔에 기록하려는 경우에는 imq.log.file.output을 ERROR|WARNING으로, imq.log.console.output을 INFO로 명시적으로 설정해야 합니다. Solaris 플랫폼의 경우 또 하나의 등록 정보인 imq.log.syslog.output은 syslog 데몬에 기록할 메트릭 정보 범주를 지정합니다. 사용 불능 메시지를 삭제하거나 사용 불능 메시지 대기열로 옮길 때 기록할지 여부를 지정하는 imq.destination.logDeadMsgs 등록 정보도 있습니다.
로그 파일의 경우 파일을 닫고 출력을 새 파일로 롤오버하는 지점을 지정할 수 있습니다. 로그 파일이 지정된 크기(imq.log.file.rolloverbytes)에 이르거나 지정된 기간(imq.log.file.rolloversecs)에 이르면 해당 로그 파일이 저장되고 새 로그 파일이 만들어집니다.
로깅 관련 추가 브로커 등록 정보는 모니터링 등록 정보을 참조하십시오. 로거 구성 방법과 로거를 사용하여 성능 정보를 얻는 방법에 대한 자세한 내용은 브로커 로깅 구성 및 사용을 참조하십시오.
메트릭 메시지 생성자는 주기적으로 메트릭 생성자로부터 정보를 받아서 해당 정보를 메트릭 메시지에 기록합니다. 그런 다음, 이 메트릭 메시지를 메시지에 포함된 메트릭 정보 유형에 따라 다양한 메트릭 주제 대상 중 하나로 전송합니다(표 4–2 참조). Message Queue 클라이언트는 메시지를 사용하거나 포함되어 있는 메트릭 데이터를 처리할 수 있습니다. 이렇게 하면 개발자는 사용자 정의 모니터링 도구를 작성하여 메시징 응용 프로그램을 지원할 수 있습니다. 각 메트릭 메시지 유형에서 보고하는 메트릭 수량에 대한 자세한 내용은 Java 클라이언트용 Message Queue 개발 안내서를 참조하십시오.
표 4–2 메트릭 주제 대상
주제 이름 | |
---|---|
mq.metrics.broker |
브로커 메트릭 |
mq.metrics.jvm |
Java 가상 머신 메트릭 |
mq.metrics.destination_list |
대상 및 해당 유형 목록 |
mq.metrics.destination.queue.queueName |
지정된 대기열의 대상 메트릭 |
mq.metrics.destination.topic.topicName |
지정된 주제의 대상 메트릭 |
브로커 등록 정보 imq.metrics.topic.enabled 및 imq.metrics.topic.interval은 메시지를 메트릭 주제 대상으로 전송할지 여부와 전송 빈도를 각각 제어합니다. imq.metrics.topic.timetolive 및 imq.metrics.topic.persist 등록 정보는 이러한 메시지의 수명과 지속 여부를 지정합니다.
메트릭 메시지 본문에 포함된 정보 이외에 각 메시지의 헤더에는 다음과 같은 추가 정보를 제공하는 등록 정보가 있습니다.
메시지 유형
메시지를 전송한 브로커의 주소(호스트 이름 및 포트 번호)
메트릭 샘플을 가져온 시간
이 등록 정보는 유형이 다르거나 서로 다른 브로커에서 가져온 메트릭 메시지를 처리하는 클라이언트 응용 프로그램에 유용합니다.