Offcanvas

애플리케이션 / 클라우드

앱 로그 실시간 수집·분석… '애저 모니터' 살펴보기

2021.12.01 Simon Bisson  |  InfoWorld
클라우드 네이티브 앱은 많은 모니터링이 필요하다. 내재적으로 불안정한 것이 아니라 분산형 애플리케이션 개발의 동시성과 일관성 문제 때문에 추적과 재현이 어려운 버그가 발생할 수 있기 때문이다.

특히 통제가 불가능한 멀티테넌트 플랫폼을 기반으로 개발한 앱은 더 그렇다. 오토스케일링을 다루거나 애저 펑션(Azure Functions) 등의 서버리스 접근방식으로 서비스를 실행하는 앱은 관리하기가 더 어렵다.
 
ⓒ Getty Images Bank

이럴 때는 플랫폼에 내장된 네이티브 모니터링 기술과 함께 로그 및 지표를 분석하거나 데이터에 따라 자동으로 응답해 처리하는 도구가 필요하다. 이런 방식은 관찰가능성 플랫폼을 구축하기 위해 필요한 요소와 이를 최신 컨트롤 프레임워크로 바꾸기 위해 필요한 수단을 제공한다.

퍼블릭 클라우드는 전통적인 통제가 실패하는 대표적인 사례다. 기존 입력 방식으로 정확한 출력 상태를 정의해 통제하기가 매우 복잡하므로, 애플리케이션을 중심으로 전통적인 거버너(Governor)를 구축할 수 없다.

그래서 대신 사용할 수 있는 방법이 있다. 서비스의 출력을 이용해 내부 시스템의 상태를 판단한 후 인터넷이 이를 통제해 일련의 경계 조건 안에서 작동하는 최신 제어 이론 접근방식으로 전환하는 것이다.
 

애저 모니터의 소개

애저에서는 애저 모니터(Azure Monitor)가 이 역할을 한다. 앱과 서비스의 로그와 지표를 수집, 분석, 저장하는 도구다. 애저 모니터 기능의 상당 부분은 서비스를 켜고 리소스 그룹에 추가하는 즉시 활성화된다.

앱 인사이트(App Insights) 등의 도구를 사용해 애저 모니터 지원 코드를 모니터링하려는 앱에 추가하고 가상 인사이트에서 에이전트를 사용해 애저 플랫폼 서비스 관련 데이터를 가져올 수 있다. 많은 정보를 관리하는 데 도움이 되며, 특히 글로벌 규모로 코드를 실행하면 더 그렇다.

데이터는 실시간에 가까운 지표 또는 로그 파일로 수집되며, 여기에는 텔레메트리 데이터도 포함된다. 그 결과, 시점 및 시계열 정보를 제공하는 복합적인 데이터가 생성된다.

애저 모니터는 데이터를 확인하고 분석할 수 있는 대시보드뿐 아니라 관리 데스크톱을 위해 로직 앱(Logic Apps) 또는 파워 BI(Power BI)를 통해 자동화를 시작하는 등 다른 애플리케이션의 소스가 될 수 있는 API를 제공한다. 애저 포털(Azure Portal)에서 작업하는 경우 로그 애널리틱스(Log Analytics) 도구를 사용할 수 있다.

애저 모니터는 애저 애널리틱스 인사이트(Azure Application Insights), VM 인사이트(VM Insights), 컨테이너 인사이트(Container Insights)가 사용하는 분석 프레임워크를 제공한다. 이런 것은 개발 환경으로 확장하는 데 도움이 되며 IaaS(Infrastructure as a Service) 환경에서 코드, 쿠버네티스, 리눅스 및 윈도우 가상 머신으로 작업하기 위한 도구를 제공한다.

클라우드 애플리케이션은 해당 플랫폼, VM, 컨테이너 환경 등에서 호스팅 되는 서비스 및 IaaS, 플랫폼 애플리케이션, 코드로서 이질적인 복합 플랫폼이다. 모든 곳에서 데이터를 가져와 분석하고 적절한 경고를 생성할 수 있는 하나의 모니터링 환경을 확보하는 것이 합리적이다.

규칙을 사용해 다양한 경고를 가져와 특정 지표에 따라 애플리케이션에 적절한 경고를 제공할 수 있다. 심지어 특정 사용자에 경고를 보내 데이터베이스 지원 엔지니어가 데이터베이스 경고를 받고 인프라 경고가 사이트 신뢰성 엔지니어에게 전송되도록 할 수도 있다.

데브옵스(DevOps) 모델에 경고를 포함시키면 자동화된 시스템이 온라인 상태로 유지할 수 없을 때도 애플리케이션 탄력성을 확보한다. 또한, 규칙을 활용해 특정 작업을 자동화하는 것도 가능하다. 예를 들어, 응답시간이 떨어지거나 부하가 미리 설정한 한계를 초과할 때 서비스를 오토스케일링할 수 있다.

애저 서비스를 위해 애저 모니터를 활성화하는 것은 어렵지 않다. 모든 유형의 애저 리소스를 생성할 때마다 자동으로 활성화된다. 이런 기본적인 기능은 무료지만, 추가적인 로그 파일 수집 및 저장은 비용이 든다.

GB당 하루 2.99달러의 종량제를 선택하거나 100GB당 하루 219.20달러부터 5,000GB당 하루 9,016달러까지 일별 데이터 용량이 다른 다양한 요금제 중 하나를 고르면 된다. 고가 요금제는 로그 데이터를 많이 생성하는 대규모 사이트를 위한 것이다. 수집된 데이터는 최대 31일 동안 무료로 보관되며, 기간이 더 필요하면 GB당 월 0.13달러를 지불해야 한다.

단, 추가적인 사용자 정의 지표를 추가하거나 월 100만 회 이상 쿼리를 처리해야 한다면 추가 비용을 내야 한다. 매월 10회 이상의 경고와 설정된 수 이상의 경고에 대해서도 과금된다. 또한 자동화된 SMS 또는 음성 경고를 사용할 경우에도 추가로 결제해야 한다.
 

애저 모니터 활용하기

애저 모니터 포털 사용법은 간단하다. 애저 포털에서 모니터(Monitor)를 선택해 웹 보기를 연다. 개요(Overview) 페이지에 새 서비스가 표시되는데, 지표와 로그를 탐색할 뿐 아니라 경고를 설정하는 도구로도 이동할 수 있다.

지표를 보면서 애플리케이션에 대한 인사이트를 얻을 수 있다. 예를 들어, 애저 앱 서비스(Azure App Services)에서 실행 중인 애저 호스팅 웹 앱을 검토해 얼마나 많은 메모리와 CPU를 사용하고 있으며 어떤 응답 코드가 생성되고 있는지 등을 확인할 수 있다.

이를 구성하고 필터링해 애플리케이션용 대시보드를 구축할 수도 있다. CPU 사용량과 실패한 응답 사이에서 관련성이 있었는지도 살펴볼 수 있다. 선도표와 막대 그래프부터 값 그리드까지 일련의 차트 유형을 사용해 그래프를 구성할 수 있고, 차트를 생성해 애플리케이션 대시보드에 추가할 수 있다.

이 밖에도 유사한 도구로 로그 파일을 처리할 수 있으며, 마이크로소프트의 대규모 데이터 쿼리 언어인 '쿠스토(Kusto)'를 사용해 로그를 탐색할 수 있다. 쿠스토는 꽤 유용하다. SQL 같은 쿼리 언어를 사용하는 빅데이터 신속 쿼리 및 분석을 위해 고안됐다. 읽기 전용 도구이기 때문에 경험이 많지 않은 엔지니어가 데이터를 삭제하거나 편집할 걱정이 없다.

쿠스토를 이용하면 데이터를 처리해 활용하거나 시각화하는 것도 가능하다. 예를 들어, 2개의 타임 스탬프 사이에서 문제가 발생했다면, 쿠스토를 사용해 모든 로그 데이터를 정제하고 해당 시기에 관련된 것을 추출하도록 한다. 이후 로그 데이터를 파워 BI로 내보내 시각화할 수 있다.
 

지표에서 경고 생성하기

경고 생성 작업도 간단하다. 기본적인 워크플로를 사용해 모니터링할 리소스를 선택한 후 경고를 생성할 조건을 선택하면 된다. 예를 들어 애저 통계 웹 사이트를 사용하고 있다면 디펜더봇(DependaBot) 동작에 의해 깃허브(GitHub)에서 언제 업데이트되었는지 파악해야 할 수 있다. 그렇다면 이를 감지하는 규칙을 생성하고 적절한 엔지니어에게 자동화된 업데이트가 사이트에 등장했음을 알리는 이메일을 전송하도록 설정하면 된다.

이런 프로세스 전체가 상대적으로 단순하다. 애저 리소스를 생성할 때 설정된 기본 동작을 사용하기 때문에 대부분의 작업에 사용자 정의 동작을 추가할 필요가 없다.

마이크로소프트는 새로운 도구를 통해 서비스를 주기적으로 업데이트하며, 서비스 또는 기술에 대한 일반 액세스가 제공되는 즉시 함께 사용할 수 있는 다양한 툴을 내놓는 경우가 많다. 실제로 애저 모니터가 공개된 첫날부터 애저 앱 서비스의 닷넷 6를 지원했다.

정리하면, 애저 모니터는 데브옵스 및 사이트 신뢰성 엔지니어링 팀을 위한 좋은 도구이다. 추적할 지표와 함께 내장된 분석 도구를 이용하면 애플리케이션 실행 방식을 파악하기 위해 더 복잡한 도구를 구성하는 데 도움이 된다.

하지만 이것은 애저 클라우드 네이티브 애플리케이션 관리 스위트의 일부에 불과하다. 애저 모니터를 사용해 데이터를 수집, 분석, 처리하면 다른 도구로 이를 활용할 수 있다.

예를 들면 데이터를 보안 플랫폼에 내보내 발생 가능한 유출을 확인하거나 코그니티브 서비스(Cognitive Services) 기반 도구로 내보내 시스템 요구를 예측해 선제적으로 확장하고 일시적인 고장을 방지할 수 있다. editor@itworld.co.kr
추천 테크라이브러리

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.