달력

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

SCOM 2007 R2 Cross Platform Monitoring 에이전트 배포 오류

대상 컴퓨터(CentOS.Contoso.Local:1270)의 서버 인증서에 SSL 인증서가 해지되었는지 확인할 수 없습니다. 해지를 확인하는 데 사용된 서버에 연결할 수 없습니다.
SSL 인증서에 호스트 이름과 일치하지 않는 CN(일반 이름)이 포함되어 있습니다. 오류가 있습니다.

위 오류 메시지가 나타나는 경우 해당 호스트에 root로 로그인 한 후
/opt/microsoft/scx/bin/tools 디렉터리로 이동한다.

./scxsslconfig -v -f 명령을 실행하면 자동으로 호스트 이름으로 하는 인증서를 생성한다.

만약, 관리 서버에서 관리되는 호스트 이름과 다른 경우 다음 명령을 통해 인증서의 CN을 강제로 넣을 수 있다.
./scxsslconfig -v -f -h <호스트 이름> -d <도메인 이름>

생성된 인증서는 다음 위치에 scx-host-<호스트 이름>.pem의 형태로 저장된다.
이 인증서를 관리 서버에서 신뢰할 수 있는 루트 인증 기관에 넣으려는 경우 이 파일을 WinSCP와 같은 툴을 통해 가져온 후 확장자를 .cer로 변경해 MMC 콘솔을 통해 가져오면 된다.
/etc/opt/microsoft/scx/ssl

:
Posted by 커널64

SCCM 2007 SP2, R2 및 R3에서 Windows 7 SP1과 Windows Server 2008 R2 SP1 지원

Windows 7 SP1 및 Windows Server 2008 R2 SP1에서 SCCM 콘솔과 Branch 배포 포인트의 설치가 지원된다.
Windows Server 2008 R2 SP1에서 SCCM의 모든 핵심 구성 요소와 역할 기능의 설치가 지원된다.

[요구 사항] Windows 7 SP1과 Windows Server 2008 R2 SP1에 다음 업데이트를 설치가 필요하다.
KB2489044 - http://support.microsoft.com/kb/2489044/en-us
KB977203 - http://support.microsoft.com/kb/977203/en-us

:
Posted by 커널64

SCOM DW DB에서 특정 클래스에서 발생한 경고 쿼리
심각도, 컴퓨터 이름, 클래스 ID/이름, 경고 이름, 발생 시간, 마지막 수정 시간(해결 시간), 소요 시간(분), 반복 횟수

Declare @Class nvarchar(30) = '%Operating System%' -- 클래스 이름 필터링
Declare @StartDate datetime = '2011-01-01' -- 시작 날짜
Declare @EndDate datetime = '2011-06-06' -- 종료 날짜
Select 
Case 
When Alert.vAlert.Severity = '0' Then N'Information' 
When Alert.vAlert.Severity = '1' Then N'Warning' 
When Alert.vAlert.Severity = '2' Then N'Critical' 
End as [Severity], 
Case
When ManagedEntity.Path is NULL Then ManagedEntity.Name
Else ManagedEntity.Path
End as [Path],
ManagedEntityTypeSystemName as [ClassID],
ManagedEntityTypeDefaultName as [ClassName],
AlertName as [AlertName], 
Convert(Char(20),Dateadd(hh,9,RaisedDateTime),120) as [Raised],
Convert(Char(20),Dateadd(hh,9,DWLastModifiedDateTime),120) as [LastModified],
DATEDIFF(n,RaisedDateTime,DWLastModifiedDateTime) as [MinutesToResolve],
RepeatCount as [RepeatCount]
from Alert.vAlert 
Join ManagedEntity on ManagedEntity.ManagedEntityRowId = Alert.vAlert.ManagedEntityRowId 
Join ManagedEntityType on ManagedEntity.ManagedEntityTypeRowId = ManagedEntityType.ManagedEntityTypeRowId 
Where ManagedEntityType.ManagedEntityTypeDefaultName like @Class AND
Dateadd(hh,9,RaisedDateTime)>= @StartDate AND Dateadd(hh,9,RaisedDateTime) <= DateAdd(dd,1,@EndDate) AND
ManagedEntityTypeSystemName <> 'Microsoft.SystemCenter.HealthServiceWatcher' AND -- HeartBeat 오류 제외
Severity IN (1,2) -- 심각도 필터링(0-정보, 1-경고, 2-위험)
Group By Severity,Path,ManagedEntity.Name,AlertName,RaisedDateTime,ManagedEntityTypeSystemName,RepeatCount,DWLastModifiedDateTime,ManagedEntityTypeDefaultName
Order by RaisedDateTime DESC

:
Posted by 커널64
2011. 2. 25. 11:33

[SCE 2010] System Center Essentials 2010 기능 SystemCenter2011. 2. 25. 11:33

System Center Essentials 2010과 SCOM, SCCM 및 SCVMM과의 기능 비교

서버 50대 미만, 클라이언트 500대 미만 제약.
http://www.microsoft.com/systemcenter/en/us/essentials/sce-compare-products.aspx



:
Posted by 커널64
2011. 2. 17. 13:13

[SCOM] SCOM 2007 R2 CU4 릴리즈 정보 SystemCenter2011. 2. 17. 13:13

:
Posted by 커널64

Windows Server 2008 R2에 SCCM 2007 설치

엄밀히 얘기하자면 사전 요구 사항 설치


1. AD 준비

1-1. AD 스키마 확장

> Schema Admins 그룹 구성원으로 로그온

> \SMSSETUP\BIN\I386\EXTADSCH.exe 실행

> C:\ExtADSch.log 확인

1-2. Systems Management 컨테이너 구성

> DC에 로그온

> adsiedit.msc 실행 후 DC에 연결

> CN=System 우클릭 -> 새로 만들기 -> 개체 -> container

> 값: 'System Management'

> ADCU 실행(dsa.msc) -> 보기 -> 고급 기능

> System -> System Management 우클릭 -> 속성 -> 보안

> 추가 -> SCCM 관리자 계정, SCCM 서버 컴퓨터 계정

> 읽기, 쓰기, 모든 자식 개체 만들기, 모든 자식 개체 삭제

> 고급 -> SCCM 관리자 계정, SCCM 서버 컴퓨터 계정

> 편집 -> 적용 대상 -> 이 개체 및 모든 하위 개체

> 이 컨테이너에 있는 개체 및/또는 컨테이너에... 체크

> 적용 및 확인


2. SCCM 서버 준비

[윈도우 구성 요소 설치(CMD)]

ServerManagerCmd.exe -i NET-Framework-Core Web-Server Web-DAV-Publishing Web-Asp-Net Web-ASP Web-Windows-Auth Web-Metabase Web-WMI BITS RDC Web-Dyn-Compression Web-Scripting-Tools Web-Mgmt-Service Web-Lgcy-Scripting


[윈도우 구성 요소 설치(PowerShell)]

Import-Module ServerManager

 Add-WindowsFeature NET-Framework-Core,Web-Server,Web-DAV-Publishing,Web-Asp-Net,Web-ASP,Web-Windows-Auth,Web-Metabase,Web-WMI,BITS,RDC,Web-Dyn-Compression,Web-Scripting-Tools,Web-Mgmt-Service,Web-Lgcy-Scripting


[WebDAV 구성]

%WINDIR%\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost

%WINDIR%\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /"+[users='*',path='*',access='Read']" /commit:apphost

%WINDIR%\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:true /commit:apphost

%WINDIR%\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring /properties.allowAnonymousPropfind:true /commit:apphost

%WINDIR%\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring /properties.allowCustomProperties:false /commit:apphost

%WINDIR%\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring /properties.allowInfinitePropfindDepth:true /commit:apphost

%WINDIR%\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:true /commit:apphost

%WINDIR%\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:windowsAuthentication /enabled:true /commit:apphost


3. SCCM 2007 R3를 설치하기 위한 사전 요구 사항(Hotfix)

KB977384를 다음 서버에 설치해야 한다.
(http://support.microsoft.com/kb/977384)
- 사이트 서버
- 콘솔이 설치된 컴퓨터
- 클라이언트(에이전트) 컴퓨터

:
Posted by 커널64
2010. 12. 15. 22:24

[SCSM] Service Manager 2010 SP1 한글 가이드 SystemCenter2010. 12. 15. 22:24

System Center Service Manager 2010 Service Pack 1 (SP1) 기준 한글판 가이드

:
Posted by 커널64

VBS VB Script SCOM System Center Operations Manager

' 파라미터로 경고 임계값과 오류 임계값
' 오류 상태 정의: Property[@Name='State'] 같음 Critical
' 경고 상태 정의: Property[@Name='State'] 같음 Warning
' 정상 상태 정의: Property[@Name='State'] 같음 Good
' 경고 설명: $Data/Context/Property[@Name='Message']$

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

If oArgs.Count <> 2 Then
WScrpit.Quit
End If

If cDbl(oArgs(1)) < cDbl(oArgs(0)) Then
WarningValue = cDbl(oArgs(0))
CriticalValue = cDbl(oArgs(1))
Else WarningValue = cDbl(oArgs(1))
CriticalValue = cDbl(oArgs(0))
End If

State = "Good"
Message = ""
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk Where DriveType = '3'")
For Each Item in colItems
FreeSpaceMB = RoundDown(Item.FreeSpace / 1048576)
If cDbl(FreeSpaceMB) > WarningValue Then
Call oBag.AddValue("Free Space(MB) on " & Item.DeviceID, FreeSpaceMB & " (OK)")
Else If cDbl(FreeSpaceMB) < CriticalValue Then
State = "Critical"
Call oBag.AddValue("Free Space(MB) on " & Item.DeviceID, FreeSpaceMB & " (Critical)")
Message = Message & "Free Space(MB) on " & Item.DeviceID & " " & FreeSpaceMB & " (Critical) | "
Else Call oBag.AddValue("Free Space(MB) on " & Item.DeviceID, FreeSpaceMB & " (Warning)")
Message = Message & "Free Space(MB) on " & Item.DeviceID & " " & FreeSpaceMB & " (Warning) | "
If State = "Critical" Then
Else State = "Warning"
End If
End If
End If
Next
If Message = "" Then
Message = "Message = "All Logical Free Disk Space is Good"
Else Message = LEFT(Message, LEN(Message)-3)
End If

Function RoundDown(Value)
If InStr(Value, ".") Then
RoundDown = Left(Value, InStr(Value, ".") + 2)
Else
RoundDown = Value
End If
End Function

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

:
Posted by 커널64

VBS VB Script System Center Operations Manager SCOM

' 파라미터로 서비스 이름(한 개 이상)
' 비정상 상태 정의: Property[@Name='State'] 같음 Bad
' 정상 상태 정의: Property[@Name='State'] 같음 Good
' 경고 설명: $Data/Context/Property[@Name='Message']$

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

If oArgs.Count = 0 Then
WScript.Quit
End If
Count = oArgs.Count - 1

Result = "Good"
Message = ""
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
For i = 0 to Count
Set colItems = objWMIService.ExecQuery ("Select * from Win32_Service Where Name = '" & oArgs(i) & "'")
If colItems.Count = 0 Then
Call oBag.AddValue(oArgs(i), "Not installed")
Message = Message & oArgs(i) & " Service: Not installed | "
Result = "Bad"
Else
For Each Item in colItems
If Item.State <> "Running" Then
Result = "Bad"
Call oBag.AddValue(Item.Caption, Item.State)
Message = Message & Item.Caption & "(" & oArgs(i) & ") Service: " & Item.State & " | "
Else Call oBag.AddValue(Item.Caption, Item.State)
End If
Next
End If
Next

If Message = "" Then
Message = "All services are running"
Else Message = LEFT(Message, LEN(Message)-3)
End If

Call oBag.AddValue("State", Result)
Call oBag.AddValue("Message", Message)
Call oAPI.Return(oBag)

:
Posted by 커널64

특정 프로세스의 CPU 사용률 수집 규칙 - SCOM
Win32_PerfRawData_PerfProc_Process 클래스를 쿼리해 논리적인 CPU 수로 나눠 계산한다.
SCOM VBS VBScript System Center Operations Manager

' 프로세스 CPU 사용률 수집 규칙
' 규칙 -> 수집 규칙 -> 프로브 기반 -> 스크립트(성능)
' 프로세스가 하나 이상일 경우 #1, #2와 같은 형태로 수집
' 개체: Process
' 카운터: % Processor Time
' 인스턴스: $Data/Property[@Name='ProcessName']$
' 값: $Data/Property[@Name='PerfValue']$

' 대상 프로세스 이름
strProcess = "notepad.exe"

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

If UCASE(RIGHT(strProcess,3)) = "EXE" Then
strProcess = LEFT(strProcess,LEN(strProcess) - 4)
End If

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colPerf = objWMIService.ExecQuery ("Select * from Win32_PerfRawData_PerfProc_Process Where Name = '" & strProcess & "'")
If colPerf.Count = 0 Then
WScript.Quit
End If

ProcessorCount = GetNumProcessors
i = 0
For Each strProcessPerf in colPerf
PerfValue = 0.0
PerfValue = GetCPUPerf(strProcessPerf.IDProcess)
If i > 0 Then
ProcessName =  strProcessPerf.Name & "#" & i
Else ProcessName =  strProcessPerf.Name
End If
Set propertyBag = oAPI.CreatePropertyBag()
propertyBag.AddValue "ProcessName",ProcessName
propertyBag.AddValue "PerfValue",PerfValue
oAPI.AddItem(propertyBag)
Call oAPI.Return(propertyBag)
i = i + 1
Next
Set colPerf = Nothing

Function GetCPUPerf(PID)
Set WMI_Service = GetObject("winmgmts:{impersonationlevel=impersonate}!\root\cimv2")
Set colItems = WMI_Service.ExecQuery ("Select * from Win32_PerfRawData_PerfProc_Process Where IDProcess = '" & PID & "'" )
For Each CPUPerfQ in colItems
N1 = CPUPerfQ.PercentProcessorTime
D1 = CPUPerfQ.TimeStamp_Sys100NS
Next
WScript.Sleep(1000)
Set colItems = WMI_Service.ExecQuery ("Select * from Win32_PerfRawData_PerfProc_Process Where IDProcess = '" & PID & "'" )
For Each CPUPerfQ in colItems
N2 = CPUPerfQ.PercentProcessorTime
D2 = CPUPerfQ.TimeStamp_Sys100NS
Next
If ( 0 = (D2-D1) ) then
GetCPUPerf = 0
Else
PercentProcessorTime = ((N2 - N1) / (D2 - D1)) * 100
GetCPUPerf = PercentProcessorTime / ProcessorCount
End If
Set WMI_Service = Nothing
End Function

Function RoundDown(Value)
If InStr(Value, ".") Then
RoundDown = Left(Value, InStr(Value, ".") + 3)
Else
RoundDown = Value
End If
End Function

Function GetNumProcessors
Set WMI_Service = GetObject("winmgmts:{impersonationlevel=impersonate}!\root\cimv2")
Set colItems = WMI_Service.ExecQuery ("Select * from Win32_ComputerSystem")
For Each objItem In colItems
On Error Resume Next
GetNumProcessors = objItem.NumberOfLogicalProcessors
If Err.number <> 0 Then
GetNumProcessors = objItem.NumberOfProcessors
End If
On Error GoTo 0
Next
End Function

:
Posted by 커널64