iFlow 디자이너를 벗어나지 않고 SAP CPI 메시지를 단계별로 트레이스하기
SAP CPI의 TRACE 로그 수준이 기록하는 내용, 모니터에서 단계 전 내용을 읽는 방법, iFlow 다이어그램 위에서 메시지의 경로와 페이로드를 따라가는 방법을 설명합니다.

iFlow가 잘못된 결과를 반환하면 질문은 거의 언제나 같습니다. 문제가 생긴 단계 바로 전에 메시지는 어떤 모습이었을까요? SAP Cloud Integration(SAP CPI)은 이 질문에 답할 수 있지만, 로그 수준 TRACE로 처리된 메시지에 대해서만 가능하고, 그 답은 편집 중인 다이어그램에서 몇 화면 떨어진 모니터에 있습니다.
이 글에서는 트레이스가 무엇을 기록하는지, SAP 자체 모니터에서 어떻게 읽는지, 그리고 Kitegra로 같은 트레이스를 다이어그램 위에서 단계별로 따라가는 방법을 설명합니다.
트레이스가 기록하는 것
모든 메시지는 메시지 처리 로그(MPL)를 남깁니다. 여기에는 상태, 시작과 종료 시각, 실행한 단계가 담깁니다. 얼마나 자세한 내용이 들어갈지는 iFlow의 로그 수준이 정합니다.
| 로그 수준 | 메시지 처리 로그에 남는 것 |
|---|---|
| Info | 전체 상태, 시간 정보, 오류(있는 경우) |
| Debug | 메시지가 실행한 각 단계의 항목 |
| Trace | Debug의 내용에 더해, 각 단계 전의 본문, header, exchange property |
Trace 내용은 보관용이 아니라 조사용입니다. SAP는 이를 약 1시간 동안 보관하며, TRACE 수준 자체도 약 10분 후에 원래대로 돌아갑니다. 그래서 읽으려는 메시지는 TRACE를 설정한 직후에 실행되어야 합니다. 실제 페이로드가 tenant에 저장되므로 가능하면 테스트 데이터에 사용하고, 운영 환경에서는 회사 규칙을 따르세요. TRACE가 저절로 꺼지는 이유에서 그 제한을 설명합니다.
SAP 모니터에서 트레이스 읽기
- 모니터에서 Manage Integration Content를 열고, 배포된 iFlow를 선택한 뒤 로그 수준을 Trace로 설정하세요.
- 몇 분 안에 메시지를 다시 보내세요.
- Monitor Message Processing에서 메시지를 열고, 트레이스 링크를 따라 메시지 처리 실행으로 이동하세요.
- 실행 다이어그램에서 단계를 선택하고 메시지 내용, 즉 header, 속성, 페이로드를 여세요.
이 방법도 통하지만, 단계 하나를 볼 때마다 몇 번씩 클릭해야 하고, 실행 다이어그램은 편집 중인 다이어그램이 아니며, 10분이 지나면 로그 수준을 다시 설정해야 합니다.
디자이너에서 TRACE 켜기
Kitegra를 쓰면 디자이너에서 iFlow를 열고 다이어그램 도구 모음의 “Kitegra 도구” 버튼을 클릭한 뒤 “메시지”를 선택합니다(또는 Alt+Shift+M). 패널에는 선택한 런타임에서 처리된 iFlow의 최근 메시지가 날짜별로 묶여 상태, 시작 시간, 소요 시간과 함께 표시됩니다. 트레이스된 메시지에는 TRACE 표시가 붙고, 새 메시지는 도착할 때 깜박입니다.
패널의 스위치에는 “Trace: 꺼짐”이라고 표시됩니다. 한 번 클릭하면 iFlow의 로그 수준이 TRACE로 설정되고, 스위치에 경과 분과 함께 “Trace: 켜짐”이 표시됩니다. 스위치가 켜져 있고 iFlow에서 작업하는 동안에는 SAP가 TRACE를 해제하기 전에 확장 프로그램이 다시 설정하며, 마지막 활동 후 20분이 지나면 갱신을 멈춥니다. 끄면 iFlow가 이전에 갖고 있던 로그 수준으로 돌아갑니다.
Trace는 tenant를 변경하는 네 가지 작업 중 하나이며, 다른 작업과 마찬가지로 클릭할 때만 실행됩니다.
다이어그램에서 메시지 따라가기
- 메시지를 보내거나 다음 메시지를 기다리세요. “메시지” 패널 맨 위에 나타납니다.
- 트레이스된 메시지에서 “다이어그램에”를 선택하세요. 메시지가 지나간 단계가 색칠되고, 실패한 단계에는 표시가 붙으며, 도달하지 않은 단계는 흐리게 보입니다.
- 색칠된 단계를 클릭하세요. “단계 전 내용” 패널에 그 단계 전의 “Body”, “헤더”, “익스체인지 속성”, 단계의 “로그”, 그리고 단계가 실패했다면 “오류”가 표시됩니다.
- “이전”과 “다음”으로 실행된 순서대로 단계를 살펴보세요. Splitter나 루프에서 여러 번 실행된 단계는 실행마다 보여 줍니다. 예: “이 단계의 실행 2 / 3”.
- 다 봤으면 “다이어그램 표시 지우기”를 선택하세요.
메시지가 TRACE 없이 실행되었다면 패널이 그렇게 알려 줍니다. SAP는 메시지가 TRACE로 실행될 때만, 그것도 약 1시간 동안만 본문과 header를 보관합니다.
찾은 내용 활용하기
- 페이로드 뷰어는 본문을 “정렬” 또는 “한 줄”로 보여 주고, “줄 바꿈”과 “검색”을 지원하며, “복사”하거나 “다운로드”할 수 있습니다.
- “다음 단계와 비교”는 두 본문을 “페이로드 비교”에 나란히 열어, 단계가 정확히 무엇을 바꿨는지 보여 줍니다.
- “소요 시간”은 단계에 걸린 시간에 따라 가장 빠른 것(초록)부터 가장 느린 것(빨강)까지 색칠합니다. 단계에 마우스를 올리면 시간이 표시됩니다.
- 실행이 긴 경우 “읽을 단계”로 그 iFlow에서 읽을 단계 수를 정하거나 “전체”를 고를 수 있습니다.
- 실패한 메시지는 “요약” 탭에서 실패한 위치를 알려 주고, 알려진 오류라면 “일반적인 의미:”도 보여 줍니다.
이 iFlow나 tenant의 다른 iFlow에서 ID를 알고 있는 메시지를 열려면 Message ID 또는 Correlation ID로 SAP CPI 메시지 찾기를 참고하세요.
Kitegra가 도와주는 방법
Message Monitor는 Kitegra의 다섯 영역 중 하나입니다. Trace 내용은 고객 데이터입니다. 확장 프로그램은 이를 페이지에 표시하고 본문을 다운로드할 수 있게 하지만, 저장하거나 동기화하거나 Kitegra로 보내지 않습니다.
Helper, Message Monitor, iFlow Inspector, iFlow Docs는 각각 사용한 iFlow 수를 셉니다. Kitegra 계정이 없으면 모듈당 5개, Free 요금제는 50개, Starter는 100개, Pro는 300개이며 Business는 제한이 없습니다. Toolbox와 작업 공간 부가 기능은 무료입니다. 요금제 비교하기.
다음 iFlow에서 사용해 보세요
Kitegra가 SAP Integration Suite 디자이너에 무엇을 더하는지 읽어 보거나, Kitegra의 다른 Chrome 확장 프로그램과 함께 살펴보세요.
자주 묻는 질문
SAP CPI에서 메시지 페이로드가 보이지 않는 이유는 무엇인가요?
SAP는 메시지가 로그 수준 TRACE로 실행될 때만, 약 1시간 동안 본문, header, 속성을 보관합니다. TRACE를 설정하고 메시지를 다시 보낸 뒤 1시간 안에 트레이스를 읽으세요.
SAP CPI에서 TRACE는 얼마나 오래 켜져 있나요?
약 10분입니다. 그 후 iFlow는 더 낮은 로그 수준으로 돌아가며, TRACE를 다시 설정할 때까지 메시지가 트레이스되지 않습니다.
“단계 전 내용”이란 무엇인가요?
단계가 시작될 때의 메시지, 즉 본문, header, exchange property입니다. 다음 단계의 내용과 비교하면 그 단계가 무엇을 바꿨는지 알 수 있습니다.
트레이스하면 iFlow가 느려지나요?
모든 단계의 내용을 tenant에 기록하므로 작업량이 늘어납니다. 조사하는 동안에만 사용하고 끝나면 끄세요.
확장 프로그램이 TRACE 수준을 계속 켜 두나요?
아니요. 스위치가 켜져 있고 iFlow에서 작업하는 동안에만 TRACE를 갱신하고, 마지막 활동 후 20분이 지나면 멈추며, 스위치를 끄면 이전 수준으로 되돌립니다.
Kitegra가 트레이스 내용을 저장하나요?
아니요. 트레이스 내용은 페이지에 표시되고 사용자가 직접 다운로드할 수 있을 뿐, 저장되거나 동기화되거나 Kitegra로 전송되지 않습니다.