달력

2

« 2025/2 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
2009. 3. 18. 11:44

SCOM 2007 CrossPlatform Extension Overview SystemCenter2009. 3. 18. 11:44

사용자 삽입 이미지

OpenSSH:
developed by the OpenBSD Project, provides for secure communication between two systems, and delivers authentication, authorization, and confidentiality services. Operations Manager 2007 uses OpenSSH in several ways:
- During deployment, the secure copy (scp) capability of OpenSSH is used to securely copy the Ops Mgr Cross Plat agent to the target machine, and then initiate the agent and any required supporting processes (such as OpenPegasus and WS_Management) should they not be operational.
- During operations, should there be an issue with any of the supporting processes or should the agent process fail, Operations Manager 2007 can communicate with the managed system through OpenSSH and restart the failed service.
:
Posted by 커널64
2009. 3. 9. 19:19

DPM SRT(System Recovery Tools) 정보 SystemCenter2009. 3. 9. 19:19

SRT는
128-bit MD5 암호화 알고리즘으로 계산된 고유한 데이터 주소에 오직 한 개의 파일을 저장하는 방법을 사용한다.
이는 만약 비슷한 여러 대의 서버가 있는 경우 첫 번째 서버의 백업은 원본 서버의 데이터와 같은 양을 차지하지만 다른 서버들은 단지 2%~5%의 공간만 필요로 하게 되는 것을 의미한다.

SRT로 복구하기 전에 우선 복구 스케쥴을 설정해야 한다. 이 스케쥴은 얼마나 자주 백업을 수행할 것인지(복구 지점을 만들 것인지)를 정한다.
복구 세트는 복구 지점에 어떠한 데이터를 저장할 것인지를 정의한다. SRT는 기본적으로 다음 두 개의 복구 세트를 포함한다.
- System Volumes (시스템 파일, 시스템 세팅, 부트 파일)
- Disk Layout (디스크 정보(마스터 부트 코드, 파티션 테이블, 파티션과 볼륨 정보))
:
Posted by 커널64
2009. 3. 6. 22:39

SCOM 2007 Report 관련 쿼리 (보고서) SystemCenter2009. 3. 6. 22:39

' 성능 카운터 리스트 쿼리
SELECT ObjectName, CounterName, MultiInstanceInd FROM vPerformanceRule ORDER BY ObjectName

' Windows 컴퓨터 리스트 쿼리
SELECT Name FROM dbo.vManagedEntity WHERE ManagedEntityTypeRowId = '22' ORDER BY Name

' 성능 정보 쿼리 (데이터웨어하우스)
EXEC SP_PerfViewDaily '2009-02-01', '2009-02-20', 'Processor', '% Processor Time', 'Server1'

----------------------------------------------------------------------------------------------------------

CREATE PROCEDURE SP_PerfViewDaily
@StartDate DATETIME,
@EndDate DATETIME,
@ObjectName NCHAR(30),
@CounterName NCHAR(30),
@ServerName NCHAR(30)
AS
SELECT    
Dateadd (HH, 9, vPerf.DateTime) AS DateTime ,
vPerf.SampleCount,
Round (vPerf.AverageValue, 2) AS Average,
Round (vPerf.MinValue, 2) AS Minimum,
Round (vPerf.MaxValue, 2) AS Maximum,
Round (vPerf.StandardDeviation, 2) AS StandardDeviation,
vPerformanceRuleInstance.InstanceName,
vManagedEntity.Path AS ServerName,
vPerformanceRule.ObjectName,
vPerformanceRule.CounterName
FROM Perf.vPerfdaily AS vPerf INNER JOIN
vPerformanceRuleInstance ON vPerformanceRuleInstance.PerformanceRuleInstanceRowId = vPerf.PerformanceRuleInstanceRowId INNER JOIN
vManagedEntity ON vPerf.ManagedEntityRowId = vManagedEntity.ManagedEntityRowId INNER JOIN
vPerformanceRule ON vPerformanceRuleInstance.RuleRowId = vPerformanceRule.RuleRowId
WHERE vPerf.DateTime >= @StartDate
AND vPerf.DateTime < @EndDate
AND (vPerformanceRule.ObjectName IN (@ObjectName))
AND (vPerformanceRule.CounterName IN (@CounterName))
/* AND (vPerformanceRuleInstance.InstanceName IN ('')) */
AND (vManagedEntity.Path IN (@ServerName))
ORDER BY  DateTime
GO

:
Posted by 커널64

Rule > New > Probe based > Script(performance)

Object, Counter, Instance 적당한 값
Value: $Data/Property[@Name='Used Memory']$

-----------------------------------------------------------------------------------------------

UsedMemory.vbs


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

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set strFreeMemory = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each Free In strFreeMemory
valFreeMemory = Free.FreePhysicalMemory / 1024
Next
Set strFreeMemory = Nothing

Set strTotalMemory = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
For Each Total In strTotalMemory
valTotalMemory = Total.TotalPhysicalMemory / 1048576
Next
Set strTotalMemory = Nothing

val = valTotalMemory - valFreeMemory

Call oBag.AddValue("Used Memory",val)
Call oAPI.Return(oBag)

:
Posted by 커널64
1. Copy the ResetSRS.exe file in SupportTools folder of the OM 2007 media to C:.
2. Open a Command Prompt and change your path to C:.
3. Type "ResetSRS.exe MSSQLSERVER" where MSSQLSERVER is your SQL instance name.
4. Then open Reporting Services Configuration Console, select Web Service Identity and click Apply.
5. Reinstall SCOM Reporting.
:
Posted by 커널64

Monitor -> New -> Scripting -> Timed Script Two State Monitor

Parameters
[Process1.exe] [Process2.exe] ....

State Expression
For Unhealthy Expression Property[@Name='State'] Equals Good
For Healthy Expresion Property[@Name='State'] Equals Bad

Alert Description
$Data/Context/Property[@Name='Message']$

---------------------------------------------------------------------------------------------------------------

ProcessRunCheck.vbs

Dim oAPI, oBag, oArgs, strProcess(), ProcessState()
strMessage = ""

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

ParamCount = oArgs.Count
State = 0

If ParamCount < 1 Then
Call oAPI.LogScriptEvent("ProcessRunCheck.vbs", 5009, 0, "Script aborted. Not enough parameters provided.")
WScript.Quit -1
End If

ReDim Preserve strProcess(ParamCount), ProcessState(ParamCount)

i = 0
Do While i <> ParamCount
strProcess(i) = oArgs(i)
i = i + 1
Loop

i = 0
Do While i <> ParamCount
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set ProcessState(i) = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = '" & strProcess(i) & "'")

If ProcessState(i).Count => 1 Then
Call oBag.Addvalue(strProcess(i),"Running(" & ProcessState(i).Count & "ea)")
strMessage = strMessage & strProcess(i) & ": " & "Running(" & ProcessState(i).Count & "ea)" & " | "
End If

If ProcessState(i).Count < 1 Then
Call oBag.Addvalue(strProcess(i),"Not running")
strMessage = strMessage & strProcess(i) & ": " & "Not running" & " | "
State = 1
End If

Set objWMIService = nothing
i = i + 1
Loop

If State = 0 Then
Call oBag.AddValue("State","Good")
Else
Call oBag.AddValue("State","Bad")
End If

Call oBag.AddValue("Message",strMessage)
Call oAPI.Return(oBag)

:
Posted by 커널64
2009. 2. 13. 10:38

Recover DPM Server (DPM 서버 복구) SystemCenter2009. 2. 13. 10:38

To restore the DPM and Report databases from local backup media on the DPM server
DpmSync -DpmDbLoc <DPMDB.bak>
DpmSync -DpmReportDbLoc <ReportServer.bak>

After you restore the DPM and Report databases, to synchronize the databases
DpmSync -Sync

After you restore and synchronize the DPM and Report databases and before you restore the replicas, to reallocate disk space for the replicas
DpmSync -ReallocateReplica

:
Posted by 커널64

SCOM 2007 Agent의 메시지 큐 크기 수정

기본값은 15MB인데 Exchange Server 2007과 같은 서버의 경우 너무 작을 수 있다.

과정
1. 레지스트리 편집기 실행
2. 다음 키로 이동
HKLM\SYSTEM\CurrentControlSet\Services\HealthService\Parameters\Management Groups\<ManagementGroupName>
3. MaximumQueueSizeKb 문자열 값 수정
(기본값은 15360으로 15MB -> 30720(10진수)이면 30MB
4. HealthService 재시작

:
Posted by 커널64
2009. 1. 24. 10:17

ManagementServerConfigTool의 용도 SystemCenter2009. 1. 24. 10:17

1. Creating Clustered RMS

ž   InstallCluster 명령은 클러스터된 RMS를 생성할 때 사용한다.

ž   DB를 제외한 모든 다른 작업보다 우선적으로 실행되어야 한다. (ex: Agent 배포 등)

ž   모든 클러스터 구성원 노드인 관리 서버에 동일하게 적용된다.

ž   RMS는 관리 그룹의 첫 번째 관리 서버이기 때문에 만일 추가 관리 서버와 Agent가 배포되어 있는 상황에서 작업을 진행할 경우 모든 관리 그룹에 혼란을 야기시킬 수 있다.

ž   이 명령은 데이터베이스의 클래스 구조와 모든 클러스터 노드가 RMS로 동작하도록 하기 위해 로컬 컴퓨터의 서비스, 레지스트리, 파일 구조를 변경한다.

ž   각각의 노드에 암호화 키를 복원하고 다음 명령을 실행한다.
ManagementServerConfigTool InstallCluster /vs:<VirtualClusterName> /Disk:<DiskLetter>

 

2. Adding Clustered RMS node

ž   AddVirtualServer 명령은 클러스터된 RMS에 노드를 추가할 때 사용한다.

ž   노드로 추가될 관리 서버에 암호화 키를 복원하고 다음과 같이 명령을 실행한다.
ManagementServerConfigTool AddRMSNode /vs:<VirtualClusterName> /Disk:<DiskLetter>

 

3. Promotion of a new MS to the RMS role

ž   PromoteRMS 명령은 관리 서버를 RMS role로 승격할 때 사용한다.

ž   RMS가 될 관리 서버에 암호화 키를 복원하고 ManagementServerConfigTool PromoteRMS 명령을 실행한다.

ž   Promotion 시 기존 RMS와의 연결(통신)이 가능하다면 기존 RMS는 자동으로 관리 서버로 demotion 된다.

ž   어떠한 이유로 인해 기존 RMS와 연결이 불가능한 경우 RMS에서 UpdateDemotedRMS 명령을 통해 수동으로 일반 관리 서버로 demotion 해야 한다.

ž   만약 PromoteRMS 후에 관리/수집 서버가 RMS와 통신하지 못하는 경우 각각의 관리/수집 서버에서 UpdateSecondaryMS 명령을 실행해 새로운 RMS의 위치를 찾을 수 있도록 해야 한다.

  

Windows Server 2003 클러스터에 SCOM RMS 설치
Windows Server 2008 장애조치 클러스터에 SCOM RMS 설치

:
Posted by 커널64
2009. 1. 21. 16:58

SCOM의 알림 메시지에 대한 파라미터 SystemCenter2009. 1. 21. 16:58

이벤트 규칙
EventDisplayNumber (Event ID): $Data/EventDisplayNumber$
EventDescription (Description): $Data/EventDescription$
Publisher Name (Event Source): $Data/PublisherName$
EventCategory: $Data/EventCategory$
LoggingComputer: $Data/LoggingComputer$
EventLevel: $Data/EventLevel$
Channel: $Data/Channel$
UserName: $Data/UserName$
EventNumber: $Data/EventNumber$

이벤트 모니터
EventDisplayNumber (Event ID): $Data/Context/EventDisplayNumber$
EventDescription (Description): $Data/Context/EventDescription$
Publisher Name (Event Source): $Data/Context/PublisherName$
EventCategory: $Data/Context/EventCategory$
LoggingComputer: $Data/Context/LoggingComputer$
EventLevel: $Data/Context/EventLevel$
Channel: $Data/Context/Channel$
UserName: $Data/Context/UserName$
EventNumber: $Data/Context/EventNumber$

반복 이벤트 모니터
EventDisplayNumber (Event ID): $Data/Context/Context/DataItem/EventDisplayNumber$
EventDescription (Description): $Data/Context/Context/DataItem/EventDescription$
Publisher Name (Event Source): $Data/Context/Context/DataItem/PublisherName$
EventCategory: $Data/Context/Context/DataItem/EventCategory$
LoggingComputer: $Data/Context/Context/DataItem/LoggingComputer$
EventLevel: $Data/Context/Context/DataItem/EventLevel$
Channel: $Data/Context/Context/DataItem/Channel$
UserName: $Data/Context/Context/DataItem/UserName$
EventNumber: $Data/Context/Context/DataItem/EventNumber$

성능 임계치 모니터
Object (Perf Object Name): $Data/Context/ObjectName$
Counter (Perf Counter Name): $Data/Context/CounterName$
Instance (Perf Instance Name): $Data/Context/InstanceName$
Value (Perf Counter Value): $Data/Context/Value$

서비스 모니터
Service Name: $Data/Context/Property[@Name='Name']$
Service Dependencies: $Data/Context/Property[@Name='Dependencies']$
Service Binary Path: $Data/Context/Property[@Name='BinaryPathName']$
Service Display Name: $Data/Context/Property[@Name='DisplayName']$
Service Description: $Data/Context/Property[@Name='Description']$

로그 파일 모니터
Logfile Directory: $Data/Context/LogFileDirectory$
Logfile name: $Data/Context/LogFileName$
String: $Data/Context/Params/Param[1]$

로그 파일 규칙
Logfile Directory: $Data/EventData/DataItem/LogFileDirectory$
Logfile name: $Data/EventData/DataItem/LogFileName$
String: $Data/EventData/DataItem/Params/Param[1]$

알림 (E-mail, IM, SMS 등)
AlertID GUID: $Data/Context/DataItem/AlertId$
Alert Name: $Data/Context/DataItem/AlertName$
Alert category: $Data/Context/DataItem/Category$
True/False: $Data/Context/DataItem/CreatedByMonitor$
CustomField1: $Data/Context/DataItem/Custom1$
CustomField2: $Data/Context/DataItem/Custom2$ ...
UTC Date/Time of Dataitem created: $Data/Context/DataItem/DataItemCreateTime$
LocalTime Date/Time of Dataitem created: $Data/Context/DataItem/DataItemCreateTimeLocal$
UTC Date/Time DataItem was modified: $Data/Context/DataItem/LastModified$
Local Date/Time DataItem was modified: $Data/Context/DataItem/LastModifiedLocal$
ManagedEntity GUID: $Data/Context/DataItem/ManagedEntity$
ManagedEntity Display name: $Data/Context/DataItem/ManagedEntityDisplayName$
ManagedEntity Full name: $Data/Context/DataItem/ManagedEntityFullName$
Managed Entity Path: $Data/Context/DataItem/ManagedEntityPath$
Alert Priority Number (High=1,Medium=2,Low=3): $Data/Context/DataItem/Priority$
Alert Owner: $Data/Context/DataItem/Owner$
Alert Repeat Count: $Data/Context/DataItem/RepeatCount$
Resolution state ID (0=New, 255= Closed): $Data/Context/DataItem/ResolutionState$
UTC Date/Time ResolutionState was last modified: $Data/Context/DataItem/ResolutionStateLastModified$
Local Date/Time ResolutionState was last modified: $Data/Context/DataItem/ResolutionStateLastModifiedLocal$
Resolution State Name (New, Closed): $Data/Context/DataItem/ResolutionStateName$
Person resolving the alert: $Data/Context/DataItem/ResolvedBy$
Alert Severity ID: $Data/Context/DataItem/Severity$
TicketID: $Data/Context/DataItem/TicketId$
UTC Time Added: $Data/Context/DataItem/TimeAdded$
Local Time Added: $Data/Context/DataItem/TimeAddedLocal$
UTC Time Raised: $Data/Context/DataItem/TimeRaised$
Local Time Raised: $Data/Context/DataItem/TimeRaisedLocal$
UTC Date/Time the Alert was resolved: $Data/Context/DataItem/TimeResolved$
Workflow ID (GUID): $Data/Context/DataItem/WorkflowId$
The Web Console URL: $Target/Property[Type="Notification!Microsoft.SystemCenter.AlertNotificationSubscriptionServer"/WebConsoleUrl$
Principalname of the management server: Target/Property[Type="Notification!Microsoft.SystemCenter.AlertNotificationSubscriptionServer"/PrincipalName$
Name of the recipient (e.g. the Email alias to which the notification is addressed): $Data/Recipients/To/Address/Address$

:
Posted by 커널64