Anomaly Detection and Root Cause Analysis for Microservice Systems
본 논문은 서비스 호출 그래프를 요구하지 않으면서 다양한 관측 가능성 데이터를 활용하는 새로운 엔드 투 엔드 프레임워크(BARO, EventADL, TORAI)를 통해 다섯 가지 주요 한계점을 해결함으로써, 마이크로서비스 시스템을 위한 자동화된 이상 탐지 및 근본 원인 분석 기술을 발전시키고, 이와 함께 RCAEval 벤치마크 도입과 체계적인 평가를 통해 향후 연구를 표준화한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
인터넷을 거대한, 북적이는 도시라고 상상해 보세요. 여러분이 사용하는 모든 앱은 서로 다른 동네와 같습니다. 옛날에는 이 동네들이 하나의 거대한 성벽 도시(즉, "모놀리스")의 일부였습니다. 만약 빵집에 불이 나면 도시 전체가 암흑에 빠질 수도 있었지만, 적어도 어디를 찾아봐야 할지는 정확히 알 수 있었습니다. 하지만 오늘날 우리는 이 도시를 "마이크로서비스"라고 불리는 수천 개의 작고 독립적인 마을들로 대체했습니다. 이 마을들은 여러분의 온라인 쇼핑이나 비디오 스트리밍이 원활하게 작동하도록 서로 끊임없이 대화합니다. 문제는 무엇일까요? 만약 이 작은 마을 중 하나에 결함이 생기면, 그것이 파급 효과를 일으켜 도시 전체를 무너뜨리고 로딩 속도를 늦추거나 완전한 블랙아웃을 일으킬 수 있다는 점입니다. 이 디지털 도시를 계속 운영하기 위해 엔지니어들은 매우 똑똑한 탐정처럼 행동해야 합니다. 그들은 무언가 잘못된 순간을 포착하고(이를 "이상 탐지"라고 합니다), 정확히 어떤 마을이 문제를 일으켰는지(이를 "근본 원인 분석"이라고 합니다) 알아내야 합니다. 하지만 초당 수백만 개의 데이터 포인트—트래픽 수, 전력 사용량, 에러 메시지 등—가 날아다니는 상황에서, 인간이 수동으로 건더기 속에서 바늘을 찾는 것은 불가능합니다.
Qui Luan Pham이 작성한 이 논문은 이러한 디지털 도시를 위한 자동화된 탐정 시스템을 구축하는 과제를 다룹니다. 저자는 대부분의 기존 탐정 도구들이 결함이 있다고 주장하는데, 그 이유는 "문제를 포착하는 것"과 "범인을 찾는 것"을 별개의 작업으로 취급하며, 첫 번째 작업이 완벽하게 수행되었다고 가정하기 때문입니다. 실제로 자동 탐지 도구들은 노이즈 때문에 혼란을 겪거나 타이밍을 약간 어긋나게 하여 조사 전체를 망치곤 합니다. 또한, 이 논문은 많은 기존 도구들이 마을들이 어떻게 연결되어 있는지에 대한 완벽한 지도를 가지고 있다고 가정하지만, 현실 세계에서는 그러한 지도를 얻는 것이 불가능한 경우가 많다고 지적합니다. 이를 해결하기 위해 저자는 세 가지의 더 똑똑한 새로운 탐정 도구와 이를 테스트하기 위한 거대하고 표준화된 "훈련장"을 개발했습니다.
세 가지 새로운 탐정 도구
이 논문은 각각 다른 종류의 단서와 서로 다른 수준의 데이터 불확제로 대응하도록 설계된 세 가지 구별된 방법을 소개합니다.
1. BARO: 메트릭 탐정
"메트릭"을 시스템의 생체 신호라고 생각해보세요: 심박수(CPU 사용량), 호흡 속도(지연 시간), 체온(에러율) 같은 것들입니다. 첫 번째 도구인 BARO는 이러한 생체 신호를 읽도록 설계되었습니다. 이전의 탐정들은 심박수를 보고 "심장마비다!"라고 외친 뒤, 경보가 100% 정확하다고 가정하고 즉시 원인을 찾으려 했습니다. BARO는 다릅니다. BARO는 경보가 흔들릴 수 있다는 것을 알고 있습니다. 이 도구는 "다변량 베이지안 온라인 변화점 탐지(Multivariate Bayesian Online Change Point Detection)"라는 특수한 통계 기법을 사용하여 모든 생체 신호가 함께 어떻게 움직이는지 관찰합니다. 만약 심박수는 치솟는데 호흡은 차분하다면, 그것은 단순한 오보일 수 있습니다. 하지만 모든 것이 함께 변한다면, 진짜 문제가 발생했음을 인지합니다. 설령 경보가 몇 초 일찍 혹은 늦게 울리더라도, BARO는 "강건한 스코어러(Robust Scorer)"를 가지고 있어 여전히 어떤 마을이 범인인지 찾아낼 수 있습니다. 이는 마치 목격자가 범행 시간을 약간 불확실하게 말하더라도 사건을 해결할 수 있는 탐정과 같습니다.
2. EventADL: 이벤트 탐정
생체 신호도 훌륭하지만, 때로는 진짜 단서가 "이벤트"—예를 들어 "사용자 X가 파일을 삭제함" 또는 "서버 Y가 재시작됨"과 같은 구체적인 행동—에 있을 때가 있습니다. 대부분의 기존 도구들은 이러한 이벤트 로그를 무시하거나 이를 정리되지 않은 텍ert(text)처럼 취급했습니다. EventADL은 이벤트를 구조화된 이야기처럼 다루는 최초의 도구입니다. 이 도구는 한 주요 클라우드 기업의 실제 사례 520건을 분석하여 학습되었습니다. 이 도구는 누가, 무엇을, 어떤 리소스에 했는지에 대한 패턴을 찾습니다. 예를 들어, 특정 보안 그룹이 삭제된 직후 서버가 시작되지 못하는 패턴을 포착할 수 있습니다. 이 도구는 "인터벤션 그래프(Intervention Graph)"라는 "스토리 맵"을 구축하여 하나의 행동이 어떻게 재앙으로 이어졌는지 정확히 보여줍니다. 이 도구는 "오픈 박스(open-box)" 방식으로, 단순히 "무언가 잘못되었다"라고 말하는 데 그치지 않고 왜 그런 일이 일어났는지에 대한 이야기를 설명해주어, 인간 엔지니어가 이를 신뢰하고 수정하기 훨씬 쉽게 만듭니다.
3. TORAI: 멀티모달 탐정
현실 세계에서는 가끔 지도의 일부가 누락되기도 합니다. 어떤 마을들은 "블라인드 스팟(사각지대)"입니다. 예를 들어, 오래되었거나 제3자가 운영하고 있어서 내부 로그나 트레이스(trace)를 볼 수 없는 경우입니다. 대부분의 도구는 전체 지도를 볼 수 없으면 완전히 실패합니다. TORAI는 깨진 지도에서도 작동하는 궁극의 탐정입니다. 이 도구는 사용 가능한 모든 단서, 즉 생체 신호(메트릭), 행동 로그(이벤트), 그리고 확보할 수 있는 소수의 트레이스를 결합합니다. 이 도구는 서비스들을 증상의 "심각도"에 따라 그룹화하고 "인과 관계 랭킹(causal ranking)"이라는 방법을 사용하여, 모든 연결을 다 볼 수 없더라도 근본 원인을 찾아냅니다. 이는 마치 목격자가 절반쯤 사라진 상황에서도 남겨진 몇 안 되는 단서들을 조합해 미스터리를 풀 수 있는 탐정과 같습니다.
훈련장: RCAEval
이 새로운 탐정들이 실제로 기존의 것들보다 뛰어난지 증명하기 위해, 저자는 단순히 몇 번의 테스트를 수행한 것이 아닙니다. 저자는 이 분야를 위한 최초의 표준화된 "훈련장"인 RCAEval을 구축했습니다. 그 전에는 모든 연구자가 각기 다른 데이터셋과 규칙을 사용했기 때문에, 누가 실제로 더 나은지 비교하는 것이 불가능했습니다. RCAEval은 세 가지 서로 다른 디지털 도시를 아우르는 735개의 다양한 실패 시나리오 라이브러리와, 경쟁 상대가 될 15가지의 서로 다른 "베이스라인" 탐정 방법들을 제공합니다. 이는 마치 모든 러너가 공정하게 평가받을 수 있도록 표준화된 올림픽 트랙을 만드는 것과 같습니다.
테스트 결과
저자는 BARO, EventADL, TORAI를 이 벤치마크 시스템에서 엄격하게 테스트했습니다.
- BARO는 초기 경보가 약간 부정확하더라도 근본 원인을 찾는 데 있어 기존 방식들을 지속적으로 능가했습니다. 이는 타이밍 오류에 대해 강건하게 대응하는 것이 얼마나 중요한지를 입증했습니다.
- EventADL은 구조화된 이벤트를 살펴보는 것이 판도를 바꾸는 게임 체인저임을 보여주었으며, 이상 탐지와 설명 모두에서 매우 높은 정확도를 달양했습니다.
- TORAI는 완벽한 지도가 없어도 미스터리를 풀 수 있다는 것을 입증했습니다. 시스템의 일부가 보이지 않는 상황에서도 근본 원인을 찾아낼 수 있었습니다.
그러나 논문은 모든 기존 방식이 동일하게 우수하지는 않다는 점도 발견했습니다. 저자는 21가지의 서로 다른 "인과 추론(causal inference)" 방법(원인과 결과 관계를 파악하려는 도구들)에 대해 대규모 연구를 실시했습니다. 그 결과, 많은 인기 있는 도구들이 시스템 규모가 커지거나(서비스 200개 이상) 데이터가 지저받을 때 어려움을 겪는다는 것을 발견했습니다. 일부 방법은 매우 느려서 몇 초 안에 해결해야 할 문제를 해결하는 데 몇 시간이 걸리기도 했고, 데이터가 완벽하지 않으면 완전히 실패하기도 했습니다.
결론
이 논문은 디지털 도시를 고치는 미래가 다양한 유형의 단서(메트릭, 이벤트, 트레이스)를 결합하고, 불완전한 데이터를 처리할 수 있을 만큼 강력한 도구를 구축하는 데 달려 있음을 시사합니다. 저자는 단순히 새로운 도구를 발명한 것이 아니라, 이를 공정하게 테스트할 수 있는 인프라를 구축했습니다. 이 논문이 세상의 모든 문제를 해결했다고 주장하는 것은 아니지만, 이 분야를 "추측"에서 "확신"으로 옮겨놓는 견고하고 재현 가능한 토대를 제공합니다. 적절한 통계적 기법과 모든 유형의 데이터를 살펴보려는 의지가 있다면, 우리는 그 어느 때보다 빠르게 스스로를 감지하고 고칠 수 있는 시스템을 구축할 수 있음을 보여줍니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.