AI Briefing

카카오, KHP 모니터링 시스템 2부 공개… 룰 기반 알림과 유연한 API 구현

·2022.12.19 00:00

핵심 내용

상용 솔루션의 한계를 극복하기 위해 자체 개발한 Ruby 기반 모니터링 코드와 알림 관리 기능을 상세히 소개했다.

1 / 6

자세히 보기

카카오의 하둡 운영 조직은 KHP 시스템의 모니터링 및 알림 체계를 공개하며, 기존 상용 솔루션이 만족하지 못했던 유연성과 운영 효율성 문제를 해결한 과정을 설명했다. 소수 인원이 100개 이상의 클러스터를 관리하는 환경에서 발생하는 '양치기 소년 효과'와 알림 피로도를 줄이기 위해, 임계치 조정, 알림 지연 및 묶음 발송, 채널 다각화 등을 지원하는 중앙 관리 서버 KHP Server를 구축했다.

코드로 구현하는 유연한 모니터링

KHP는 단순한 테이블 형식의 룰 정의 대신 Ruby 기반의 코드로 모니터링 로직을 작성하는 방식을 채택했다. 이는 여러 메트릭의 산술 연산, 클러스터별 상이한 임계치 적용, 비메트릭 조건 분기 등 복잡한 운영 요구사항을 충족하기 위함이다. 개발자는 all, max, sum 등 고수준 API를 통해 드루이드(Druid)의 메트릭을 조회하고, 이를 스칼라 값처럼 연산하여 임계치와 비교할 수 있다. 또한 w(warning)와 c(critical) 메서드를 통해 클러스터별 설정된 임계치를 참조하는 방식으로 관리의 편의성을 높였다.

로그 기반 모니터링과 알림 관리

로그 모니터링은 엘라스틱서치(Elasticsearch)의 조회 프로세스를 고수준 API로 추상화하여, 특정 패턴의 로그 발생 횟수를 메트릭처럼 다루는 방식으로 구현했다. log_count API 등을 활용해 복잡한 쿼리 없이도 '있다면' 또는 '많다면'의 조건으로 문제를 검출할 수 있다. 수집된 문제 상황은 카카오톡, 카카오 워크 등 다양한 채널로 발송되며, 플러그인 형태로 채널을 확장할 수 있다. 모든 발송 이력은 엘라스틱서치에 저장되어 통계 분석과 부적절한 룰 점검에 활용된다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.