Cheering on coworkers: Building culture with Datadog dashboards (새 탭에서 열림)
6일 동안 850km를 달리는 동료의 도전을 응원하기 위해, 실시간 레이스 데이터를 수집하고 Datadog 대시보드로 시각화한 프로젝트 사례를 소개합니다. 파이썬을 활용한 웹 스크래핑과 Datadog의 메트릭 전송 기능을 결합하여, 멀리 떨어진 사무실에서도 실시간으로 선수의 순위와 주행 거리를 확인할 수 있는 모니터링 환경을 구축했습니다. ### 웹 스크래핑을 통한 데이터 추출 * 레이스 이벤트 웹사이트에서 일반 HTML 형태로 제공되는 주자들의 통계 데이터를 소스로 활용했습니다. * Python의 **Requests** 라이브러리를 사용하여 웹페이지의 HTML 코드를 가져오는 크롤러를 구현했습니다. * 가져온 HTML 데이터에서 실시간 순위, 총 주행 거리 등의 핵심 정보를 추출하기 위해 **BeautifulSoup** 라이브러리를 사용해 파싱 작업을 수행했습니다. ### StatsD를 활용한 메트릭 전송 * 추출한 데이터를 Datadog 에이전트와 **StatsD**를 통해 시스템으로 전송했습니다. * 선수의 주행 거리(`runner.distance`), 현재 순위(`runner.ranking`), 경과 시간(`runner.elapsed_time`)을 각각 **Gauge** 타입의 메트릭으로 정의했습니다. * 각 메트릭에 주자의 이름을 태그(`tags=["name:%s"]`)로 추가하여, 대시보드에서 특정 주자의 데이터를 쉽게 필터링하고 구분할 수 있도록 구성했습니다. ### 대시보드 시각화 및 결과 * 수집된 메트릭을 기반으로 실시간 영상 스트리밍과 재미를 위한 GIF 파일, 그리고 주요 지표들이 포함된 종합 대시보드를 제작했습니다. * 뉴욕과 파리 사무실 곳곳에 이 대시보드를 공유하여, 전 직원이 실시간으로 레이스 상황을 지켜보며 동료를 원격으로 응원할 수 있는 환경을 만들었습니다. 이 사례는 IT 인프라뿐만 아니라 외부의 실시간 데이터를 Datadog과 연결하여 조직 내 이벤트를 흥미롭게 공유하고 구성원들의 참여를 끌어낼 수 있음을 잘 보여줍니다. 데이터 수집부터 시각화까지의 과정이 비교적 간단하므로, 조직 내 다양한 온/오프라인 이벤트를 추적하는 데 응용해 볼 것을 추천합니다.