Window2000에서는 기존 NT 4.0 이하버전에서 API형태로 지원했던 서버 모니터링 관련 함수들 대신 OCX형태로 직접 컨트롤을 지원한다.

 

[프로젝트]-[구성요소]에서 System Monitor Control(C:\WINNT\System32\sysmon.ocx)을 선택하면 왼쪽 도구상자에 아이콘이 하나 추가된다. 이것은 시스템 성능 모니터와 동일한 화면이다.

 

또는 화면 인터페이스가 없는 COM DLL등에서 사용하려면 [프로젝트]-[참조]에서 System Monitor Control(C:\WINNT\System32\sysmon.ocx)을 선택해서 사용해도 된다.

 

지원하는 메서드 및 속성은 다음과 같다.

 

SystemMonitor1.Counters.Count

 : 현재 모니터링하고 있는 전체 카운터의 갯수

SystemMonitor1.Counters.Add("{모니터링 Path}")

 : 카운터 추가

SystemMonitor1.Counters.Remove(i)

 : i번째 인덱스를 가진 카운터 제거

SystemMonitor1.Counters(i).Path

 : 현재 모니터링하고 있는 i번째 카운터의 Path

SystemMonitor1.Counters(i).GetStatistics dblMax, dblMin, dblAvg, lngStatus

 : i번째 인덱스를 가진 카운터의 통계자료 (최대값, 최소값, 평균, 현재 상태)

SystemMonitor1.Counters(i).Value

 : i번째 인덱스를 가진 카운터의 현재값

 


"SKT-AD01"이라는 이름을 가진 같은 도메인 내의 서버 CPU상태(Processor Time)를 조회하는 간단한 예제는 다음과 같다.

 


카운터 추가.

 

Dim i As Integer

    

For i = 1 To SystemMonitor1.Counters.Count

    SystemMonitor1.Counters.Remove (i)

Next i

    

SystemMonitor1.Counters.Add ("\\SKT-AD01\Processor(_Total)\% Processor Time")

 


현재 상태 보기.

 

Dim i As Integer

Dim dblMax As Double, dblMin As Double, dblAvg As Double, lngTemp As Long

Dim dblStatus As Double

 

For i = 1 To SystemMonitor1.Counters.Count

    If InStr(1, SystemMonitor1.Counters(i).Path, "Processor") > 0 Then

        SystemMonitor1.Counters(i).GetStatistics dblMax, dblMin, dblAvg, lngTemp

        dblStatus = SystemMonitor1.Counters(i).Value

        txtMax.Text = Format(dblMax, "0.##")

        txtMin.Text = Format(dblMin, "0.##")

        txtAvg.Text = Format(dblAvg, "0.##")

        txtStatus.Text = Format(dblStatus, "0.##")

    End If

Next i

 


※ 카운터의 인덱스는 다른 많은 컨트롤들과 달리 0이 아닌 1부터 시작된다.

 

※ 안타깝게도 테스트한 결과에 의하면 카운터를 추가할 때 추가하는 순서대로 인덱스가 생성되지 않는 관계로, 일일이 루프를 돌리면서 보고자 하는 해당 카운터인지 찾아내는 방법을 사용했다.

 


사용상 주의점 : 모니터링해야 하는 서버가 다양한 도메인에 위치에 있거나 갯수가 많은 경우에는 실행속도가 현저히 저하될 수 있다.(네트워크 상태와 트러스트 관계에 종속됨)

'Tech: > ASP·VB6' 카테고리의 다른 글

VB-에러처리에 관련된 팁  (0) 2008.06.26
WScript 예제  (0) 2008.06.26
Window2000에서의 MSMQ 사용  (0) 2008.06.26
VB-메시지박스 자동 종료하기  (0) 2008.06.26
VB 속도향상 팁 45가지  (0) 2008.06.26


Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]