올리브영 테크블로그 포스팅 올리브영 결제 이야기 Part - 2
Order & Payment

올리브영 결제 이야기 Part - 2

주문결제 모니터링 Datadog 적용기

2022.09.28

안녕하세요! 올디브에서 주문결제 관련 업무를 맡은 호랭이아빠 입니다.

오늘은 지난번 우뱅님의 올리브영 결제 이야기 Part-1에 이어 두 번째 시간입니다.


들어가며

올리브영이 지속해서 성장하는 만큼 주문결제 시스템의 상태 현황과 이상 여부 등을 실시간으로 모니터링할 수 있는 필요성도 나날이 커지고 있었습니다.

오류가 발생하는 것을 원천적으로 차단하기는 힘들지만, 실시간 모니터링을 통해 오류 발생 시 영향 범위를 최소화하고 빠르게 복구하여

고객의 불편을 줄이는 것이 고객과의 서비스 신뢰를 지키는 방법이기 때문입니다.

이런 상황에서 Datadog을 활용하여 올리브영 주문 결제 정보를 모니터링 대시보드를 구성하게 된 과정을 이야기하고자 합니다.


정상인지... 오류인지...

기존에는 주문 시스템 운영 담당자가 장애를 바로 인지하지 못하면 고객센터로 인입되는 문의를 통해 뒤늦게 알게 되는 경우가 많았습니다.

그중 장애를 바로 인지하기 어려웠던 이유 중 하나는, 장애 탐지를 위해 받던 주문 실패 문자에 다음과 같은 문제들이 있었습니다.

  • 온라인몰의 장애인지 PG사의 장애인지 바로 판단이 어려움
  • 해당 실패 건수에는 정상적인 실패 건수도 포함되어 있음
  • 문자폭탄에 정신이 혼미해짐...😱

01

주문실패 문자폭탄...

이런 거 만들어 봅시다

주문결제 스쿼드에서는 PG 전환을 위해 개발이 한참이던 중에 PO님께서 과제를 내주셨습니다. 그것은 바로 결제 모니터링 대시보드 만들기!

그 당시 인프라 담당자가 Datadog을 도입하기 위해 검토중에 있었고, Datadog으로 아래와 같은 여러 항목을 모니터링 대시보드에 담고자 했습니다.

  • 단계별 실패 감지
    • 주문서 진입, 결제창 호출, 인증/승인, 주문 완료
  • 기준별 항목
    • 채널별 : MW, APP(iOS/AOS), PC
    • 운영체제/브라우저별
    • 결제 수단별 : 신용카드, 네이버페이, 카카오페이, 계좌이체....
  • 기타 등등

이런 모니터링 대시보드 만들어주세요... (출처:GIPHY)

로그 남기기

대시보드를 구현하기 위한 첫 번째 단계로 로그를 추가하였습니다.

로그는 KEY=VALUE 패턴으로 추가하여 Datadog에서 로그를 검색할 때 쉽게 찾을 수 있도록 하였습니다.

특히 결제 수단과 결제 진행상태 항목의 KEY=VALUE 패턴 로그 추가로 쉽게 현재 상황을 모니터링할 수 있게 되었습니다.


03

결제수단=카카오뱅크 결제 진행상태=승인 완료 로그 조회 결과

대시보드 생성하기

Datadog에서는 대시보드에서 여러 위젯을 제공합니다.

여러 위젯중에서도 Timeseries와 Query Value 위젯을 이용하여 대시보드를 구현하였습니다.

대시보드는 회사 내부에서 사용하는 것뿐만 아니라 Sharing 기능을 통해 외부 사용자에게도 공유가 가능합니다.


04

주문결제 대시보드

슬랙으로 알람받기

이렇게 구현한 모니터링을 실시간으로 알람 받지 못한다면 소용이 없겠죠?

Datadog은 여러 채널로 알람이 가능합니다. 그중에서 협업 기능이 강한 슬랙을 이용하여 알람을 받아봅니다.

06

슬랙을 사용함으로써 모니터링 결과에 대한 공유 및 대응을 빠르게 할 수 있습니다.


하지만... 07

문자폭탄 끝... 슬랙폭탄 시작... 응??? (농담입니다.. 농담...)


마치며

Datadog에서 제공하는 문서를 보면 여러가지 기능들을 확인 하실 수 있습니다.

관심있으신 분들은 Datadog Dos를 참고하시기 바랍니다.

주문결제 대시보드도 처음에는 무식하게(?) 로그를 분석하여 구현하였지 현재는 Grok Parser를 사용하여 좀 더 쉽게 로그에서 속성을 추출하여 사용하려 개선중에 있습니다.

그 외에도 주문결제에는 신규 서비스 개발 및 기존 프로세스 개선 등 크고 작은 일들이 많습니다.

저희와 함께 이러한 재미있는 업무를 하실 분들을 찾고 있습니다. 많은 지원 부탁 드립니다.

올리브영 온라인몰 백엔드 개발자(주문/결제) 지원

그럼 다음에 Part-3에서 만나요! 😀

OrderPaymentMonitoringDatadog
올리브영 테크 블로그 작성 올리브영 결제 이야기 Part - 2
😳
호랭이아빠 |
Back-end Engineer
호랭이 아들의 육아에 울고웃는 아재 개발자입니다.