안녕하세요. 김대우 입니다.

Azure 상태 모니터링 + Azure 사용량 측정이 필요할 경우가 있습니다. 과연 어떻게?

솔루션운영 또는 기업의 인프라를 관리해야 하는 SM의 입장에서 본다면, Azure역시 하나의 인프라 서비스 플랫폼이기 때문에 모니터링과 계측, 사용량 조회는 당연한 업무의 일부 입니다. 당연히, Azure에서 이런 모니터링이나 사용량 조회를 위한 도구들을 제공하고 있습니다.

1. Azure Dashboard

기본적인 Azure의 상태와 사용량 모니터링에 사용하는 웹 기반의 인터페이스 입니다. 가장 기본적이고, 일반적인 정보를 제공 받을 수 있습니다. 하지만, 우리가 필요한건 더 상세하고 자세한 IT 전문가틱한 뭔가겠지요. ^_^

2. System Center - SCOM을 이용해 Azure의 Application 모니터링

마이크로소프트의 Public Cloud와 Private Cloud 양쪽 모두에 대한  Hybrid Cloud 관리 기술로 System Center 입니다. - 이미 충분히 커뮤니티 세미나 등을 통해 관련된 세션들도 진행 했지요. 

당연하겠습니다만, System Center는 현재 수준에서 Hybrid Cloud 관리 제품으로 충분히 시장 경쟁력을 갖추고 있다고 보여집니다. 얼마 지나지 않아 Public Cloud와 Private Cloud가 자연스럽게 상호 VM 교환, Sync되는 시기가 되면 System Center의 경쟁력은 훨씬 높아질 겁니다.

본론으로 들어가, Azure 모니터링을 위해 SCOM2007 R2를 이용하는 방법입니다.

3301.clip_image0024_11EEDB59.png

http://blogs.msdn.com/b/walterm/archive/2011/04/28/configuring-performance-views-and-dashboards-for-monitoring-azure-applications.aspx

위의 링크에서 상세한 내용을 보실 수 있으며, On-premise에서 회사내의 서버를 모니터링 하는 것처럼 Azure를 모니터링 가능합니다.

System Center를 활용하는 모니터링을 패키지도 있습니다. 위의 이미지와 링크를 통해 보시는 것처럼 충분히 원하시는 만큼의 모니터링 수준을 제공 받을 수 있으실거에요. ^_^

System Center Monitoring Pack for Windows Azure Applications 도 있습니다.

http://www.microsoft.com/download/en/details.aspx?id=11324

System Center를 활용해 Azure를 모니터링 하는 방법은 System Center의 발전과 함께 이루어 질 듯 합니다.  이것도 체크리스트군요. ^_^

 

3. Azure 계측(Metering)을 위한 도구

솔루션 개발사에서 하나의 Azure VM에 여러 Web role을 서비스하면서 Azure 자원에 대한 계측이 필요할 경우가 있습니다. 즉, 스토리지와 같은 자원에 대한 사용량을 측정해 과금을 다르게 측정할 경우 등이 존재하기 때문입니다. 이 경우 사용 가능한 도구가 몇개 있는데요.

1) CodePlex 오픈소스 프로젝트 - Cloud Ninja Project
http://cloudninja.codeplex.com/

ninja.jpg

The Cloud Ninja Project is a Windows Azure multi-tenant sample application demonstrating metering and automated scaling concepts, as well as some common multi-tenant features such as automated provisioning and federated identity.

- Metering
- Automated Scaling
- Federated Identity
- Provisioning
- Metering Charts
- Changes to metering views
- Dynamic Federation Metadata Document

2) CodePlex 오픈소스 프로젝트 - The Cloud Samurai Project

http://cloudsamurai.codeplex.com/

samu.jpg

The Cloud Samurai Project, aka. (Project Bowlus), is a complete code sample demonstrating a hosted multi-tenant approach on Windows Azure utilizing the IIS Application Request Routing (ARR) extension.

(프로젝트 이름들 참 거시기 하다.)

그 외에도, 오픈소스 기반 웹 이벤트 및 오류 로그 엔진인 log4net을 활용한 프로젝트도 있으며

http://neilmosafi.blogspot.com/2009/01/azure-event-log-and-log4net.html

스토리지 모니터링을 위한 Azure Storage Explorer도 있습니다. http://azurestorageexplorer.codeplex.com/  특히, Azure Storage Explorer는 Azure 원격 스토리지를 탐색기와 유사한 형태로 보고 제어 가능하기 때문에 유용하실 겁니다. FTP 클라이언트 도구 처럼 파일 업로드 등도 제공합니다.

ase4_blobs.jpg

- Azure Storage Explorer화면

참고로,

Azure의 관리 화면은 모두 정보를 API로 제공하고 있습니다. 즉, 솔루션 개발사에서 여러 고객들의 VM을 관리 & 모니터링, 계측 해야할 경우, 제공되는 API를 이용하면 필요에 맞는 모니터링이나 제어 어플리케이션도 제작 가능합니다. 특수 목적의 모니터링이나 계측을 위한 프로비저닝(Provisioning) 용로도로 사용 가능하실 겁니다.

모든 Azure가 제공하는 관리 API 정보 - About the Service Management API
http://msdn.microsoft.com/en-us/library/ee460807.aspx

The Service Management API provides programmatic access to much of the functionality available through the Management Portal. Using the Service Management API, you can manage your storage accounts and hosted services, your service deployments, and your affinity groups.

PowerShell(파워쉘)을 이용한 Azure 모니터링

PowerShell을 이용하거나 직접 Azure 모니터링 어플리케이션을 개발하는 예제들은 아래 링크들을 참고 하시면 도움 되실거에요.

Exercise 2: Using PowerShell to Manage Windows Azure Applications
http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_deployingapplicationsinwindowsazurevs2010_topic3.aspx#_Toc275444474

 

Exercise 3 - Monitoring Applications in Windows Azure
http://channel9.msdn.com/learn/courses/Azure/Deployment/DeployingApplicationsinWindowsAzure/Exercise-3-Monitoring-Applications-in-Windows-Azure#_Toc245832982

혹시 나만 알고있는 유용한 Azure 모니터링이나 계측 도구가 있으시다면?

댓글로 알려 주시면 감사하겠습니다. ^_^

감사합니다.

 

추가정보 :

SQL서버의 DB를 손쉽게 클라우드, SQL Azure로 전송하는 방법, SQL Azure Compatibility Assessment
클라우드 컴퓨팅 Azure를 개발자가 무료로 테스트 하는 방법
Azure 사용 가격 예측 계산기 - Full Pricing Calcurator
클라우드 컴퓨팅과 SLA(Service Level Agreements) - Azure가 제공하는 SLA
Azure 모니터링과 사용량 계측(Metering) 도구 총집합
Azure Connect - Azure를 회사망의 일부처럼 사용하는 하이브리드 클라우드(hybrid cloud) 구축
클라우드의 네트워크 응답속도(Latency) 한계 극복, SQL Azure Federation
클라우드와 CDN 비즈니스. 그리고, Azure
클라우드와 On-premise 전체 비용 비교에 대한 단상
IaaS, PaaS, SaaS - 누구나 클라우드를 말한다.

Azure - 클라우드 컴퓨팅 - 시리즈 강좌 리스트
[Azure강좌] 1. 클라우드와 원도우 애저 소개
[Azure강좌] 2. SDK 설치와 Azure 무료 신청
[Azure강좌] 3. ASP.NET(Web Role) Hello World
[Azure강좌] 4. 프로젝트 패키지 Azure 배포
[Azure강좌] 5. Windows Azure Storage 서비스와 계정 설정
[Azure강좌] 6. 테이블 서비스와 StorageClient 라이브러리 #1
[Azure강좌] 7. SQL Azure 소개와 서버 구성
[Azure강좌] 8. 데이터베이스 생성과 SSMS 사용
[Azure강좌] 9. SQL Azure 마이그레이션 위자드 사용하기
[Azure강좌] 10. SQL Azure 방화벽 설정
[Azure강좌] 11. SQL Azure Manage 툴 사용해 보기
[Azure강좌] 12. 테이블 서비스와 StorageClient 라이브러리 #2
[Azure강좌] 13. SQL Azure ASP.NET GridView 바인딩
[Azure강좌] 14. Blob 서비스와 Container
[Azure강좌] 15. Blob 리스트 조회, 업로드 다운로드 예제
[Azure강좌] 16. 웹사이트 콘텐트 Blob 스토리지 이용
[Azure강좌] 17. Windows Azure CDN 설정
[Azure강좌] 18. Queue 서비스와 생성, 삭제, 메타데이터 추가
[Azure강좌] 19. Queue 의 메시지 피킹 및 가져오기, 추가, 삭제
[Azure강좌] 20. [Tip] SQL Azure 방화벽 룰 설정 예제 애플리케이션


Azure - 클라우드 컴퓨팅 - 동영상 참고 자료

[Azure 동영상 강좌] 1. 클라우드와 원도우 애저 소개 (애저 포털 둘러보기) 
[Azure 동영상 강좌] 2. SDK 설치와 Azure 무료 신청
[Azure 동영상 강좌] 3. ASP.NET(Web Role) Hello World
[Azure 동영상 강좌] 4. 프로젝트 패키지 Azure 배포
[Azure 동영상 강좌] 5. Windows Azure Storage 서비스와 계정 설정
[Azure 동영상 강좌] 6. 테이블 서비스와 StorageClient 라이브러리 #1
[Azure 동영상 강좌] 7. SQL Azure 소개와 서버 구성
[Azure 동영상 강좌] 8. 데이터베이스 생성과 SSMS 사용
[Azure 동영상 강좌] 9. SQL Azure 마이그레이션 위자드 사용하기
[Azure 동영상 강좌] 10. SQL Azure 방화벽 설정
[Azure 동영상 강좌] 11. SQL Azure Manage 툴 사용해 보기
[Azure 동영상 강좌] 12. 테이블 서비스와 StorageClient 라이브러리 #2
[Azure 동영상 강좌] 13. SQL Azure ASP.NET GridView 바인딩
[Azure 동영상 강좌] 14. Blob 서비스와 Container
[Azure 동영상 강좌] 15. Blob 리스트 조회, 업로드 다운로드 예제
[Azure 동영상 강좌] 16. 웹사이트 콘텐트 Blob 스토리지 이용
[Azure 동영상 강좌] 17. Windows Azure CDN 설정
[Azure 동영상 강좌] 18. Queue 서비스와 생성, 삭제, 메타데이터 추가
[Azure 동영상 강좌] 19. Queue 의 메시지 피킹 및 가져오기, 추가, 삭제
[Azure 동영상 강좌] 20. [Tip] SQL Azure 방화벽 룰 설정 예제 애플리케이션