안녕하세요. 올리브영에서 POS 시스템을 개발하고 있는 호두마루🐯입니다.
저는 지난 9년간 리테일 시스템, 그중에서도 매장에서 고객과 가장 가까이 맞닿아 있는 POS(Point of Sale) 시스템의 운영과 개발을 담당해왔습니다. 그리고 지금도 “더 안정적이고 유연한 시스템”을 만들기 위해 매일 고민하고 있습니다.
이번 글에서는 POS 시스템에 Datadog을 도입하면서 로그 수집과 모니터링 체계를 개선해 온 과정을 공유해 보려고 합니다. 단순한 도구 도입을 넘어, 실제로 현업 문제를 기술적으로 해결해 나간 여정이자, 운영 패러다임을 바꿔 간 이야기입니다.
POS 시스템은 무엇이고, 올리브영의 환경은 어떠한가?
POS는 고객이 결제를 진행하고, 포인트를 적립하거나 쿠폰을 사용하는 등 판매 시점 전반의 흐름을 책임지는 핵심 시스템입니다.
저희는 POS 단말기뿐 아니라 셀프계산대(SCO)도 함께 관리하고 있으며, 이러한 장비들은 전국 약 1,370개 매장에 총 3,500여 대가 설치되어 있습니다.
문제는, 이 장비들이 대부분 오프라인 매장에 설치되어 있어 네트워크가 항상 안정적으로 연결되기 어렵다는 점입니다.
즉, 네트워크가 간헐적으로 끊기거나 통신이 불안정한 상황이 빈번히 발생합니다. 이런 특성 때문에 기존의 서버 기반 모니터링 솔루션을 그대로 적용하기 어려웠습니다.
올리브영처럼 일평균 수백~수천 명의 유동 고객이 방문하고, 결제가 실시간으로 이루어져야 하는 리테일 환경에서는 운영 안정성이 매우 중요합니다.
작은 장애 하나가 곧 매장 운영에 직접적인 영향을 미치기 때문입니다.
이 글은 바로, 그런 문제의식에서 출발한 여정을 담고 있습니다.
매장 현장에서 들려오던 SOS 신호들
실제 매장에서 POS나 셀프계산대(SCO)에 오류가 발생하면, 고객의 결제가 지연되고 직원은 곧바로 대응에 나서야 합니다.
하지만 문제를 바로 인지하고 대응하는 일은 전혀 쉽지 않았습니다.
기존에는 장애가 발생해도 'POS 전담 기술 지원팀'을 통해 제보가 들어온 뒤에야 문제가 인지되었습니다.
이후 담당자가 원격 접속해 로그를 수집하고 분석하는 방식으로 대응했는데, 장비 한 대를 확인하는 데만 평균 5분 이상이 소요됐습니다.
복수 매장에서 동시에 장애가 발생하면, 즉각적인 대응은 사실상 불가능했습니다.
무엇보다 장비가 꺼져 있거나 로그가 삭제되면 문제 확인조차 할 수 없는 상황도 종종 발생했습니다.
“왜 항상 매장에서 연락이 오고 나서야 문제를 인식할 수 있을까?”
“대응하기 위해 때론 너무 많은 자원을 비효율적으로 쓰고 있는 건 아닐까?”
이러한 반복적인 한계 속에서, 우리는 지금의 방식으로는 더 이상 대응할 수 없다는 결론에 도달했습니다.
더욱 근본적인 변화가 필요하다는 판단 아래, 로그 수집과 모니터링 방식 자체를 다시 설계하기로 했습니다.
왜 Datadog이었을까? 솔루션 검토 과정과 선택 이유
문제를 해결하기 위해, 위 이미지 자료처럼 다양한 로그 수집 솔루션을 검토했습니다.
자체 서버 구축부터 여러 도구를 비교한 끝에,
최종적으로 Datadog을 선택하게 되었습니다.
- 이미 일부 사내 시스템에서 효과적으로 사용 중이었으며
- 운영 로그 모니터링, 매출 흐름 파악에 유리하다는 것이 입증된 상태였고
- 뛰어난 확장성, 통합성, 대시보드 구성 능력 이 주요 강점으로 작용했습니다.
특히 이 선택은, 단순히 적절한 도구를 고른 것을 넘어
전국 수천 개 매장과 수천 대의 장비가 분산된 오프라인 환경에서 Datadog을 운영한 드문 사례라는 점에서도 의미가 있었습니다.
POS 특성에 맞춘 구성
Datadog을 POS 환경에 적용하기 위해서는 해결해야 할 기술적 과제가 많았습니다.
우선, 전국에 분포한 3,500여 대의 POS 장비에 Datadog Agent를 설치하고, 로그를 Datadog 서버로 수집하는 구조를 만드는 것이 중요했습니다.
하지만 POS의 특수한 운영 환경 때문에 단순한 설치만으로는 해결되지 않았습니다.
폐쇄망에서 Public 망으로: 네트워크 아키텍처 상세
[POS 장비] → [매장 내부망] → [프록시 서버] → [Datadog 서버]
↓ ↓ ↓ ↓
3,500대 폐쇄망 환경 보안 게이트웨이 Public 클라우드
이 구조에서 가장 중요했던 것은 보안을 유지하면서도 실시간 데이터 전송을 보장하는 것이었습니다.
-
폐쇄망 구조
POS는 외부 인터넷과 단절된 전용 폐쇄망에서 운영되고 있으며, 반면 Datadog 서버는 Public 망에 자리 잡고 있습니다.
이를 해결하기 위해 중간에 프록시 서버를 구성, POS → 프록시 서버 → Datadog 서버 간 통신이 가능하도록 네트워크 구조를 설계했습니다. -
비표준 로그 포맷 표준화
기존 로그는 단순 텍스트 형태였기 때문에, Datadog에서 효과적으로 집계·분석이 어려웠습니다.
이에 따라 로그 포맷을 JSON 기반으로 정비하고, 파싱 및 시각화가 가능하도록 구조를 개선했습니다. -
선별 수집 구조 적용
모든 로그를 수집하면 오히려 노이즈가 많아지고 Agent 리소스 부담이 커질 수 있습니다.
그래서 사용자 이벤트와 오류 로그 중심으로 수집 대상을 선별하고, 당일 로그만 수집 경로에 남기도록 조정해 불필요한 데이터 처리 비용을 줄였습니다.
이러한 일련의 최적화 과정을 거쳐, Agent의 CPU 사용률을 평균 0.5% 이하, 메모리 사용량을 120MB 이하로 유지하며 안정적인 로그 수집이 가능한 구조를 완성할 수 있었습니다.
전국 3,500대 POS에 한 번에? 점진적 확산 전략
다음으로 고민한 부분은 설치 자동화였습니다.
전국 수천 대의 POS 장비에 수작업으로 Agent를 설치하는 것은 현실적으로 불가능했기 때문에, 기존에 사용 중이던 POS 원격 관리 솔루션의 스크립트 실행 기능을 활용하기로 했습니다.
설치 자동화를 위해 다음과 같은 작업을 진행했습니다:
-
Datadog Agent 설치 스크립트 작성
Agent를 자동으로 설치하고, 서비스 시작/중지를 제어할 수 있는 스크립트를 구현했습니다. -
설정 파일(.yaml) 원격 자동 배포 구성
로그 수집 대상이나 구성 변경 시 POS 원격 관리 솔루션을 이용해 각 장비의 설정 파일을 자동으로 변경하도록 구성했습니다. -
매장별 POS 장비 식별 체계 정립
각 매장의 POS 장비에서 수집되는 Datadog 로그를 정확히 식별할 수 있도록, Host 값을 매장 내 각 POS를 고유하게 구분할 수 있는 키로 설정했습니다.
이를 통해 어느 매장의 어떤 POS에서 발생한 로그인지 명확하게 구분할 수 있게 되었습니다.
이후 테스트 장비 → 일부 매장 → 전국 확산이라는 점진적 흐름을 따라 적용 범위를 넓혀 나갔고, 결과적으로 약 3,000대의 장비에 설치를 완료할 수 있었습니다.
설치 과정에서는 네트워크 과부하를 방지하기 위해 매장이 영업하지 않는 새벽 시간대에 분산 설치를 진행했습니다.
일부 구간에서 네트워크 임계치에 근접하는 순간도 있었지만,
영업시간 중에는 전혀 영향을 주지 않도록 안전하게 마무리할 수 있었습니다.
데이터가 증명하는 변화: 운영 패러다임의 전환
📊 Before & After 한눈에 보기
구분 | 도입 전 | 도입 후 | 개선률 |
---|---|---|---|
문제 탐지 시간 | 4분 30초 | 59초 | 76% 단축 |
사전 대응 건수 | 월 0건 | 월 3건+ | ∞% 증가 |
대응 주체 | 매장 제보 후 | 시스템 선감지 | 패러다임 전환 |
문제 인지 방식 | 사후 대응형 | 예방 중심형 | 운영 철학 변화 |
'POS 전담 기술 지원팀'보다 먼저 아는, 실시간 알람 시스템
이제는 우리가 먼저 문제를 인지합니다.
- 오류가 발생하면 Datadog에서 Slack으로 알람이 즉시 전송되어, 'POS 전담 기술 지원팀' 제보 없이도 문제를 빠르게 인지하고 선제적으로 대응할 수 있게 되었습니다.
- 그뿐만 아니라, 텍스트 로그 기반의 모니터링 구조를 활용해 오류 발생 이후 정상 복구 여부까지 자동으로 추적할 수 있도록 구성했습니다.
이제는 단순히 오류를 감지하는 것을 넘어, 발생부터 복구까지 전 과정을 하나의 흐름으로 모니터링할 수 있는 구조가 마련된 셈입니다.
숫자로 보는 운영 혁신
이러한 변화는 데이터로도 확실히 증명되었습니다.
-
⏱️ 문제 탐지 시간
기존에는 평균 4분 30초가 걸렸던 문제가, 이제는 59초 이내에 감지되며 약 76% 단축되었습니다. -
🧹 로그 품질 향상
로그가 중앙으로 집계되면서, 의미 없는 로그 패턴을 식별하고 제거할 수 있었고,
그 결과 오류 로그의 정확도가 높아지고, 문제의 원인을 더 빠르게 파악할 수 있게 되었습니다. -
📶 사전 대응 문화 정착
과거에는 네트워크, Database, OS 관련 문제는 대부분 사후에야 알 수 있었지만,
지금은 사전에 이상 징후를 감지하고 대응할 수 있게 되었고, 실제로 월평균 3건 이상의 선제적 조치가 이뤄지고 있습니다.
이제는 단순히 문제가 발생한 뒤 대응하는 것이 아니라, 발생 전에 감지하고, 감지된 문제의 원인을 빠르게 식별해 대응하는 구조를 갖추게 되었습니다.
모두가 함께 보는 운영 지표
Datadog 도입은 개발팀만을 위한 변화가 아니었습니다.
운영, 마케팅, CS, 영업, QA 등 여러 부서에서도
공통된 실시간 데이터를 기반으로 문제를 인지하고, 함께 대응할 수 있는 환경이 만들어졌습니다.
- 매출 추이, 결제 수단별 비율, 오류 발생 현황, POS 온라인 상태 등 다양한 정보를 실시간 대시보드로 시각화하여 제공하고 있고,
- 그 결과, 부서 간 커뮤니케이션은 더 원활해지고, 의사결정 속도도 훨씬 빨라졌습니다.
이제는 특정 팀만 보는 지표가 아닌, 모두가 함께 보고 함께 움직이는 운영 체계로 바뀌고 있습니다.
지금까지도 많은 변화가 있었지만, 저희는 여기서 멈추지 않고 다음 단계로 나아갈 준비를 하고 있습니다.
- 결제 흐름 로그 분석 고도화
전체 POS/SCO에서 수집된 로그를 바탕으로 결제 지연의 원인을 타임라인 기반으로 정밀 분석하고,
병목 구간을 정확히 찾아 개선 포인트를 도출하려 합니다. - 지능형 알람 시스템
단순히 오류 발생 여부만 알리는 데서 벗어나,
오류 발생의 추세나 빈도를 기반으로 이상 징후를 감지하는 시스템으로 알람 체계를 한층 더 고도화할 계획입니다.
2025년 5월, 이 사례를 Datadog 한국 사용자 모임에서 직접 공유했습니다.
POS라는 오프라인 환경에서 로그를 수집하고 모니터링 체계를 구축한 과정은 쉬운 도전은 아니었지만,
함께 고민하고 실행해 준 팀원들이 있었기에 가능했습니다.
🙌이 자리를 빌려 운영을 함께 만들어간 모든 팀원분께 진심으로 감사의 마음을 전합니다!
마무리하며: 더 똑똑한 POS 시스템을 향한 변화
“Datadog을 POS에 붙여보면 어떨까?” 하는 단순한 아이디어에서 시작했지만, 이 프로젝트를 통해 저희는 운영 방식 자체를 한 단계 끌어올릴 수 있었습니다.
- 기존의 반응형 운영에 머무르지 않고, 예방 중심의 운영 체계로 나아가기 위한 기반을 마련했으며,
- 실시간 데이터 분석을 통해 문제를 빠르게 인지하고 대응할 수 있는 운영 체계를 정립했습니다.
- 또한, 영업, 인프라, 보안팀과의 협업을 통해 시스템을 더 넓은 관점에서 바라보는 시야도 키울 수 있었습니다.
이러한 변화들이, 리테일 환경에서 비슷한 고민을 하고 계신 분들께 작은 아이디어나 시작점이 되어줄 수 있다면 참 좋겠습니다.🙌
올리브영 POS는 지금, 이 순간에도
전국 수천 개 매장에서 발생하는 데이터를 실시간으로 수집하고,
장애를 사전에 감지하면서
더 빠르고, 안정적인 리테일 시스템으로 계속 발전해 나가고 있습니다.
앞으로 저희가 만들어갈 변화들도 기대해 주세요!
감사합니다. 🙇🏻♀️