AZ-104 시험에서 모니터링 도메인은 전체의 10~15%를 차지합니다. 단순히 기능 이름을 외우는 것보다, '왜 이 도구가 필요한가'를 이해하면 훨씬 오래 기억할 수 있습니다.
---
Azure Monitor
Azure Monitor란 무엇인가요?
Azure Monitor는 자동차의 계기판과 같습니다. 운전 중에는 속도계, 연료 게이지, 엔진 온도 등 다양한 수치를 한눈에 확인합니다. 이상이 생기면 경고등이 켜지고, 기록도 남겨둡니다. Azure Monitor도 마찬가지입니다 — 클라우드에서 실행 중인 서버, 데이터베이스, 네트워크 등 모든 리소스의 상태를 실시간으로 확인하고, 문제가 생기면 알림을 보내고, 나중에 분석할 수 있도록 기록을 남깁니다.
왜 필요할까요? 클라우드 환경에서는 수십, 수백 개의 리소스가 동시에 실행됩니다. 이 중 하나라도 이상이 생겼을 때 사람이 일일이 확인하는 것은 불가능합니다. Azure Monitor는 이 모든 것을 자동으로 감시하는 '24시간 보안 요원' 역할을 합니다.
---
메트릭 (Metrics): 숫자로 보는 건강 검진표
메트릭은 리소스의 상태를 숫자로 표현한 데이터입니다. 예를 들어 CPU 사용률 75%, 메모리 사용량 4GB, 네트워크 수신량 초당 100MB 같은 식입니다.
사람으로 비유하자면 체온, 혈압, 맥박과 같습니다. 수치가 정상 범위 안에 있으면 건강한 것이고, 범위를 벗어나면 뭔가 이상이 있다는 신호입니다.
메트릭의 주요 특징:
자동 수집: 대부분의 Azure 서비스는 별도 설정 없이도 메트릭을 자동으로 수집합니다. 가상 머신을 만들면 Azure가 알아서 CPU, 메모리, 디스크 사용률을 기록합니다. 보존 기간: 수집된 메트릭 데이터는 93일 동안 보관됩니다. 더 오래 보관하려면 별도로 내보내야 합니다. 메트릭 탐색기: Azure Portal에서 메트릭 탐색기를 열면, 원하는 기간의 데이터를 꺾은선 그래프, 막대 그래프 등으로 시각화해서 볼 수 있습니다. 마치 스마트워치 앱에서 지난 한 달간의 걸음 수 추이를 보는 것과 같습니다.
실전 시나리오: 웹 서버가 갑자기 느려졌다는 신고가 들어왔습니다. 메트릭 탐색기에서 지난 1시간 CPU 사용률을 확인하니 오후 2시부터 95%로 치솟았습니다. 이제 원인 파악의 실마리를 찾은 것입니다.
---
로그 (Logs): 상세한 사건 일지
메트릭이 '숫자'라면, 로그는 '문장'입니다. "오후 2시 15분, 사용자 홍길동이 로그인했습니다", "오후 2시 16분, 파일 삭제 요청이 거부되었습니다" 처럼 무슨 일이 언제, 누가, 어떻게 했는지를 기록합니다.
사무실 출입 기록과 비슷합니다. 누가 몇 시에 들어왔고, 어느 방에 접근했으며, 어떤 행동을 했는지 상세히 남기는 것입니다.
로그는 기본적으로 Azure 리소스 내부에 머물러 있습니다. 이 로그를 분석하려면 진단 설정(Diagnostic Settings) 을 통해 Log Analytics 작업 영역으로 전송해야 합니다. 진단 설정은 '로그를 어디로 보낼지 지정하는 배송 주소' 라고 생각하면 됩니다.
!Metrics vs Logs
Log Analytics: 로그를 검색하고 분석하는 도구
Log Analytics는 로그 데이터를 저장하고 검색할 수 있는 공간입니다. 도서관에 비유하면, Log Analytics는 도서관이고 로그는 책입니다. 그리고 책을 찾기 위한 검색 시스템이 바로 KQL(Kusto Query Language) 입니다.
KQL은 SQL과 비슷한 쿼리 언어인데, 처음 보면 복잡해 보이지만 기본 패턴만 알면 충분합니다.
KQL 기본 구문 예시:
이 쿼리를 한국어로 풀면: — Azure 활동 로그 테이블을 열어라 — 최근 24시간 안에 생성된 것만 봐라 — 그 중에서 오류 수준인 것만 걸러라 — 리소스 그룹별로 몇 건인지 세어라
마치 엑셀 필터와 집계 기능을 명령어로 사용하는 것과 비슷합니다.
실전 시나리오: 어젯밤 누군가 리소스를 무단으로 삭제했다는 의심이 듭니다. Log Analytics에서 어제 오후 10시~자정 사이의 삭제 작업 로그를 KQL로 조회하면, 누가 어떤 리소스를 삭제했는지 정확히 찾아낼 수 있습니다.
---
경고 (Alerts): 이상 징후를 즉시 알려주는 알람
경고는 '특정 조건이 충족되면 자동으로 알림을 보내는 기능'입니다. 스마트폰의 알람 설정과 비슷합니다. "매일 오전 7시에 알람을 울려라"처럼, Azure 경고는 "CPU가 80%를 넘으면 나에게 이메일을 보내라"라고 설정하는 것입니다.
경고는 세 가지 구성 요소로 이루어집니다:
| 구성 요소 | 역할 | 비유 | |-----------|------|------| | 경고 규칙 | 어떤 조건에서 알림을 보낼지 정의 | 알람의 울리는 시간 설정 | | 작업 그룹 (Action Group) | 누구에게, 어떤 방식으로 알릴지 정의 | 알람이 울리면 무엇을 할지 | | 경고 처리 규칙 | 특정 기간에 알림을 억제하거나 조정 | 주말엔 알람 끄기 |
작업 그룹은 알림을 받을 방법과 대상을 묶어놓은 설정입니다. 이메일, SMS, 전화 통화 외에도 Webhook(다른 시스템으로 신호 보내기), Logic App, Azure Function 등을 통해 자동화된 대응도 할 수 있습니다. 예를 들어 CPU가 90%를 넘으면 자동으로 서버를 하나 더 추가하는 작업을 실행시킬 수도 있습니다.
경고 처리 규칙은 언제 알림을 보내지 않을지를 정하는 규칙입니다. 시스템 유지보수 시간에는 알림이 폭발적으로 올 수 있는데, 이때 경고 처리 규칙으로 알림을 잠시 억제할 수 있습니다.
실전 시나리오: 쇼핑몰 서버의 CPU 사용률이 80%를 넘으면 운영팀 전체에 이메일과 SMS로 알림을 보내고, 동시에 서버 자동 확장 스크립트를 실행하도록 설정할 수 있습니다.
---
Insights: 서비스별 맞춤 모니터링 대시보드
Insights는 특정 서비스에 최적화된 모니터링 화면입니다. 일반 메트릭 탐색기는 모든 데이터를 원하는 대로 조합할 수 있지만, 처음에는 무엇을 봐야 할지 막막할 수 있습니다. Insights는 '이 서비스를 모니터링할 때 가장 중요한 것들만 미리 정리해 놓은 맞춤 대시보드'입니다.
자동차 정비소마다 특화된 진단 장비가 있는 것처럼, 각 서비스마다 최적화된 Insights가 있습니다:
| Insights | 대상 서비스 | 주요 제공 정보 | |----------|------------|---------------| | VM Insights | 가상 머신 | CPU, 메모리, 디스크 성능 + 어떤 프로세스가 어떤 서버와 통신하는지 보여주는 종속성 맵 | | Storage Insights | 스토리지 계정 | 가용성, 응답 시간, 트랜잭션 현황 | | Network Insights | 네트워크 리소스 | 전체 네트워크 구성 토폴로지와 성능 현황 |
특히 VM Insights의 종속성 맵은 유용합니다. 가상 머신이 어떤 서버들과 통신하는지를 그림으로 보여주기 때문에, 장애 발생 시 영향 범위를 빠르게 파악할 수 있습니다.
---
Network Watcher
Network Watcher란 무엇인가요?
Network Watcher는 네트워크 문제를 진단하는 전문 도구 모음입니다. Azure Monitor가 전체적인 건강 상태를 보여준다면, Network Watcher는 네트워크 배관 문제를 집중적으로 파헤치는 '배관 전문가'입니다.
네트워크 문제는 눈에 보이지 않아서 특히 어렵습니다. "서버는 살아있는데 왜 접속이 안 되지?"라는 상황에서 Network Watcher의 도구들이 빛을 발합니다.
Network Watcher 주요 도구
IP 흐름 확인 (IP Flow Verify)
"이 트래픽이 방화벽(NSG)에 막히고 있는 건가요?"라는 질문에 답해주는 도구입니다. 특정 IP에서 특정 포트로 보내는 패킷이 허용되는지 차단되는지, 그리고 어떤 NSG 규칙 때문인지를 즉시 알려줍니다. 마치 보안 게이트에서 "이 카드로 이 문을 통과할 수 있나요?"라고 물어보는 것과 같습니다.
다음 홉 (Next Hop)
"이 패킷은 어디로 향하고 있나요?"라는 질문에 답해주는 도구입니다. 패킷이 A에서 B로 가는 도중, 실제로 어떤 경로를 거치는지를 보여줍니다. 네비게이션 앱에서 다음 교차로까지의 방향을 알려주는 것과 비슷합니다. 라우팅 테이블 설정이 잘못되어 트래픽이 엉뚱한 곳으로 가고 있을 때 원인을 찾는 데 유용합니다.
Connection Monitor
두 지점 간의 연결이 지속적으로 잘 되는지 모니터링합니다. 한 번 확인하는 것이 아니라, 5분마다 자동으로 연결을 테스트하고 응답 시간, 패킷 손실률을 기록합니다. 본사와 지사 간의 VPN 연결이 항상 안정적인지 감시하는 것처럼 사용할 수 있습니다.
NSG 흐름 로그 (NSG Flow Logs)
NSG(네트워크 보안 그룹)를 통과하거나 차단된 모든 트래픽을 기록합니다. CCTV 녹화 영상처럼, 나중에 "지난주에 어떤 IP가 우리 서버에 접속을 시도했나?"를 조회할 수 있습니다. 보안 감사나 이상 트래픽 분석에 필수적입니다.
패킷 캡처 (Packet Capture)
가상 머신을 오가는 실제 네트워크 패킷을 기록합니다. 전화 통화 내용을 녹음하는 것처럼, 실제로 어떤 데이터가 오가는지를 파일로 저장합니다. 가장 심층적인 분석이 필요할 때 사용하며, 저장된 파일은 Wireshark 같은 도구로 분석할 수 있습니다.
---