OPENMARU APM 활용 사례로 이해하는 쿠버네티스 모니터링
클러스터의 안정성, 성능, 보안을 유지하기 위해서는 쿠버네티스 모니터링이 필수입니다.
국내 최초 OpenShift & Kubernetes 모니터링 솔루션인 OPENMARU APM을 활용한 쿠버네티스 모니터링 사례를 알아봅니다.
모니터링 방식의 변화
쿠버네티스 모니터링의 중요성이 부각된 주요 이유는 클라우드 네이티브 환경의 발전과 마이크로서비스 아키텍처의 확산입니다.
기존의 모놀리식 아키텍처에서 마이크로서비스로의 전환은 개별 서비스의 독립적인 배포와 운영을 가능하게 했지만, 동시에 모니터링의 복잡성을 크게 증가시켰습니다.
해마다 발간되는 클라우드 네이티브 컴퓨팅 재단(CNCF) 보고서에 따르면, 기업들이 여전히 직면하는 컨테이너 환경의 가장 큰 문제점도 ‘복잡성’, ‘보안’, ‘모니터링’입니다.
2023년 CNCF 연례 설문조사에서 44%의 조직이 아직 프로덕션 환경에서 쿠버네티스를 사용하지 않는 것으로 나타났지만, 2025년까지 새로운 디지털 워크로드의 95% 이상이 클라우드 네이티브 인프라에 배포될 것으로 예상하는 가트너의 전망을 보면 쿠버네티스의 성장 가능성은 무궁무진할 것으로 보입니다.
클라우드 네이티브 전환 추세로 인한 쿠버네티스 모니터링의 중요성과 이점에 대해서 자세히 알아보겠습니다.
왜 쿠버네티스 모니터링이 더욱 중요해질까요?
쿠버네티스(Kubernetes)는 애플리케이션의 배포, 확장, 관리를 자동화하는 데 널리 사용되는 오픈 소스 플랫폼입니다. 클러스터의 규모가 커지고 애플리케이션의 복잡성이 증가함에 따라, 시스템의 상태를 실시간으로 통합 모니터링하는 것이 필요한데요. 쿠버네티스 모니터링은 단순한 로그와 메트릭 수집을 넘어, 클러스터의 성능과 안정성을 유지하는데 중요한 역할을 합니다.
- 동적 인프라 관리 : 컨테이너화된 애플리케이션은 필요에 따라 생성되고 삭제되며, 이에 따라 인프라의 상태가 끊임없이 변화합니다. 정적인 서버 모니터링 방식으로는 이러한 동적 환경의 관리가 불가능해졌습니다.
- 클러스터 안정성 유지 : 쿠버네티스 모니터링은 클러스터 내에서 발생하는 노드 다운타임, 파드(Pod) 실패, 네트워크 장애와 같은 이슈를 모니터링합니다. 이슈사항은 이메일, 문자, 슬랙 등으로 자동화된 알림을 받을 수 있으며, 문제 발생 시 빠르게 대처할 수 있습니다. 이러한 과정은 서비스의 가용성을 높이고, 장애로 인한 손실을 최소화하는 데 필수적입니다.
- 성능 최적화와 리소스 관리 : 쿠버네티스 모니터링을 통해 CPU, 메모리, 네트워크 사용량 등 다양한 리소스 메트릭을 추적할 수 있습니다. 이를 통해 리소스의 과도한 사용이나 비효율적인 자원 배분을 실시간으로 감지하여 최적화할 수 있습니다.
- 보안 강화 : 비정상적인 트래픽, 권한 없는 접근 시도, 취약한 컨테이너 이미지 사용 등을 탐지하고 경고함으로써, 클러스터의 보안을 강화할 수 있습니다.
쿠버네티스 주요 모니터링 요소 3가지
쿠버네티스 모니터링에서는 메트릭, 추적, 로그를 기반으로 전체 시스템의 상태를 더욱 효과적으로 모니터링하고 관리할 수 있어야 합니다.
- Metric : 시스템의 전반적인 상태를 나타내는 지표입니다. Prometheus, OPENMARU APM와 같은 도구를 사용하여 클러스터의 리소스 사용량(CPU, 메모리 등), 요청 속도, 에러율 등을 실시간으로 모니터링합니다. 이는 시스템의 “건강” 상태를 빠르게 파악하고 이상 상태를 조기에 감지할 수 있도록 도와줍니다.
- Trace : 애플리케이션 내 요청의 경로를 추적하여 서비스 간의 호출 관계와 지연 시간을 분석합니다. 분산된 마이크로서비스 환경에서 각 요청이 시스템을 통과하는 과정을 이해하고, 병목 현상이나 지연 시간을 시각화합니다. 이를 통해 성능 병목을 찾고 최적화할 부분을 명확히 할 수 있습니다.
- Log : 시스템의 동작 상태를 상세히 기록한 데이터로, 오류 메시지, 경고, 상태 변환 등을 포함합니다. 특히 오류 메시지, 경고, 상태 전환 등을 자세히 기록하여 문제의 원인을 정확히 파악할 수 있습니다. 특정 임계치를 초과할 경우에는 자동으로 알림을 보내는 시스템을 구축할 수 있어 빠른 대응이 가능합니다.
활용 사례로 쿠버네티스 모니터링 이점을 알아보자!
(사용된 모니터링 도구 : OPENMARU APM)
- OPENMARU APM은 국내 최초 도커 모니터링을 시작으로 쿠버네티스 모니터링까지, 복잡한 애플리케이션 환경에 최적화된 모니터링 도구입니다.
- OPENMARU APM과 같은 모니터링 도구는 이러한 메트릭, 트레이스, 로그 데이터를 통합 분석하고 클라우드 네이티브 환경에서의 성능 최적화와 문제 해결을 지원한 다양한 활용사례를 보유하고 있습니다.
사례1 – 어플리케이션 성능 최적화 및 오류 감지
대규모 마이크로서비스 기반 애플리케이션 운영 중 성능 저하나 오류 발생 시 원인 파악이 어려운 상황에 OPENMARU APM을 사용하여 대시보드를 통해 시각적으로 장애를 즉각적으로 파악한 사례입니다.
- 상황 : MSA 환경에서 어플리케이션 운영 중 성능 저하 발생 확인 및 원인 분석
- N 기업에서는 여러 서비스를 MSA 환경에서 운영 중
- OPENMARU APM 대시보드에 운영 중인 서비스가 계속적으로 빨간색으로 표시가 되는 것을 확인함
- 그룹/인스턴스 토폴로지 맵 메뉴를 활용하여 문제 발생을 즉각 인지하고 어떠한 구간에서 호출이 지연 되었는지 또는 어떤 서비스에서 성능 저하가 발생했는지 등 상세한 원인 파악함
- 그룹/인스턴스 토폴로지 맵 메뉴에서 MSA 환경으로 운영중인 많은 서비스들의 구조/호출 관계와 호출 시간, 서비스 상태 등을 한 눈에 시각적으로 파악함
- 그 중 회원 관리 서비스가 빨간색으로 표시되는 것을 확인함
- 회원 관리 서비스를 클릭하여 발생한 상세 로그들을 분석하며 원인을 서버에 직접 접속하지 않고 빠르게 확인함
1. APM 대시보드 화면 확인
2. 그룹 토폴로지 맵 확인
3. 인스턴스 토폴로지 맵
4. 트랜잭션 맵 – 상세 원인 분석(호출 구조 및 지연 원인 파악)
사례2 – 자동화된 스케일링 및 복구 관리
트래픽 급증으로 인해 서비스가 불안정해질 때, 자동 스케일링이 적절히 작동하지 않거나 복구가 지연되는 경우에 OPENMARU APM의 이벤트 알림으로 장애 상황에 신속하게 대응한 사례입니다.
- 상황 : CPU, Memory, Disk 와 같은 리소스 부족으로 인해 POD 오토스케일링에 실패한 상황
- 4개의 쿠버네티스 컨테이너 (POD) 로 운영 중인 결제 서비스(bill)
- 결제 서비스에 급격하게 트래픽이 증가하여 서비스 부하가 발생함
- 서비스 부하 시에 특정 임계치를 설정하여 POD 해당 값에 도달하면 Auto Scaling 이 되도록 사전 설정함
- 5번째 POD가 성공적으로 Auto Scaling이 되었지만 부하 분산이 되지 않아 6번째 POD를 생성하는 Scaling 작업이 이루어지는 과정에서 실패함
- OEPNMARU APM 에서 Auto Scaling 실패에 대한 이벤트 알람 수신이 운영자에게 발송됨 (이메일, Slack, SMS)
- 다양한 채널을 통해 장애 상세 내용을 받아보고 즉각적으로 장애 상황을 인지하여 짧은 시간 내에 문제를 해결함
1. OPENMARU APM 에서 쿠버네티스 Auto Scaling 성공/실패에 대한 이벤트 알람 출력
2. 쿠버네티스 장애 상황으로 인해 이벤트 발생 시 email 알람 전송/확인
3. 쿠버네티스 장애 상황으로 인한 이벤트 발생 시 slack 알람 전송/확인
사례3 – 배포 및 업데이트 관리
새 버전 배포 후 성능 저하나 서비스 중단 등 예상치 못한 문제가 발생하는 경우에 OPENMARU APM의 SLA 기능으로 신속한 장애 상황 파악하고 대응한 사례입니다.
- 상황 : 통계 서비스 새 버전 배포 후 서비스 중단 확인
- A 기업에서 현재 운영 중인 통계 서비스에 신규 기능이 필요하여 개발 진행 후 새로운 버전을 배포하는 작업이 요구됨
- 새로운 버전 배포 시 발생할 수 있는 성능 저하나 서비스 중단에 대한 장애 상황을 신속하게 파악하고 대응하기 위해 SLA 모니터링 메뉴를 활용함
- SLA 모니터링 메뉴에서 새로운 버전에 대한 정보들을 입력 후 통계 서비스의 새로운 버전에 대한 상태를 SLA 대시보드 화면에서 확인함
- 통계 서비스 배포 후 SLA 대시보드 화면에서 모니터링을 진행하였고 상태와 응답 시간 등 여러 지표를 확인하면서 새로운 버전에 대한 문제가 발생한 것을 바로 확인함
- 기존에 운영 중인 서비스에도 서비스 중단이나 응답 시간이 지연되지는 않았는지에 대한 여부도 날짜 검색을 통해 확인함
- 다수의 서비스를 운영 중인 시스템에서 서비스에 대한 상태를 한 번에 확인함
- 따라서, 서비스 중단에 대한 상세 정보들을 제공하여 운영자 입장에서 정보 파악을 하기 위한 별도의 시간이 소요되지 않아 그만큼 장애 시간을 절약함
1. SLA 대시보드 – 통계 서비스 신규 버전 배포 후 모니터링
2. 상세 정보 확인 – 통계 서비스 새로운 버전 배포 후 서비스 중단에 대한 상세 정보 확인
3. 상세 정보 확인 – 기존 운영중인 서비스에 대한 상세 정보 확인
마무리하며
위에서 언급했듯이 동적이고 복잡한 클라우드 네이티브 환경에서 안정적인 서비스 운영을 위해, WAS 중심에서 애플리케이션 중심으로 변화한 모니터링 패러다임을 이해하고 이를 효과적으로 구현하는 것이 중요합니다.
이번 포스팅에서는 클러스터의 안정성, 성능, 보안을 유지하는 데 필수적인 요소인 쿠버네티스 모니터링을 OPENMARU APM 제품을 통해 알아보았는데요.
만약, 클라우드 네이티브 애플리케이션의 안정적인 운영과 최적화에 고민하신다면, OPENMARU APM에 대해 알아보시길 추천드립니다.
국내 최초 OpenShift & Kubernetes 모니터링 솔루션인 OPENMARU APM에 대한 궁금한 사항은 언제든 연락주세요!
📞 02-469-5426 | ✉️ sales@opennaru.com
온-나라 문서 2.0 시스템을 위한 오픈마루 APM
/in APM/by 실장 님클라우드와 오픈소스 S/W 최적화된 “ 한 달간 무료로 APM 제공”
/in APM/by 실장 님APM ( Application Performance Management : 애플리케이션 성능 관리) 란?
/in APM/by 실장 님