이 주제는 다음 절을 포함합니다.
메시지 플로우의 작동을 모니터하는 데 도움이 되도록 텍스트, 메시지 컨텐츠, 날짜 및 시간 정보를 통합할 수 있는 Trace 노드를 생성하려면 Trace 노드를 사용하십시오.
사용자 추적 파일, 다른 파일 또는 로컬 오류 로그(다른 모든 WebSphere Message Broker 구성요소로 기록한 오류 및 정보 메시지 포함)에 레코드를 기록할 수 있습니다. 로컬 오류 로그에 추적을 기록할 경우, WebSphere Message Broker에 제공된 디폴트 메시지 카탈로그로부터 메시지를 발행하거나 자신의 메시지 카탈로그를 작성할 수 있습니다.
Trace 노드의 조작은 이 노드가 상주하는 메시지 플로우의 사용자 추적 설정과 관계없습니다. 특히, Trace 노드가 사용자 추적 로그에 기록하는 레코드는 현재 메시지 플로우에 대해 사용자 추적이 활성화되어 있지 않더라도 기록됩니다.
추적 노드는 Workbench에서 다음 아이콘으로 표시됩니다.
이 노드를 사용하는 방법을 보려면 다음 샘플을 참조하십시오.
메시지 플로우의 오류를 진단하는 데 도움이 되도록 Trace 노드를 포함합니다. 플로우의 여러 지점에서 메시지 컨텐츠를 추적함으로써 처리 순서를 판별할 수 있습니다. 메시지 컨텐츠를 기록하도록 Trace 노드를 구성하여 메시지에서 특정 노드의 조치를 점검할 수도 있습니다. 예를 들면, 출력 메시지에 예상된 형식이 있는지 점검하기 위해 Compute 노드 바로 다음에 Trace 노드를 포함시킬 수 있습니다.
메시지 플로우를 테스트하여 조작이 올바르다는 것을 입증한 후 메시지 플로우에서 Trace 노드를 제거합니다.
메시지 플로우 내에서 오류 핸들링 시 이 Trace 노드를 사용하여 정보를 제공할 수도 있습니다. 예를 들면, 이 노드를 사용하여 메시지의 컨텐츠 또는 형식 내의 오류로 인해 처리 중에 발생한 실패를 기록할 수 있습니다.
Trace 노드 인스턴스를 메시지 플로우에 넣었으면 이 노드를 구성할 수 있습니다. 편집기 보기에서 노드를 마우스 오른쪽 단추로 누른 다음 등록 정보를 선택하십시오. 노드의 기본 등록 정보가 표시됩니다.
값을 입력해야 하는 모든 필수 등록 정보(정의된 디폴트 값이 없는 등록 정보)는 등록 정보 대화 상자에서 별표(*)로 표시됩니다.
다음과 같이 Trace 노드를 구성하십시오.
추적 레코드에 포함된 정보는 다음 로그에 기록됩니다.
이 옵션을 선택하면, 기록할 추적 메시지 수와 메시지가 정의되어 있는 메시지 카탈로그를 표시해야 합니다.
메시지 번호에 레코드의 오류 번호도 입력할 수 있습니다. 3051 - 3099의 숫자는 이 용도로 WebSphere Message Broker(디폴트) 카탈로그에 예약되어 있습니다. 디폴트 메시지 카탈로그 내에서 이러한 각 메시지의 텍스트는 동일하지만, 추적하는 각기 상황에 대해 이 범위에 속한 다른 숫자를 사용하면 오류의 정확한 원인을 식별할 수 있습니다. 디폴트 메시지 번호는 3051입니다.
메시지 번호에서 로컬 오류 로그에 기록하려는 해당 카탈로그의 메시지에 대해 적절한 번호도 입력해야 합니다. 일부 플랫폼에서 00으로 끝나는 메시지 번호는 시스템용으로 예약되어 있으므로 메시지 카탈로그에 3100과 같은 번호를 가진 메시지는 포함시키지 마십시오.
이 레코드는 전개된 메시지 플로우의 사용자 추적 등록 정보 설정에 관계없이 기록됩니다.
사용자 추적은 루트 디렉토리의 \log 서브디렉토리에 기록됩니다(예를 들면, Windows 2000에서의 디폴트는 c:\Program Files\IBM\WebSphere Message Broker임). 파일 이름은 브로커 이름, 브로커 UUID와 userTrace.bin이라는 접미부로 구성됩니다(예: broker.e51906cb-dd00-0000-0080-b10e69a5d551.userTrace.bin.0). 사용자 추적 로그를 보기 전에 mqsireadlog 및 mqsiformatlog 명령을 사용하십시오.
이 옵션을 선택하면, 파일 경로도 추적의 완전한 경로 이름으로 설정해야 합니다. 경로를 설정하지 않으면, 파일의 위치는 시스템에 따라 다릅니다. 예를 들면, z/OS에서 파일은 브로커 서비스 ID의 홈 디렉토리 내에 작성됩니다.
추적 파일에는 아무 이름이나 사용할 수 있습니다(예: c:\$user\trace\trace.log).
아직 존재하지 않는 파일을 지정할 경우, 파일이 작성됩니다. 그러나 이 프로세스에서 디렉토리는 작성하지 않으므로 전체 경로는 이미 존재해야 합니다.
아래의 패턴은 사용 가능한 일부 옵션을 보여줍니다. 이 패턴은 텍스트의 첫 행을 기록하고 현재 메시지의 두 요소를 기록하며 단순한 시간 소인을 추가합니다.
Message passed through with the following fields: Store name is ${Body.storedetailselement.storename} Total sales are ${Body.totalselement.totalsales} Time is: ${EXTRACT(HOUR FROM CURRENT_TIMESTAMP)} :${EXTRACT(MINUTE FROM CURRENT_TIMESTAMP)}
결과 추적 레코드는 다음과 같습니다.
Message passed through with the following fields: Store name is 'SRUCorporation' Total sales are '34.98' Time is: 11:19
구문 오류가 들어 있는 패턴은 Trace 노드가 들어 있는 메시지 플로우를 전개하지 못하게 하지만 노드에서는 추적 레코드를 기록하지 않습니다.
대화 상자를 닫고 등록 정보에서 작성한 모든 변경을 제거하려면 취소를 누르십시오.
다음 표에는 Trace 노드 터미널이 설명되어 있습니다.
터미널 | 설명 |
---|---|
In | 노드가 처리할 메시지를 승인하는 입력 터미널. |
Out | 메시지가 전달되는 출력 터미널. |
다음 표에는 노드 등록 정보가 설명되어 있습니다. 앞에 M이 표시된 열은 등록 정보가 필수임을 나타내며(디폴트가 정의되지 않았을 때 값을 입력해야 하는 경우 등록 정보 대화 상자에 별표(*)로 표시됨) 앞에 C가 표시된 열은 등록 정보가 구성 가능함을 나타냅니다(메시지 플로우를 Bar 파일에 추가하여 전개할 때 값을 변경할 수 있음).
다음 표에는 Trace 노드의 기본 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
목적지 | 예 | 아니오 | 사용자 추적 | 노드가 기록하는 추적 레코드의 목적지. 올바른 선택은 사용자 추적, 파일, 로컬 오류 로그 및 없음입니다. |
파일 경로 | 아니오 | 예 | 레코드를 기록할 파일의 완전한 이름. 목적지를 파일로 설정한 경우에만 올바릅니다. | |
패턴 | 아니오 | 아니오 | 추적 레코드에 포함할 데이터. | |
메시지 카탈로그 | 아니오 | 아니오 | 예외의 오류 번호에 대한 오류 텍스트를 추출할 메시지 카탈로그의 이름. 디폴트 값(공백)은 WebSphere Message Broker에 제공된 메시지 카탈로그에서 메시지를 가져온다는 의미입니다. | |
메시지 번호 | 아니오 | 아니오 | 3051 | 기록된 메시지의 오류 번호. |
다음 표에는 Trace 노드의 설명 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
간단한 설명 | 아니오 | 아니오 | 노드에 대한 간략한 설명. | |
자세한 설명 | 아니오 | 아니오 | 메시지 플로우에서 노드의 목적을 설명하는 텍스트. |