exemONE Azure 클라우드 모니터링 설정 방법
1. 사전 준비 사항 (Azure 접근 준비)
네트워크 허용 설정
Azure 모니터링을 위해 아래 도메인의 443 포트를 반드시 허용해야 합니다.
| 용도 | 허용 도메인 |
|---|---|
| Cloud 계정 연결 | https://login.microsoftonline.com/ |
| DB 연결 및 메트릭 수집 | https://management.azure.com/ |
Azure 앱 등록 (Client ID / Client Secret 발급)
- Azure Portal에서 앱 등록 메뉴 클릭
- [+ 새 등록] 버튼 클릭
- Cloud Shell 실행 후 아래 명령어 입력:
az ad sp create-for-rbac -n (앱 등록 이름) --role Contributor --scopes /subscriptions/(Subscription Id)
- 출력 결과에서 다음 값을 확인:
appId→ Client IDpassword→ Client Secret
필요 Azure 권한 목록
Microsoft.DBforMySQL/flexibleServers/read
Microsoft.DBforMariaDB/servers/read
Microsoft.DBforPostgreSQL/flexibleServers/read
Microsoft.Sql/servers/databases/read
Microsoft.Cache/Redis/read
Microsoft.Insights/Metrics/Read
Microsoft.Compute/skus/read
Microsoft.AlertsManagement/alerts/read
Microsoft.Resources/subscriptions/read
2. 지원 서비스
exemONE의 Azure 클라우드 모니터링은 다음 카테고리와 서비스를 지원합니다.
| 카테고리 | 지원 내용 |
|---|---|
| Computing | Azure 가상 머신(VM) 등 컴퓨팅 리소스 |
| Database | MySQL (Flexible), MariaDB, PostgreSQL (Flexible), SQL Server, Redis Cache |
| Storage | Azure 스토리지 리소스 |
| OS 플랫폼 | On-Premise / AWS / Azure / OCI / NCP / GCP / KT Cloud / SCP |
Cloud Overview 화면에서는 AWS / Azure 전체 리소스 수를 파이 차트 및 트리맵으로 시각화하여 확인할 수 있습니다.
3. Azure 클라우드 계정 등록
메뉴 경로: Setting > Platform > Cloud > Account

화면 구성
| 항목 | 내용 |
|---|---|
| Cloud Service | 클라우드 서비스 목록 (AWS / Azure) |
| Account List | 활성화된 리소스만 목록 표시 여부 선택 |
| Add Account | 클라우드 서비스 계정 추가 |
| Delete | 선택된 계정 삭제 |
Account List Grid 항목
| 항목 | 내용 |
|---|---|
| Name | 계정 이름 |
| Status | 계정 연결 상태 |
| Account ID | 계정 ID (Subscription ID) |
| Region | 계정 리전 |
| Agent | 연결된 클라우드 에이전트 |
| Service | 수집할 리소스명 |
| Last Update Time | 최근 리소스 업데이트 날짜 |
| Resource Update (Manual) | 수동으로 클라우드 리소스 불러오기 |
| Edit | 계정 정보 수정 |
Add Account 단계

Step 1. [+ Add Account] 클릭
Step 2. Cloud Service 설정
- Cloud Service: Azure 선택
- 에이전트 선택
Step 3. Account Information 입력
- Subscription ID
- Client ID (앱 등록 시 발급된
appId) - Client Secret (앱 등록 시 발급된
password) - Tenant ID
Step 4. Additional Information 입력 (선택)
- 계정에 대한 상세 설명 입력
Step 5. [Save] 클릭하여 저장
4. Azure 클라우드 컬렉터 설정
메뉴 경로: Setting > Platform > Cloud > Collector

Add Collector 단계

| 항목 | 내용 |
|---|---|
| Collector Name | 컬렉터 이름 설정 |
| Region | 수집할 서비스의 리전 설정 (동일 서비스 내 중복 리전 불가) |
| Collection interval | 수집 주기 설정: 1분 / 5분 / 10분 / 15분 / 30분 |
| Collect All | 모든 메트릭 전체 수집 설정/해제 |
| Filters | Or / And 조건으로 메트릭 목록 필터링 |
| Metric Setting | 메트릭 정보 Grid 형태로 표시 |
Metric Setting Grid 항목
| 항목 | 내용 |
|---|---|
| Collect Active | 데이터 수집 활성화 여부 |
| Metric | 메트릭 지표 이름 |
| Avg | 평균 값 수집 여부 |
| Max | 최대 값 수집 여부 |
| Min | 최소 값 수집 여부 |
| Sum | 합산 값 수집 여부 |
| Count | 개수 값 수집 여부 |
5. Azure Database 인스턴스 등록
메뉴 경로: Setting > Platform > Database > Add Instance
Step 1. 리소스 그룹 확인
- Azure Portal에서 기존 리소스 그룹을 활용하거나 신규 생성

Step 2. DB 인스턴스 생성 (Azure Portal)
- 리소스 그룹 내 "만들기" 선택 → DB 인스턴스 생성

- Server 개요에서 ID(서버 관리) 및 엔드포인트 주소(서버 이름) 확인
- 방화벽 정책에서 exemONE 서버 IP 허용

Step 3. exemONE에서 인스턴스 등록

| 항목 | 입력 내용 |
|---|---|
| Database Type | Oracle / SQL Server / MySQL / PostgreSQL / Redis |
| Instance Group | 해당 DB 타입의 그룹 선택 |
| Agent | 에이전트 선택 |
| Host Name | Azure 서버 엔드포인트 주소 |
| Port | DB 포트 번호 |
| DB Name | DB 이름 |
| User Name / Password | 서버 관리자 계정 정보 |
Connection Test 버튼으로 DB 연결 테스트 후 저장
Step 4. OS Information (Azure 플랫폼 설정)
- Platform: Azure 선택
- Azure 전용 입력 정보 (Subscription ID, Client ID, Client Secret, Tenant ID, Resource Group 등) 입력
- Connection Test로 연결 확인
6. Azure MySQL Slow Query Log 모니터링 설정
Step 1. 스토리지 계정 생성
- Azure > 홈 > '스토리지 계정' 메뉴 이동
- [+ 만들기] 클릭
- MySQL Server와 동일한 리소스 그룹에 storage 생성

Step 2. Log Analysis 작업 영역 생성
- Azure > 홈 > 'Log Analysis 작업 영역' 메뉴 이동
- [+ 만들기] 클릭
- MySQL Server와 동일한 리소스 그룹에 생성

Step 3. Slow Query Log 활성화
- MySQL > 서버 매개변수 수정
long_query_time: slow query 기준 수행 시간 설정slow_query_log: ON으로 변경

Step 4. 서버 로그 및 진단 설정
서버 로그 설정:
- Azure MySQL Server > 모니터링 > '서버로그' 이동
- 서버로그: 사용 활성화
- 'Slow query logs' 체크

진단 설정:
- Azure MySQL Server > 모니터링 > '진단설정' 이동
- 위에서 생성한 Log Analysis 및 스토리지 계정 연결

7. 주의 사항 및 트러블슈팅
Azure Active Directory 인증 오류
SQL Server 연결 시 "Azure Active Directory only authentication is enabled" 에러 발생 시:
- Azure Portal에서 Entra ID 인증을 비활성화 후 저장

OS Resource Connection Test Timeout 발생 시
에이전트 로그 확인:
$exemone_home/containers/exemone-db-agent/log/agent.log
엔드포인트 접근 테스트:
curl -v https://management.azure.com/resource/subscriptions/{구독아이디}/resourceGroups/{리소스이름}/providers/Microsoft.Insights/metrics
방화벽 등으로 Azure 엔드포인트(
management.azure.com)에 접근이 불가한 경우 발생 → 네트워크 정책 확인 필요
SQL Server Azure 환경 모드 설정
Azure 환경에서 SQL Server는 sqlserver.mode = query 설정 사용:
Setting > Database > Custom Configuration에서 설정- Azure 환경은 create database 권한 불필요
참고 문서
- Azure 클라우드 계정 설정: https://app.clickup.com/25540965/v/dc/rbeb5-416338/rbeb5-2694338
- Azure 클라우드 컬렉터 설정: https://app.clickup.com/25540965/v/dc/rbeb5-416338/rbeb5-2694358
- Azure 접근 준비 사항: https://app.clickup.com/25540965/v/dc/rbeb5-403498/rbeb5-3445098
- Azure Database 등록 가이드: https://app.clickup.com/25540965/v/dc/rbeb5-403498/rbeb5-2606818
- Azure MySQL Slow Query Log 설정: https://app.clickup.com/25540965/v/dc/rbeb5-403498/rbeb5-3445118
- OS Resource Connection Timeout 문제 해결: https://app.clickup.com/25540965/v/dc/rbeb5-403538/rbeb5-2497818
- Computing Overview: https://app.clickup.com/25540965/v/dc/rbeb5-416338/rbeb5-3312578
- Database Overview: https://app.clickup.com/25540965/v/dc/rbeb5-416338/rbeb5-3313478