다음을 통해 공유


스크립트 모니터 및 규칙

 

적용 대상: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

이벤트 또는 성능 카운터와 같이 다른 일반적인 방법으로 필요한 데이터를 수집할 수 없는 경우 모니터링 스크립트를 사용합니다. 스크립트는 에이전트에서 정보에서 데이터를 수집 하 고 MOM을 사용 하 여 속성 모음을 만듭니다. 설치 된 ScriptAPI 개체는 Operations Manager 에이전트입니다.

모니터링 스크립트는 MOM에 액세스할 수 있는 스크립트 언어로 작성 된 수 있습니다. ScriptAPI 개체 모두에 설치 된 Operations Manager 에이전트입니다. VBScript 또는 JScript 스크립트를 만들려는 운영 콘솔을 사용할 수 있습니다. 사용 하는 Windows PowerShell 스크립트와 같은 다른 제작 도구를 사용 해야는 System Center Operations Manager 2007 R2 Authoring Console 또는 MP Author합니다.

속성 모음

모니터링 스크립트는 모니터에 대 한 식에서 평가 하거나 성능 데이터 또는 수집 규칙에 대 한 이벤트에 매핑될 수 있도록 하는 속성 모음으로 모든 출력 데이터를 보냅니다. 속성 모음에는 각 이름에는 값의 집합입니다. 아무 이름이 나 할당할 수 있지만 특정 값의 설명이 포함 된 이름을 사용 하는 것이 좋습니다. 속성 모음 워크플로 수명 동안에 존재합니다. 다음에 워크플로 실행 하는 스크립트를 실행 하 고 새 값으로 새 속성 모음을 만듭니다.

하나의 속성 모음 데이터의 전체 집합에는 4MB를 초과할 수 없습니다. 하지만 모든 숫자 값을 가질 수 있습니다. 대부분의 스크립트 일부 값이 한이도 아래 총 크기를 사용 해야 합니다. 워크플로에서 사용할 모든 값에 대 한 요구 사항 없이 있습니다.

스크립트는 MOM에서 CreatePropertyBag 메서드를 사용 하 여 속성 모음을 만듭니다. ScriptAPI 개체입니다. 다음 구문을 사용 하 여 $Data 변수와 함께 propertybag에서 값을 사용 하는 워크플로:

$Data/Property[@Name="PropertyName"]

등 성능 데이터를 만드는 스크립트를 다음 표에 있는 값으로 속성 모음을 만들 수 있습니다. 이 표에서 스크립트와 속성 모음 데이터를 성능 데이터에 매핑하는데 사용 되는 해당 $Data 변수에서 만든 값의 이름을 보여줍니다.

속성 모음 값 이름

샘플 값

변수

개체 이름

MyObject

$Data/Property[@Name='ObjectName']$

CounterName

MyCounter

$Data/Property[@Name='CounterName']$

인스턴스 이름

MyInstance

$Data/Property[@Name='InstanceName']$

10

$Data/Property[@Name='Value']$

스크립트 구조

다음 코드는 모니터링 모니터링 스크립트의 기본 구조를 설명 하기 위해 스크립트 예제를 보여줍니다. 이 예제 스크립트에는 다음과 같은 특징이 있습니다.

  • 스크립트를 실행 하는 컴퓨터의 이름 및 응용 프로그램의 위치는 경로 대 한 인수를 허용 합니다.

  • 컴퓨터 이름, InstanceName 및 PerfValue 라는 값을 가진 속성 모음을 만듭니다.

sComputerName = WScript.Arguments(0) 
sApplicationPath = WScript.Arguments(1)

Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()

oBag.AddValue "ComputerName", sComputerName
oBag.AddValue "InstanceName", "MyInstance"
oBag.AddValue "Value", 1.0

oAPI.Return(oBag)

스크립트의 각 섹션의 세부 정보는 여기에 설명 되어있습니다.

sComputerName = WScript.Arguments(0) 
sApplicationPath = WScript.Arguments(1)

스크립트의 처음 두 줄은 인수를 사용할 수 있습니다. 이러한 값에 스크립트를 실행 하는 모니터 또는 규칙의 인수 매개 변수에 있는 것으로 예상 되 합니다. 스크립트는 스크립트의 논리에 필요한 인수 개수에 관계 없이 사용할 수 있습니다.

Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()

다음 두 줄 속성 모음을 만듭니다. 이러한 줄 대부분의 모니터링 스크립트에도 그대로 표시 합니다. 스크립트의 나머지의 주요 용도 에이전트 컴퓨터에서 수집 되는 데이터를 사용 하 여 값 속성 모음에 추가 됩니다.

oBag.AddValue "ComputerName", sComputerName
oBag.AddValue "InstanceName", "MyInstance"
oBag.AddValue "Value", 1.0

속성 모음을 만든 후에 원하는 수의 값을 추가할 수 있습니다. AddValue와이 작업을 수행 하면 항목의 이름을 사용 하 여 속성 모음 개체에서 메서드 뒤에 해당 값입니다. 이 예에서는 명시적 값을 사용 합니다. 실제 모니터링 스크립트에 추가 코드가 정상적 이러한 값에 포함 하려면 에이전트 컴퓨터에서 정보를 수집 하는 것입니다.

oAPI.Return(oBag)

모든 값은 속성 모음에 추가 되 면 워크플로로 반환 됩니다. 이 줄에는 필수 사항이 며 없이 propertybag 스크립트 종료 될 때 삭제 됩니다. 이 메서드는 스크립트는 단일 속성 모음만을 만들 때에 사용 됩니다. 이러한 전략을 사용 하는 여러 속성 모음 및 조건이 반환 하는 스크립트에 대 한 자세한 내용은을 참조는 의 섹션은 System Center Operations Manager 2007 R2 제작 가이드.

스크립트 인수

대부분의 스크립트는 스크립트를 실행할 때 명령줄에서 스크립트에 전송 되는 값 인수를 사용 합니다. 인수를 사용 하는 단일 스크립트를를 스크립트 자체를 수정 하지 않고 여러 시나리오에 사용할 수 있습니다.

모니터링 스크립트에 인수는 중요 한 스크립트 되도록 각 에이전트에서 다른 스크립트를 실행에 필요한 정보를 있을 수 있기 때문입니다. 스크립트 인수 값에 대 한 모니터 또는 규칙에 대 한 대상 개체의 속성을 사용할 수 있습니다. 이 값은 스크립트를 실행 하는 시간에 각 에이전트에 개별적으로 확인 됩니다.

인수에서 운영 콘솔에 액세스 하는 매개 변수 단추입니다. 스크립트에 액세스 하는 순서에는 공백을 사용 하 여 각각의 인수를 구분 해야 합니다. 이 명령줄 스크립트는 명령줄에서 실행 되는 경우 제공 되는 동일 합니다.

각 인수에는 대상 개체에 속성의 값을 사용 하 여 $Target 변수 또는 명시적 값 수 있습니다. 모든 $Target 변수는 스크립트는 명령줄에서 해결 된 값으로 제공 되도록 스크립트를 실행할 때 확인 됩니다. 적절 한 구문을 알고 있는 경우 $Target 변수에 입력할 수 있습니다. 더 쉽습니다 하지만에서 속성을 선택 하려면 대상 단추를 대상 개체와 해당 부모 개체의 속성을 모두 나열 됩니다.

System_CAPS_important중요

공백이 포함된 값으로 확인될 수 있는 $Target 변수는 따옴표로 묶어야 합니다. 값에 공백이 포함 된 인용 부호 없는 경우 다음 것으로 표시 됩니다 스크립트에서 두 인수를 구분 합니다. 인용 부호 제외 값은 단일 인수로 표시 되는지 확인 합니다. 속성을 선택 하는 경우 대상 메뉴에서 따옴표를 포함 되지 것입니다. 속성을 선택한 후에 해당 정보를 입력 해야 합니다.

등의 샘플 스크립트는 이전 컴퓨터 이름 및 응용 프로그램 경로 대 한 두 인수를 예상합니다. 이 의해 호스팅되는 클래스를 대상으로 하는 규칙 또는 모니터의 일부는 가정 하 고는 Windows 컴퓨터 클래스, 컴퓨터 이름을 PrincipalName 속성에서 검색할 수 없습니다. 응용 프로그램 경로 대상 클래스의 속성에는 경우 인수는 다음 예와 같이 나타날 수 있습니다. 공백을 포함 하는 값이 확인 될 수 있으므로 따옴표로 ApplicationPath 속성을 확인 합니다.

$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$ "$Target/Property[Type="MyApp.MyClass"]/ApplicationPath$"

스크립트의 이름을 지정한 있다고 가정 하 고 MyScript.vbs, 컴퓨터 이름이 MyServer01, 응용 프로그램 경로 고 C:\Program Files\Contoso\My Application, 이 스크립트는 것에 대 한 실행 되는 명령줄:

MyScript.vbs MyServer01 "C:\Program Files\Contoso\My Application"

스크립트 모니터 및 규칙 항목

  • 스크립트는 수집 규칙

    규칙을 만드는 성능 또는 이벤트 데이터를 수집 하는 스크립트를 사용 합니다.

  • 스크립트 모니터

    해당 상태를 설정 하는 스크립트의 결과 평가 하는 모니터를 만드는 합니다.

  • UNIX/Linux 셸 명령 모니터

    UNIX/Linux 명령, 스크립트 또는 (파이프라인 연산자 사용) 하는 여러 명령의 한 줄 시퀀스의 실행 출력을 평가 하는 모니터를 만드는 합니다.