Sun Java System Message Queue 3.7 UR1 관리 설명서

브로커 로깅 구성 및 사용

Message Queue 로거는 브로커 코드, 디버거, 메트릭 생성기에서 생성한 정보를 가져와서이 정보를 표준 출력(콘솔), 로그 파일, syslog 데몬 프로세스(Solaris™ 운영 체제인 경우) 등과 같은 여러 출력 채널에 기록합니다.

로거에서 수집된 정보의 유형과 각 출력 채널에 기록된 유형을 지정할 수 있습니다. 특히 메트릭 정보가 로그 파일에 기록되도록 지정할 수 있습니다.

이 절에서는 브로커의 기본 로깅 구성에 대해 설명하며, 로그 정보를 대체 출력 채널로 리디렉션하는 방법, 로그 파일 롤오버 기준 변경 방법 및 메트릭 데이터를 로그 파일로 보내는 방법을 설명합니다.

기본 로깅 구성

브로커는 로그 출력을 로그 파일 집합에 저장하도록 자동으로 구성됩니다. 로그 파일은 연결된 브로커 인스턴스의 이름으로 식별되는 디렉토리에 있습니다(부록 A, 플랫폼별 Message QueueTM 데이터 위치 참조).

…/instances/instanceName/log

주 –

라이프사이클이 Application Server에 의해 제어되는 브로커의 경우 해당 브로커가 시작된 도메인에 대한 도메인 디렉토리의 하위 디렉토리에 로그 파일이 있습니다.

…/appServer_domainName_dir/imq/instances/imqbroker/log

로그 파일은 단순 텍스트 파일입니다. 이름은 다음과 같으며 이 순서대로 지정됩니다.

log.txt
log_1.txt
log_2.txt
…log_9.txt

기본적으로 로그 파일은 한 주에 한 번씩 롤오버되며 시스템에서는 9개의 백업 파일을 보존합니다.

브로커는ERROR, WARNING , INFO 등 세 가지 로그 수준을 지원합니다. 각 수준은 표 10–2에 설명되어 있습니다.

표 10–2 로깅 수준

수준 

설명 

ERROR

시스템 오류가 발생할 수 있는 문제에 대한 메시지 

WARNING

주의해야 하지만 시스템 오류는 발생하지 않을 경고 

INFO

메트릭 및 기타 정보 메시지 보고 

로깅 수준을 설정하면 해당 수준 이상의 메시지를 수집합니다. 기본 로그 수준은 INFO이므로 ERROR, WARNINGINFO 메시지가 기본적으로 모두 기록됩니다.

로그 메시지 형식

기록된 메시지는 타임스탬프, 메시지 코드, 메시지 자체로 이루어집니다. 정보의 양은 설정한 로그 수준에 따라 달라집니다. 다음은 INFO 메시지의 예입니다.


[13/Sep/2000:16:13:36 PDT] [B1004]: Starting the broker service using tcp 
[25374,100] with min threads 50 and max threads of 500

타임스탬프 표준 시간대를 변경하려면 표 14–8에 설명되어 있는 imq.log.timezone 등록 정보에 대한 정보를 참조하십시오.

로거 구성 변경

로그 관련 등록 정보에 대한 설명은 표 14–8에 나와 있습니다.

Procedure브로커의 로거 구성을 변경하는 방법

  1. 로그 수준을 설정합니다.

  2. 로깅 범주 하나 이상에 해당하는 출력 채널(파일, 콘솔, 또는 둘 다)을 설정합니다.

  3. 출력을 파일에 기록하는 경우에는 파일의 롤오버 기준을 구성합니다.

    이 단계들은 로거 등록 정보를 설정하여 완료합니다. 이 작업은 두 방법 중 한 가지를 사용하여 수행할 수 있습니다.

    • 브로커를 시작하기 전에 브로커의 config.properties 파일에 있는 로거 등록 정보를 변경 또는 추가합니다.

    • 브로커를 시작하는 imqbrokerd 명령에서 로거 명령줄 옵션을 지정합니다. 브로커 옵션 -D를 사용하여 로거 등록 정보(또는 모든 브로커 등록 정보)를 변경할 수도 있습니다.

    명령줄에 전달되는 옵션은 브로커 인스턴스 구성 파일에서 지정한 등록 정보를 대체합니다. 로깅에 영향을 주는 imqbrokerd 옵션은 다음과 같습니다.

    -metrics interval

    브로커 메트릭 로깅 간격(초)

    -loglevel level

    로깅 수준(ERROR, WARNING, INFO 또는 NONE)

    -silent

    자동 모드(콘솔에 기록하지 않음)

    -tty

    모든 메시지를 콘솔에 기록

    다음 절에서는 기본 구성을 변경하여 다음을 수행하는 방법을 설명합니다.

    • 출력 채널(로그 메시지 대상) 변경

    • 롤오버 기준 변경

출력 채널 변경

기본적으로 오류 및 경고 메시지는 로그 파일에 기록될 뿐 아니라 터미널에도 표시됩니다. Solaris의 경우에는 오류 메시지가 시스템의 syslog 데몬에도 기록됩니다.

로그 메시지의 출력 채널은 다음과 같은 방법으로 변경할 수 있습니다.


주 –

로거 출력 채널을 변경하기 전에 출력 채널에 매핑할 정보를 지원하는 수준으로 로깅을 설정해야 합니다. 예를 들어, 로그 수준을 ERROR로 설정하고 imq.log.console.output 등록 정보를 WARNING으로 설정한 경우에는 WARNING 메시지의 로깅을 활성화하지 않았기 때문에 메시지가 기록되지 않습니다.


로그 파일 롤오버 기준 변경

로그 파일의 롤오버 기준에는시간과 크기의 두 가지가 있습니다. 기본값은 시간 기준을 사용하고 7일마다 파일을 롤오버하는 것입니다.

시간 및 크기 관련 롤오버 등록 정보를 모두 설정한 경우에는 먼저 도달한 제한에 의해 롤오버가 발생합니다. 앞에서 설명했듯이 브로커는 아홉 개까지의 롤오버 파일을 보존합니다.

브로커가 실행되고 있을 때 로그 파일 롤오버 등록 정보를 설정 또는 변경할 수 있습니다. 이러한 등록 정보를 설정하려면 imqcmd update bkr 명령을 사용합니다.

로그 파일로 메트릭 데이터 보내기

이 절에서는 브로커 로그 파일을 사용하여 메트릭 정보를 보고하는 절차를 설명합니다. 로거 구성에 대한 자세한 내용은 브로커 로깅 구성 및 사용을 참조하십시오.

Procedure로그 파일을 사용하여 메트릭 정보를 보고하는 방법

  1. 브로커의 메트릭 생성 기능을 구성합니다.

    1. imq.metrics.enabled=true인지 확인합니다.

      로깅을 위한 메트릭 생성은 기본적으로 설정되어 있습니다.

    2. 메트릭 생성 간격을 원하는 시간(초)으로 설정합니다.

      imq.metrics.interval=interval

      이 값은 config.properties 파일에서 설정하거나 브로커를 시작할 때 -metrics interval 명령줄 옵션을 사용하여 설정할 수 있습니다.

  2. 로거가 메트릭 정보를 수집하는지 확인합니다.


    imq.log.level=INFO

    기본값입니다. 이 값은 config.properties 파일에서 설정하거나 브로커를 시작할 때 -loglevel level 명령줄 옵션을 사용하여 설정할 수 있습니다.

  3. 로거가 메트릭 정보를 로그 파일에 기록하도록 설정되어 있는지 확인합니다.


    imq.log.file.output=INFO

    기본값입니다. 이 값은 config.properties 파일에서 설정할 수 있습니다.

  4. 브로커를 시작합니다.

    다음에는 로그 파일로의 샘플 브로커 메트릭 출력이 나와 있습니다.


    [21/Jul/2004:11:21:18 PDT]
    Connections: 0    JVM Heap: 8323072 bytes (7226576 free) Threads: 0 (14-1010)
          In: 0 msgs (0bytes) 0 pkts (0 bytes)
         Out: 0 msgs (0bytes) 0 pkts (0 bytes)
     Rate In: 0 msgs/sec (0 bytes/sec) 0 pkts/sec (0 bytes/sec)
    Rate Out: 0 msgs/sec (0 bytes/sec) 0 pkts/sec (0 bytes/sec)

    메트릭 데이터에 대한 자세한 내용은 18 장, 메트릭 참조을 참조하십시오.

사용 불능 메시지 기록

브로커에 대한 사용 불능 메시지 로깅을 사용하여 물리적 대상을 모니터할 수 있습니다. 사용 불능 메시지 대기열을 사용하는지 여부에 관계 없이 사용 불능 메시지를 기록할 수 있습니다.

사용 불능 메시지 로깅을 사용하는 경우 브로커는 다음과 같은 이벤트 유형을 기록합니다.

사용 불능 메시지 대기열을 사용하는 경우 다음과 같은 이벤트 유형도 로깅에 포함됩니다.

다음은 사용 불능 메시지에 대한 로그 형식의 예입니다.


[29/Mar/2006:15:35:39 PST] [B1147]: Message 8-129.145.180.87(e7:6b:dd:5d:98:aa)-
35251-1143675279400 from destination Q:q0 has been placed on the DMQ because 
[B0053]: Message on destination Q:q0 Expired: expiration time 1143675279402, 
arrival time 1143675279401, JMSTimestamp 1143675279400

사용 불능 메시지 로깅은 기본적으로 비활성화됩니다. 사용 불능 메시지 로깅을 사용하려면 imq.destination.logDeadMsgs 브로커 속성을 설정합니다.