본문 바로가기
Software Test/Contract Test by Postman

[Postman 사용법] 8. Monitoring

by kellis 2020. 8. 19.

1. Monitoring?

 

포스트맨은 컬렉션을 정기적으로 실행하여 성능과 응답을 확인할 수 있도록 모니터링 기능을 제공합니다. 컬렉션의 모든 요청이 올바르게 동작하는지 확인하기 위해 최소 5분, 최대 주 1회 단위로 자주 실행하도록 설정할 수 있습니다. 

Environment를 설정할 수 있으며, 테스트가 있는 요청의 경우에는 테스트가 실패했을 때 사용자에게 경보를 알립니다. 이 경보 수신 방법에 대해서는 별도로 지정이 가능합니다. 

 

(1) 가격

모니터링의 경우 아래와 같이 비용이 적용됩니다. 

  Postman Postman Pro Postman Enterprise
요청 건수/month 1000건 1만건 10만건
요청 건수 추가 비용 X

초과 1000건당 $0.75

단, 한달에 1회 5만 건을 $20에 사전 구매할 수 있음

요청 건수에 대한 정보는 모니터 대시 보드의 Track Usage에서 상시 확인이 가능합니다. 또는 계정 Usage 페이지에서도 확인 가능합니다.

 

(2) Region

포스트맨은 6가지 Region에 대해 모니터링을 제공합니다. 

  • US(East)
  • US(West)
  • Canada
  • Central Europe
  • Asia Pacific
  • South America

 

(3) 모니터에서 컬렉션 실행 (컬렉션 러너에서의 실행과 비교)

   변수

  • 기존 전역 변수는 가져올 수 없으나, 모니터 실행 중에 새 변수를 작성할 수 있음
  • 전역 변수와 환경 변수가 지속되지 않음. 따라서 지속적인 환경 변수가 필요한 경우 환경변수를 업데이트하는 요청을 추가하는 것이 좋음. 

   콘솔 출력

  • 요청과 응답의 본문은 콘솔에 기록되지 않음. 
  • 쿠키와 인증 키와 같이 잠재적으로 민감한 헤더 역시 동일하게 적용됨

  시간 제한

  • 최소 5분, 최대 주 1회 한번 실행하도록 예약 가능. 각 각의 실행은 모든 HTTP 요청, 응답, pre-request scripts, test scripts를 포함하여 5분으로 제한.

   파일 업로드

  • 요청에 파일을 첨부할 수 없음
  • raw request body로 업로드할 수는 있음

   반복

  • 기본적으로 1회만 실행
  • setNextRequest()를 이용하여 반복 작업을 수행하도록 할 수 있음

   다중 Region 모니터링

  • 생성할 때 지정 가능하며, 웹 대시보드에서 수정 가능

   데이터 파일

  • 데이터 파일을 첨부할 수 없음
  • Google 문서 도구, Google 스프레드 시트, 드롭박스 등의 API에서 액세스 하도록 할 수 있음

   액세스 가능한 API

  • 인터넷 상에서 공개적으로 사용 가능한 URL이어야 함. 추후 비공개 API도 모니터링할 수 있도록 할 것이라 함. 
  • 모니터는 포스트맨 클라우드에서 동작하기 때문에, 방화벽 문제로 localhost에는 직접적으로 접근이 불가능.

 


2. Monitor 설정하기

 

모니터링을 설정하는 방법에는 세 가지가 있습니다. 

  • 컬렉션 펼침 버튼 > Monitor Collection 
  • New Button > Monitor
  • 웹 대시보드 > Monitors > Monitor a collection 버튼

하나씩 살펴보도록 하겠습니다.  

 

먼저 포스트맨 앱에서 가능한 두 가지입니다. 

모니터링하기를 원하는 컬렉션의 펼침 버튼을 눌러 Monitor Collection을 클릭하거나, 혹은 포스트맨 앱 우측 상단의 New 버튼을 눌러 Monitor를 선택하면 아래와 같은 화면이 나타납니다. 

 

모니터링을 위한 새로운 API를 만들어도 되지만, 여기에서는 이미 만들어져 있는 컬렉션에 대해 모니터링을 지정해 보도록 하겠습니다. 

이름을 지정하고, 사용하기를 원하는 Environment가 있다면 설정해도 상관없습니다. 모니터링 주기와 Region을 선택하면 기본적으로 세팅이 끝나며 추가적으로 아래와 같은 설정을 줄 수도 있습니다. 

 

고급 모니터 옵션은 순서대로 아래와 같습니다.

  • 실행 중 실패하거나 오류가 있는 경우 email로 알림 수신
  • 요청에 대해 시간제한 설정
  • 요청에 대해 지연시간 설정
  • redirect 하지 않음
  • SSL 유효성 검사하지 않음

 

Create를 하면 모든 생성이 끝나며, 모니터링 상황에 대한 것은 웹 대시보드에서만 확인이 가능합니다.

그럼 웹에서 생성하는 방법 역시 살펴보겠습니다. 

웹 대시보드에서 특정 워크스페이스를 지정해 들어가면 Monitor라는 메뉴를 볼 수 있습니다. 

 

모니터가 없는 경우 바로 아래와 같은 화면이 나타나며, 모니터링이 존재한다면 모니터링 목록 우측 상단의 Monitor a collection 버튼을 눌러 추가해 주겠습니다. 

 

 


3. Monitor 결과 보기

 

포스트맨 대시보드의 Monitor란에 들어가면 현재 존재하는 Monitor에 대한 정보가 간략하게 나타납니다. 이 정보들은 TIMEFRAME에서 선택한 기간에 대한 결과입니다. 

  • STATUS : 상태. 실패한 횟수를 나타내며, 'Healthy'라고 뜨면 하나의 실패도 없었음을 의미.
  • AVG. SUCCESS RATE : 평균 성공률. 총 실행 횟수 중 성공한 횟수의 백분율. 모든 테스트가 성공해야 성공한 것으로 간주.
  • AVG. RESPONSETIME : 평균 응답 시간. 모든 실행에 대한 모든 요청의 평균 응답 시간 (밀리세컨드 단위)

상세 내용은 아래와 같습니다.

 

서버 프로그램이 뜨기 전이었던 10:41에는 failed로 뜨지만, 정상적으로 서버가 올라온 10:45분 이후 모니터링 결과는 전부 초록색으로 출력되는 것을 볼 수 있습니다.

만약 여러 region을 선택해 모니터링을 생성했다면 Region 드롭박스를 이용하여 지역별로 확인도 가능합니다. 

 

결과 우측의 console.log를 클릭하면 아래와 같이 로그가 어떻게 출력되었는지 확인할 수도 있습니다. 

 

만약 모니터가 실패할 경우 위 콘솔 로그 화면에서 'Need help debugging?'이라는 팝업을 제공하게 됩니다. 아래는 서버에 접속이 불가능한 경우의 콘솔 로그입니다. 

 

서버의 IP 주소가 올바른지, 공개적으로 사용 가능한지 확인하는 방법을 제안합니다. 변수가 누락되어 모니터가 실패한 경우 디버깅 정보는 모니터가 올바른 환경을 사용하고 있는지, 변수가 환경에 있는지 확인하는 방법을 제안합니다.

 


Additional Information

 

포스트맨은 Webhooks에 대해서도 모니터링할 수 있도록 개발 중이며 곧 제공 예정이라고 합니다. 이에 대한 자세한 내용은 Integrations for alerts에서 확인해보실 수 있습니다. 

댓글