System Center Operations Manager에서 회색 에이전트 상태 문제 해결
이 문서에서는 OpsMgr(System Center Operations Manager)에서 에이전트, 관리 서버 또는 게이트웨이를 사용할 수 없거나 회색 으로 표시되는 문제를 해결하는 방법을 설명합니다.
원래 제품 버전: Microsoft System Center 2012 Operations Manager
원래 KB 번호: 2288515
에이전트, 관리 서버 또는 게이트웨이는 모니터링 창의 에이전트 이름 및 아이콘 색으로 표시된 다음 상태 중 하나를 가질 수 있습니다.
State(상태) | 화면 표시 | 설명 |
---|---|---|
정상 | 녹색 확인 표시 | 에이전트 또는 관리 서버가 정상적으로 실행됩니다. |
위험 | 빨간색 확인 표시 | 에이전트 또는 관리 서버에 문제가 있습니다. |
Unknown | 회색 에이전트 이름, 회색 확인 표시 | 모니터링되는 컴퓨터에 대한 상태 관리 서비스를 감시하는 관리 서버의 상태 관리 서비스 감시자가 에이전트에서 더 이상 하트비트를 받고 있지 않습니다. 이전에는 상태 관리 서비스 감시자가 하트비트를 받았고 상태가 정상으로 보고되었습니다. 또한 이 아이콘은 관리 서버가 더 이상 에이전트에서 어떤 정보도 받고 있지 않음을 의미합니다. 에이전트를 실행하는 컴퓨터가 실행되고 있지 않거나 연결 문제가 있는 경우 이 문제가 발생할 수 있습니다. |
Unknown | 녹색 원, 확인 표시 없음 | 검색된 항목의 상태를 알 수 없습니다. 이 검색된 특정 항목에 사용할 수 있는 모니터가 없습니다. |
회색 상태의 원인
에이전트, 관리 서버 또는 게이트웨이는 다음과 같은 이유로 사용할 수 없게 될 수 있습니다.
- 하트비트 실패
- 유효하지 않은 구성
- 시스템 워크플로 오류
- Operations Manager 데이터베이스 또는 데이터 웨어하우스 성능 문제
- 관리 서버 또는 게이트웨이 서버 성능 문제
- 네트워크 또는 인증 문제
- 상태 서비스가 실행되고 있지 않음
문제 범위
에이전트 회색으로 표시된 문제 해결을 시작하기 전에 먼저 Operations Manager 토폴로지와 문제의 범위를 정의해야 합니다. 다음 질문은 문제의 범위를 정의하는 데 도움이 될 수 있습니다.
- 영향을 받는 에이전트는 몇 개인가요?
- 에이전트가 동일한 네트워크 세그먼트에서 문제가 발생합니까?
- 에이전트가 동일한 관리 서버에 보고합니까?
- 에이전트는 회색 상태로 얼마나 자주 들어가고 유지합니까?
- 일반적으로 이 상황에서 복구하려면 어떻게 해야 할까요(예: 에이전트 상태 서비스를 다시 시작하고, 캐시를 지우고, 자동 복구에 의존)?
- 이러한 에이전트에 대해 하트비트 실패 경고가 생성되었나요?
- 이 문제는 하루 중 특정 시간에 발생하나요?
- 이러한 에이전트를 다른 관리 서버 또는 게이트웨이로 장애 조치하는 경우 이 문제가 지속됩니까?
- 이 문제가 언제 시작되었나요?
- 에이전트, 관리 서버 또는 게이트웨이 또는 관리 그룹이 변경되었나요?
- 영향을 받는 에이전트 Windows 클러스터형 시스템인가요?
- 상태 관리 서비스 상태 폴더가 바이러스 백신 검사에서 제외됩니까?
문제 해결 전략
문제 해결 전략은 어떤 구성 요소가 비활성 상태인지, 해당 구성 요소가 토폴로지 내에 속하는지, 그리고 문제가 얼마나 광범위한지에 따라 결정됩니다. 다음 조건을 확인합니다.
- 특정 관리 서버 또는 게이트웨이에 보고하는 에이전트를 사용할 수 없는 경우 관리 서버 또는 게이트웨이 수준에서 문제 해결을 시작해야 합니다.
- 특정 관리 서버에 보고하는 게이트웨이를 사용할 수 없는 경우 관리 서버 수준에서 문제 해결을 시작해야 합니다.
- 에이전트 없는 시스템, 네트워크 디바이스 및 Unix 및 Linux 서버의 경우 이러한 개체를 모니터링하는 에이전트, 관리 서버 또는 게이트웨이에서 문제 해결을 시작해야 합니다.
- 문제 해결은 일반적으로 사용할 수 없는 구성 요소 바로 위의 수준에서 시작됩니다.
시나리오 1
문제의 영향을 받는 에이전트는 몇 명뿐입니다. 이러한 에이전트는 다른 관리 서버에 보고합니다. 에이전트는 정기적으로 사용할 수 없습니다. 에이전트 캐시를 지워 문제를 일시적으로 해결할 수 있지만 며칠 후에 문제가 다시 발생합니다.
시나리오 1에 대한 해결 방법
이 시나리오에서 문제를 해결하려면 다음 단계를 수행합니다.
- 영향을 받는 운영 체제에 적절한 핫픽스를 적용합니다.
- 바이러스 백신 검사에서 에이전트 캐시를 제외합니다. 자세한 내용은 Operations Manager와 관련된 바이러스 백신 제외에 대한 권장 사항을 참조하세요.
- 상태 서비스를 중지합니다.
- 에이전트 캐시를 지웁다.
- 상태 서비스를 시작합니다.
시나리오 2
문제의 영향을 받는 에이전트는 몇 명뿐입니다. 이러한 에이전트는 다른 관리 서버에 보고합니다. 에이전트는 지속적으로 비활성 상태로 유지됩니다. 에이전트 캐시를 지울 수 있지만 문제가 해결되지는 않습니다.
시나리오 2에 대한 해결 방법
이 시나리오에서 문제를 해결하려면 다음 단계를 수행합니다.
상태 서비스가 켜져 있고 현재 관리 서버 또는 게이트웨이에서 실행 중인지 확인합니다. 상태 서비스가 응답을 중지한 경우 서비스 중단 모드에서 ADPlus 덤프를 생성하여 문제의 원인을 파악합니다. 자세한 내용은 ADPlus.vbs를 사용하여 "중단" 및 "충돌" 문제를 해결하는 방법을 참조 하세요.
에이전트에서 Operations Manager 이벤트 로그를 검사하여 다음 이벤트를 찾습니다.
이벤트 ID: 1102
이벤트 원본: HealthService
이벤트 설명:
ID가 "%2"인 인스턴스 "%3"에 대해 실행되는 규칙/모니터 "%4"는 초기화할 수 없으며 로드되지 않습니다. 관리 그룹 "%1"이벤트 ID: 1103
이벤트 원본: HealthService
이벤트 설명:
요약: %2 규칙/모니터가 실패하고 언로드되었습니다. 그 중 %3이(가) 자동 다시 로드를 방지하는 실패 한도에 도달했습니다. 관리 그룹 "%1". 이는 요약 전용 이벤트입니다. 언로드된 규칙/모니터에 대한 설명이 있는 다른 이벤트를 참조하세요.이벤트 ID: 1104
이벤트 원본: HealthService
이벤트 설명:
워크플로 "%4"의 RunAs 프로필로, ID가 "%2"인 "%3" 인스턴스에 대해 실행 중이면 확인할 수 없습니다. 워크플로가 로드되지 않습니다. 관리 그룹 "%1"이벤트 ID: 1105
이벤트 원본: HealthService
이벤트 설명:
워크플로 "%4"에서 RunAs 프로필에 대한 형식 불일치를 입력합니다. id:"%2"가 있는 인스턴스 "%3"에 대해 실행됩니다. 워크플로가 로드되지 않습니다. 관리 그룹 "%1"이벤트 ID: 1106
이벤트 원본: HealthService
이벤트 설명:
워크플로 "%4"에서 ID가 "%2"인 인스턴스 "%3"에 대해 실행되는 일반 텍스트 RunAs 프로필에 액세스할 수 없습니다. 워크플로가 로드되지 않습니다. 관리 그룹 "%1"이벤트 ID: 1107
이벤트 원본: HealthService
이벤트 설명:
ID가 "%2"인 "%3" 인스턴스에 대해 실행되는 워크플로 "%4"의 RunAs 프로필 계정이 정의되지 않았습니다. 워크플로가 로드되지 않습니다. 프로필과 계정을 연결합니다. 관리 그룹 "%1"이벤트 ID: 1108
이벤트 원본: HealthService
이벤트 설명:
실행 프로필 "%7"에 지정된 계정을 확인할 수 없습니다. 특히 이 계정은 보안 참조 재정의 "%6"에 사용됩니다. %n%n이 조건은 이 컴퓨터에 배포되도록 계정이 구성되지 않은 경우에 발생할 수 있습니다. 이 문제를 해결하려면 아래 지정된 실행 프로필을 열고, 해당 SSID에 지정된 계정 항목을 찾은 후, 이 컴퓨터에 계정을 배포하도록 선택(해당되는 경우)하거나 대상 개체가 지정된 계정을 사용할 수 없도록 프로필 설정을 변경합니다. %n%n관리 그룹: %1 %n실행 프로필: %7 %nSecureReferenceOverride 이름: %6 %nSecureReferenceOverride ID: %4 %n개체 이름: %3 %n개체 ID: %2 %n계정 SSID: %5이벤트 ID: 4000
이벤트 원본: HealthService
이벤트 설명:
모니터링 호스트가 응답하지 않거나 충돌했습니다. 호스트 오류에 대한 상태 코드가 %1입니다.이벤트 ID: 21016
이벤트 원본: OpsMgr 커넥터
이벤트 설명:
OpsMgr에서 %1로 통신 채널을 설정할 수 없으며 장애 조치(failover) 호스트가 없습니다. %1을(를) 사용할 수 있고 이 컴퓨터의 통신이 허용되면 통신이 다시 시작됩니다.이벤트 ID: 21006
이벤트 원본: OpsMgr 커넥터
이벤트 설명:
OpsMgr 커넥터가 %1:%2에 연결할 수 없습니다. 오류 코드는 %3(%4)입니다. 네트워크 연결이 있고 서버가 실행 중이며 수신 대기 포트를 등록했으며 대상에 대한 트래픽을 차단하는 방화벽이 없는지 확인하세요.이벤트 ID: 20070
이벤트 원본: OpsMgr 커넥터
이벤트 설명:
OpsMgr 커넥터가 %1에 연결되었지만 인증이 발생한 직후 연결이 닫혔습니다. 에이전트에 서버와 통신할 권한이 없거나 서버가 구성을 수신하지 못했기 때문에 오류가 발생했을 수 있습니다. 서버의 이벤트 로그에 20000개의 이벤트가 있는지 확인하십시오. 승인되지 않은 에이전트가 연결을 시도하면 이와 같이 나타납니다.이벤트 ID: 20051
이벤트 원본: OpsMgr 커넥터
이벤트 설명:
인증서가 현재 유효하지 않으므로 지정된 인증서를 로드할 수 없습니다. 시스템 시간이 올바른지 확인하고 필요한 경우 인증서를 다시 발급합니다.%n 인증서 유효 시작 시간: %1%n 인증서 유효 종료 시간: %2이벤트 원본: ESE
이벤트 범주: 트랜잭션 관리자
이벤트 ID: 623
설명: PID>(<HealthService) 인스턴스<>("<이름>")의 버전 저장소가 최대< 값> Mb에 도달했습니다. 장기 실행 트랜잭션이 버전 저장소의 정리를 방지하고 크기가 쌓이게 할 수 있습니다. 장기 실행 트랜잭션이 완전히 커밋되거나 롤백될 때까지 업데이트가 거부됩니다. 가능한 장기 실행 트랜잭션:
SessionId: <value>
세션 컨텍스트: <값>
세션 컨텍스트 ThreadId: <값>입니다.
정리: <값>다음과 같은 특정 이벤트를 찾으면 다음 지침을 따릅니다.
이벤트 1102 및 1103: 이 이벤트는 일부 워크플로를 로드하지 못했음을 나타냅니다. 이것이 핵심 시스템 워크플로인 경우 이러한 이벤트로 인해 문제가 발생할 수 있습니다. 이 경우 이러한 이벤트를 해결하는 데 중점을 둡니다.
이벤트 1104, 1105, 1106, 1107 및 1108: 이러한 이벤트로 인해 이벤트 1102 및 1103이 발생할 수 있습니다. 일반적으로 이는 잘못 구성된 실행 계정 때문에 발생합니다. 예를 들어 실행 계정이 잘못된 클래스와 함께 사용되도록 구성되었거나 에이전트에 배포되도록 구성되지 않았습니다.
이벤트 4000: 이 이벤트는 Monitoringhost.exe 프로세스가 충돌했음을 나타냅니다. DLL 불일치 또는 레지스트리 키 누락으로 인해 이 문제가 발생하는 경우 에이전트를 다시 설치하여 문제를 해결할 수 있습니다. 문제가 지속되면 다음 메서드를 사용하여 해결해 보세요.
이벤트 ID 21006: 이 이벤트는 에이전트와 관리 서버 간에 통신 문제가 있음을 나타냅니다. 에이전트가 상호 인증에 인증서를 사용하는 경우 인증서가 만료되지 않았는지, 에이전트가 올바른 인증서를 사용하고 있는지 확인합니다. Kerberos를 사용하는 경우 에이전트가 Active Directory와 통신할 수 있는지 확인합니다. 인증이 제대로 작동하는 경우 에이전트의 패킷이 관리 서버 또는 게이트웨이에 도달하지 않음을 의미할 수 있습니다. 에이전트에서 관리 서버로 5723 포트에 대한 텔넷을 설정해 봅니다. 또한 통신 오류를 재현하는 동안 에이전트와 관리 서버 간에 동시 네트워크 추적을 실행합니다. 이렇게 하면 패킷이 관리 서버에 도달하는지 여부와 두 구성 요소 간의 디바이스가 트래픽을 최적화하려고 하는지 또는 일부 패킷을 삭제하는지를 확인하는 데 도움이 될 수 있습니다. 자세한 내용은 네트워크 모니터를 사용하여 데이터 수집을 참조하세요.
이벤트 ID 623: 이 이벤트는 일반적으로 관리 서버 또는 에이전트 컴퓨터가 많은 워크플로를 관리하는 대규모 Operations Manager 환경에서 발생합니다. 자세한 내용은 Operations Manager 콘솔에서 하나 이상의 관리 서버 및 관리 디바이스가 흐리게 표시됩니다.
시나리오 3
특정 관리 서버 또는 게이트웨이에 보고하는 모든 에이전트를 사용할 수 없습니다.
시나리오 3에 대한 해결 방법
이 시나리오에서 문제를 해결하려면 다음 단계를 수행합니다.
관리 서버 또는 게이트웨이에서 모니터링하는 워크로드 종류를 확인합니다. 이러한 워크로드에는 네트워크 디바이스, 플랫폼 간 에이전트, 가상 트랜잭션, Windows 에이전트 및 에이전트 없는 컴퓨터가 포함될 수 있습니다.
상태 서비스가 관리 서버 또는 게이트웨이에서 실행 중인지 확인합니다.
관리 서버가 유지 관리 모드에서 실행 중인지 여부를 확인합니다. 필요한 경우 유지 관리 모드에서 서버를 제거합니다.
시나리오 2에 나열된 이벤트에 대한 에이전트의 Operations Manager 이벤트 로그를 검사합니다. 이벤트 ID 21006이 있는 경우 시나리오 2의 해결에 언급된 것과 동일한 지침을 따릅니다. 또한 이 경우 이 이벤트는 관리 서버 또는 게이트웨이가 부모 서버와 통신할 수 없음을 나타냅니다. 게이트웨이의 경우 부모 서버는 모든 관리 서버일 수 있습니다. (다음의 3단계 참조 시나리오 2에 대한 해결 방법입니다.)
Operations Manager 이벤트 로그에서 다음 이벤트를 검사합니다. 이러한 이벤트는 일반적으로 관리 서버 또는 데이터베이스를 호스팅
OperationsManager
OperationsManagerDW
하는 Microsoft SQL Server에 성능 문제가 있음을 나타냅니다.이벤트 ID: 2115
이벤트 원본: HealthService
이벤트 설명:
관리 그룹 %1의 바인딩 데이터 원본이 워크플로에 항목을 게시했지만 %5초 후에 응답을 받지 못했습니다. 워크플로의 성능 또는 기능 문제를 나타냅니다.%n 워크플로 ID: %2%n 인스턴스: %3%n 인스턴스 ID: %4%n이벤트 ID: 5300
이벤트 원본: HealthService
이벤트 설명:
로컬 상태 서비스가 정상이 아닙니다. 엔터티 상태 변경 흐름이 보류 중인 승인으로 중단되었습니다. %n%n관리 그룹: %2 %n관리 그룹 ID: %1이벤트 ID: 4506
이벤트 원본: HealthService
이벤트 설명: Operations Manager
관리 그룹 "%1"에서 ID가 "%4"인 인스턴스 "%3"에 대해 실행 중인 규칙 "%2"의 미해결 데이터가 너무 많아 데이터가 삭제되었습니다.이벤트 ID: 31551
이벤트 원본: 상태 관리 서비스 모듈
이벤트 설명:
데이터 웨어하우스에 데이터를 저장하지 못했습니다. 작업이 다시 시도됩니다.%rException '%5': %6 %n%n원 이상의 워크플로가 영향을 받았습니다. %n%nWorkflow 이름: %2 %n인스탄스 이름: %3 %n인스탄스 ID: %4 %n매니지먼트 그룹: %1이벤트 ID: 31552
이벤트 원본: 상태 관리 서비스 모듈
이벤트 설명:
데이터 웨어하우스에 데이터를 저장하지 못했습니다.%rException '%5': %6 %n%n원 이상의 워크플로가 영향을 받았습니다. %n%nWorkflow 이름: %2 %n인스탄스 이름: %3 %n인스탄스 ID: %4 %n매니지먼트 그룹: %1이벤트 ID: 31553
이벤트 원본: 상태 관리 서비스 모듈
이벤트 설명:
데이터가 데이터 웨어하우스 준비 영역에 기록되었지만 후속 작업 중 하나에서 처리에 실패했습니다.%rException '%5': %6 %n%n원 이상의 워크플로가 영향을 받았습니다. %n%nWorkflow 이름: %2 %n인스탄스 이름: %3 %n인스탄스 ID: %4 %n매니지먼트 그룹: %1이벤트 ID: 31557
이벤트 원본: 상태 관리 서비스 모듈
이벤트 설명:
데이터 웨어하우스 데이터베이스에서 동기화 프로세스 상태 정보를 가져오지 못했습니다. 작업이 다시 시도됩니다.%rException '%5': %6 %n%n원 이상의 워크플로가 영향을 받았습니다. %n%nWorkflow 이름: %2 %n인스탄스 이름: %3 %n인스탄스 ID: %4 %n매니지먼트 그룹: %1이벤트 ID 3155X는 실행 계정 구성이 잘못되었거나 실행 계정에 대한 사용 권한이 누락되어 기록될 수도 있습니다.
참고 항목
관리 서버 또는 게이트웨이 성능 및 SQL Server 성능 문제를 해결하려면 시나리오 4에 대한 해결 방법을 참조하세요.
시나리오 4
특정 관리 서버에 보고하는 모든 에이전트는 정상 상태와 회색 상태 간에 간헐적으로 대체됩니다. 또는 환경의 모든 에이전트가 정상 상태와 회색 상태 간에 간헐적으로 대체됩니다.
시나리오 4에 대한 해결 방법
문제를 해결하려면 먼저 문제의 원인을 확인합니다. 임시 서버를 사용할 수 없는 일반적인 원인은 다음과 같습니다.
- 에이전트의 부모 서버가 일시적으로 오프라인 상태입니다.
- 에이전트는 경고, 상태, 검색 등과 같은 운영 데이터로 관리 서버에 넘쳐나고 있습니다. 이로 인해 Operations Manager 데이터베이스 및 Operations Manager 서버에서 시스템 리소스의 사용이 증가할 수 있습니다.
- 네트워크 중단으로 인해 부모 서버와 에이전트 간에 일시적인 통신 오류가 발생했습니다.
- MP(관리 팩) 변경이 발생했습니다. Operations Manager 콘솔에서 이러한 변경 내용을 변경하려면 Operations Manager 구성 및 에이전트에 대한 MP 재배포가 필요합니다. 변경 내용이 더 큰 에이전트 기반에 영향을 주면 Operations Manager 데이터베이스 및 Operations Manager 서버에서 시스템 리소스 사용량이 증가할 수 있습니다.
이러한 시나리오에서 문제 해결의 핵심은 서버를 사용할 수 없는 기간과 서버가 발생한 시간을 이해하는 것입니다. 이렇게 하면 문제의 범위를 빠르게 좁힐 수 있습니다.
관리 서버 및 게이트웨이 성능 문제 해결
관리 서버
구성 업데이트 버스트(MP 가져오기 및 검색으로 인해 발생)하는 동안 일반적인 병목 현상은 첫 번째, CPU 및 두 번째, Operations Manager 설치 디스크 I/O입니다. 관리 서버는 구성 파일을 대상 에이전트에 전달하는 역할을 합니다.
작동 데이터 수집의 경우 병목 현상은 일반적으로 CPU에 의해 발생합니다. 디스크 I/O도 최대 용량에 있을 수 있지만 그럴 가능성은 없습니다. 관리 서버는 들어오는 작동 데이터의 압축을 풀고 해독하여 운영 데이터베이스에 삽입하는 역할을 합니다. 또한 작동 데이터를 받은 후 ACK(승인)를 에이전트나 게이트웨이로 다시 보내고 디스크 대기열을 사용하여 이러한 발신 ACK를 임시로 저장합니다.
게이트웨이
게이트웨이는 CPU 바인딩 및 I/O 바인딩입니다. 게이트웨이가 많은 양의 데이터를 릴레이하는 경우 CPU 및 I/O 작업 모두 높은 사용량을 표시할 수 있습니다. 대부분의 CPU 사용량은 들어오는 데이터의 압축 해제, 압축, 암호화 및 암호 해독과 해당 데이터 전송으로 인해 발생합니다. 게이트웨이 및 에이전트에서 수신되는 모든 데이터는 게이트웨이 상태 서비스에서 관리 서버로 읽고 전달하기 위해 디스크의 영구 큐에 저장됩니다. 이로 인해 디스크 사용량이 많을 수 있습니다. 이 사용은 게이트웨이가 일시적으로 오프라인으로 전환된 후 에이전트가 생성하여 게이트웨이가 여전히 오프라인 상태일 때 보내려고 했던 누적된 에이전트 데이터를 처리해야 할 때 중요할 수 있습니다.
이 상황에서 문제를 해결하려면 영향을 받는 각 관리 서버 또는 게이트웨이에 대해 다음 정보를 수집합니다.
정확한 Windows 버전, 버전 및 빌드 번호
프로세서 수
RAM 용량
상태 관리 서비스 State 폴더를 포함하는 드라이브
바이러스 백신 소프트웨어가 상태 관리 서비스 저장소를 제외하도록 구성되었는지 여부
참고 항목
자세한 내용은 Operations Manager와 관련된 바이러스 백신 제외에 대한 권장 사항을 참조하세요.
상태 관리 서비스 State에서 사용하는 드라이브의 RAID 수준(
0
,0+1
1
5
또는)1+0
RAID에 사용되는 디스크 수
배열 컨트롤러에서 배터리 지원 쓰기 캐시를 사용할 수 있는지 여부
SQL Server 성능 문제 해결
운영 데이터베이스(OperationsManager)
OperationsManager
데이터베이스의 경우 가장 가능성이 높은 병목 현상은 디스크 배열입니다. 디스크 배열이 최대 I/O 용량에 있지 않은 경우 다음으로 가장 가능성이 높은 병목 현상은 CPU입니다. 데이터베이스는 경우에 따라 속도 저하 및 작동 데이터 폭풍(상대적으로 오랫동안 지속되는 높은 이벤트, 경고 및 성능 데이터 또는 상태 변경 발생)을 경험하게 됩니다. 짧은 버스트는 일반적으로 장기간 동안 상당한 지연을 일으키지 않습니다.
작동 데이터를 삽입하는 동안 데이터베이스 디스크는 주로 쓰기에 사용됩니다. CPU 사용은 SQL Server 변동으로 인해 발생합니다. 이는 크고 복잡한 쿼리, 과도한 데이터 삽입, 큰 테이블의 정리(기본적으로 자정에 발생)가 있는 경우에 발생할 수 있습니다. 일반적으로 대규모 이벤트 및 성능 데이터 테이블의 정리에도 과도한 CPU 또는 디스크 리소스가 소모되지 않습니다. 그러나 경고 및 상태 변경 테이블의 정리는 큰 테이블의 경우 CPU를 많이 사용합니다.
또한 데이터베이스는 MP 가져오기 또는 대규모 인스턴스 공간 변경으로 인해 발생하는 구성 재배포 버스트를 처리할 때 CPU에 바인딩됩니다. 이러한 경우 구성 서비스는 새 에이전트 구성에 대해 데이터베이스를 쿼리합니다. 이로 인해 일반적으로 서비스가 에이전트에 구성 업데이트를 보내기 전에 데이터베이스에서 CPU 급증이 발생합니다.
데이터 웨어하우스(OperationsManagerDW)
OperationsManagerDW
데이터베이스의 경우 가장 가능성이 높은 병목 현상은 디스크 배열입니다. 이는 일반적으로 대규모 작동 데이터 삽입으로 인해 발생합니다. 이러한 경우 디스크는 대부분 쓰기를 수행하는 데 사용됩니다. 일반적으로 디스크는 데이터 웨어하우스에서 쿼리를 실행하기 때문에 수동으로 생성된 보고 뷰를 처리하는 것을 제외하고는 읽기를 거의 수행하지 않습니다.
CPU 사용량은 SQL Server 변동으로 인해 발생합니다. 과도한 분할 작업(테이블이 커진 다음 분할될 때), 복잡한 보고서 생성 및 데이터 웨어하우스가 지속적으로 동기화해야 하는 데이터베이스에 많은 양의 경고가 발생하는 동안 CPU 급증이 발생할 수 있습니다.
일반적인 문제 해결
이 상황에서 문제를 해결하려면 영향을 받는 각 관리 서버 또는 게이트웨이에 대해 다음 정보를 수집합니다.
정확한 Windows 버전, 버전 및 빌드 번호
프로세서 수
RAM 용량
SQL Server에 할당된 메모리 양
SQL Server가 32비트이고 AWE가 사용하도록 설정되어 있는지 여부
이 정보의 대부분은 SQL Server Management Studio 또는 SQL Server 엔터프라이즈 관리자에서 찾을 수 있습니다. 이렇게 하려면 서버의 속성 창을 열고 일반 및 메모리 탭을 선택합니다. 일반 탭에는 SQL Server 버전, Windows 버전, 플랫폼, RAM 용량 및 프로세서 수가 포함됩니다. 메모리 탭에는 SQL Server에 할당된 메모리가 포함됩니다. Microsoft SQL Server 2008의 메모리 탭에는 AWE 옵션도 포함되어 있습니다.
OS가 32비트이고 RAM이 4GB 이상인 경우 Boot.ini에
/pae
또는/3gb
스위치가 있는지 확인합니다. 추가합니다. 이 옵션은 서버가 원래 4GB 이하의 RAM으로 설치되어 있고 나중에 RAM이 업그레이드된 경우 잘못 구성될 수 있습니다.RAM이 4GB인 32비트 서버의 경우 Boot.ini의
/3gb
스위치는 SQL Server가 처리할 수 있는 메모리 양을 2GB에서 3GB로 늘립니다. 4GB 이상의 RAM이 있는 32비트 서버의 경우 Boot.ini의/3gb
스위치는 실제로 SQL Server가 처리할 수 있는 메모리 양을 제한할 수 있습니다. 이러한 시스템의 경우/pae
스위치를 Boot.ini에 추가한 다음 SQL Server에서 AWE를 사용하도록 설정합니다.다중 프로세서 시스템에서는 최대 병렬 처리 수준(MAXDOP) 설정을 확인합니다. SQL Server 2008에서 이 옵션은 서버의 속성 대화 상자에 있는 고급 탭에 있습니다.
기본값은 사용 가능한 모든 프로세서가 사용됨을 의미하는 0입니다. 프로세서가 8개 이하인 서버의 경우 0으로 설정하는 것이 좋습니다. 8개 이상의 프로세서가 있는 서버의 경우 SQL Server에서 모든 프로세서의 사용을 조정하는 데 걸리는 시간은 비생산적일 수 있습니다. 따라서 8개 이상의 프로세서가 있는 서버의 경우 일반적으로 최대 병렬 처리 수준을 8 값으로 설정해야 합니다. 이렇게 하려면 SQL 쿼리 분석기에서 다음 명령을 실행합니다.
sp_configure 'show advanced options', 1 GO RECONFIGURE WITH OVERRIDE GO sp_configure 'max degree of parallelism', 8 GO RECONFIGURE WITH OVERRIDE GO
데이터 웨어하우스, Operations Manager DB 및 Tempdb 파일을 포함하는 드라이브 문자
바이러스 백신 소프트웨어가 SQL 데이터 및 로그 파일을 제외하도록 구성되었는지 여부(바이러스 백신 소프트웨어로 SQL Server 데이터베이스 파일을 검사하면 성능이 저하될 수 있습니다.)
데이터 웨어하우스, Operations Manager DB 및 Tempdb 파일이 포함된 드라이브의 여유 공간 양
스토리지 형식(SAN 또는 로컬)
SQL Server에서 사용하는 드라이브의 RAID 수준(0, 1, 5, 0+1 또는 1+0)
SAN 스토리지가 사용되는 경우: SQL Server에서 사용하는 각 LUN의 스핀들 수
변환된 Exchange 2007 관리 팩을 사용 중이거나 사용한 적이 있는 경우: Operations
LocalizedText
Manager 데이터베이스의 테이블 및 데이터 웨어하우스 데이터베이스의EventPublisher
테이블에 있는 행 수행 크기를 확인하려면 다음 명령을 실행합니다.
USE OperationsManager SELECT COUNT(*) FROM LocalizedText USE OperationsManagerDW SELECT COUNT(*) FROM EventPublisher
메모리 압력을 식별하는 카운터
성능 카운터 이름 | 설명 |
---|---|
MSSQL$<instance>: Buffer Manager: 페이지 평균 수명 | 버퍼 풀에서 페이지가 지속되는 시간입니다. 이 값이 300초 미만이면 서버가 더 많은 메모리를 사용할 수 있음을 나타낼 수 있습니다. 인덱스 조각화로 인해 발생할 수도 있습니다. |
MSSQL$<instance>: Buffer Manager: Lazy writes/sec | 지연 기록기는 페이지를 디스크로 이동하여 버퍼의 공간을 확보합니다. 일반적으로 값은 지속적으로 초당 20회 쓰기를 초과해서는 안 됩니다. 이상적으로는 0에 가깝습니다. |
Memory: Available Mbytes | 100MB 미만의 값은 메모리 압력을 나타낼 수 있습니다. 이 양이 10MB 미만이면 메모리 압력이 분명히 존재합니다. |
Process: Private Bytes: _Total | 이는 결합된 모든 프로세스에서 사용하는 메모리(실제 및 페이지)의 양입니다. |
Process: Working Set: _Total | 이는 결합된 모든 프로세스에서 사용하는 실제 메모리의 양입니다. 이 카운터의 값이 Process: Private Bytes: _Total 의 값보다 훨씬 낮으면 프로세스가 너무 많이 페이징하고 있음을 나타냅니다. 10% 이상의 차이는 아마도 중요할 것입니다. |
디스크 압력을 식별하는 카운터
SQL 데이터 또는 로그 파일이 포함된 모든 드라이브에 대해 다음 실제 디스크 카운터를 캡처합니다.
% 유휴 시간: 보고되는 디스크 유휴 시간입니다. 50% 미만이면 디스크 병목 현상을 나타낼 수 있습니다.
평균 디스크 큐 길이: 이 값은 LUN의 스핀들 수의 두 배를 초과할 수 없습니다. 예를 들어 LUN에 25개의 스핀들이 있는 경우 값 50이 허용됩니다. 그러나 LUN에 10개의 스핀들이 있는 경우 값 25는 너무 높습니다. RAID 구성에서 RAID 수준 및 디스크 수를 기반으로 다음 수식을 사용할 수 있습니다.
RAID 0: 모든 디스크가 RAID 0 집합에서 작동합니다.
평균 디스크 큐 길이<= # (배열의 디스크) *2
RAID 1: 디스크의 절반이 작동 중입니다. 따라서 그중 절반만 디스크 큐에 포함될 수 있습니다.
평균 디스크 큐 길이<= # (배열의 디스크/2) *2
RAID 10: 디스크의 절반이 "작동 중"입니다. 따라서 그중 절반만 디스크 큐에 포함될 수 있습니다.
평균 디스크 큐 길이<= # (배열의 디스크/2) *2
RAID 5: 모든 디스크가 RAID 5 집합에서 작동합니다.
배열의 평균 디스크 큐 길이< = # 디스크 *2
평균 디스크 초/전송: 하나의 디스크 I/O를 완료하는 데 걸리는 시간(초)입니다.
평균 디스크 초/읽기: 디스크에서 데이터를 읽는 평균 시간(초)입니다.
평균 디스크 초/쓰기: 디스크에 데이터를 쓰는 평균 시간(초)입니다.
이 목록의 마지막 세 카운터는 일관되게 약 .020(20ms) 이하의 값을 가져야 하며 .050(50ms)을 초과해서는 안 됩니다. 다음은 SQL Server 성능 문제 해결 가이드에 설명된 임계값입니다.
- 10ms 미만: 매우 좋음
- 10 - 20ms 사이: 괜찮음
- 20 - 50ms 사이: 느림, 주의가 필요함
- 50ms 초과: 심각한 I/O 병목 현상
디스크 바이트/초: 초당 디스크로 또는 디스크에서 전송되는 바이트 수
디스크 전송/초: IOPS(초당 입출력 작업 수)입니다.
%유휴 시간이 낮을 때(10% 이하) 디스크가 완전히 사용됨을 의미합니다. 이 경우 이 목록의 마지막 두 카운터(디스크 바이트/초 및 디스크 전송/초)는 드라이브의 최대 처리량을 각각 바이트 및 IOPS로 잘 나타냅니다. SAN 드라이브의 처리량은 스핀들 수, 드라이브 속도 및 채널 속도에 따라 매우 다양합니다. 가장 좋은 방법은 SAN 공급업체에 문의하여 드라이브가 지원해야 하는 바이트 및 IOPS 수를 알아보는 것입니다. % 유휴 시간이 낮고 이 두 카운터의 값이 드라이브의 예상 처리량을 충족하지 않는 경우 SAN 공급업체에 문의하여 문제를 해결합니다.
SQL Server 성능 문제 해결 가이드는 SQL Server 성능 문제 해결에 대한 자세한 정보를 제공합니다.
Operations Manager 성능 카운터
다음 섹션에서는 Operations Manager 성능을 모니터링하고 문제를 해결하는 데 사용할 수 있는 성능 카운터에 대해 설명합니다.
게이트웨이 서버 역할
전체 성능 카운터
이러한 카운터는 게이트웨이의 전반적인 성능을 나타냅니다.
성능 카운터 이름 |
---|
Processor(_Total)\% Processor Time |
Memory\% Committed Bytes In Use |
Network Interface(*)\Bytes Total/sec |
LogicalDisk(*)\% 유휴 시간 |
LogicalDisk(*)\Avg. 디스크 큐 길이 |
Operations Manager 프로세스 일반 성능 카운터
이러한 카운터는 게이트웨이에서 Operations Manager 프로세스의 전반적인 성능을 나타냅니다.
성능 카운터 이름 | 설명 |
---|---|
Process(HealthService)\% Processor Time | |
Process(HealthService)\Private Bytes | 이 게이트웨이에서 관리하는 에이전트 수에 따라 이 수는 달라질 수 있으며 수백 메가바이트일 수 있습니다. |
Process(HealthService)\Thread Count | |
Process(HealthService)\Virtual Bytes | |
Process(HealthService)\Working Set | |
Process(MonitoringHost*)\% Processor Time | |
Process(MonitoringHost*)\Private Bytes | |
Process(MonitoringHost*)\Thread Count | |
Process(MonitoringHost*)\Virtual Bytes | |
Process(MonitoringHost*)\Working Set |
Operations Manager 특정 성능 카운터
이러한 카운터는 게이트웨이에서 Operations Manager의 특정 측면의 성능을 나타내는 Operations Manager 특정 카운터입니다.
성능 카운터 이름 | Description |
---|---|
Health Service\Workflow Count | |
Health Service Management Groups(*)\Active File Uploads | 이 게이트웨이가 처리하는 파일 전송 수입니다. 에이전트에 업로드되는 관리 팩 파일의 수를 나타냅니다. 이 값이 오랫동안 높은 수준으로 유지되고 지정된 순간에 가져오는 관리 팩이 많지 않은 경우 이러한 조건으로 인해 파일 전송에 영향을 미치는 문제가 발생할 수 있습니다. |
Health Service Management Groups(*)\Send Queue % Used | 영구 큐의 크기입니다. 이 값이 오랫동안 10보다 높게 유지되고 떨어지지 않으면 큐가 백업되었음을 나타냅니다. 이 조건은 관리 서버 또는 데이터베이스가 너무 사용 중이거나 오프라인 상태이므로 오버로드된 Operations Manager 시스템에 의해 발생합니다. |
OpsMgr Connector\Bytes Received | 게이트웨이에서 수신한 네트워크 바이트 수( 압축 해제 전 들어오는 바이트 수)입니다. |
OpsMgr Connector\Bytes Transmitted | 게이트웨이에서 보낸 네트워크 바이트 수, 즉 압축 후 나가는 바이트 수입니다. |
OpsMgr Connector\Data Bytes Received | 게이트웨이에서 수신한 데이터 바이트 수, 즉 압축 해제 후 들어오는 데이터의 양입니다. |
OpsMgr Connector\Data Bytes Transmitted | 게이트웨이에서 보낸 데이터 바이트 수, 즉 압축 전에 나가는 데이터의 양입니다. |
OpsMgr Connector\Open Connections | 게이트웨이에서 열려 있는 연결 수입니다. 이 수는 게이트웨이에 직접 연결된 에이전트 또는 관리 서버의 수와 동일해야 합니다. |
관리 서버 역할
전체 성능 카운터
이러한 카운터는 관리 서버의 전반적인 성능을 나타냅니다.
성능 카운터 이름 |
---|
Processor(_Total)\% Processor Time |
Memory\% Committed Bytes In Use |
Network Interface(*)\Bytes Total/sec |
LogicalDisk(*)\% 유휴 시간 |
LogicalDisk(*)\Avg. 디스크 큐 길이 |
Operations Manager 프로세스 일반 성능 카운터
이러한 카운터는 관리 서버에서 Operations Manager 프로세스의 전체 성능을 나타냅니다.
성능 카운터 이름 | 설명 |
---|---|
Process(HealthService)\% Processor Time | |
Process(HealthService)\Private Bytes | 이 관리 서버가 관리하는 에이전트의 수에 따라 이 수는 다를 수 있으며 수백 메가바이트가 될 수 있습니다. |
Process(HealthService)\Thread Count | |
Process(HealthService)\Virtual Bytes | |
Process(HealthService)\Working Set | |
Process(MonitoringHost*)\% Processor Time | |
Process(MonitoringHost*)\Private Bytes | |
Process(MonitoringHost*)\Thread Count | |
Process(MonitoringHost*)\Virtual Bytes | |
Process(MonitoringHost*)\Working Set |
Operations Manager 특정 성능 카운터
이러한 카운터는 관리 서버에서 Operations Manager의 특정 측면의 성능을 나타내는 Operations Manager 특정 카운터입니다.
성능 카운터 이름 | Description |
---|---|
Health Service\Workflow Count | 이 관리 서버에서 실행 중인 워크플로의 수입니다. |
Health Service Management Groups(*)\Active File Uploads | 이 관리 서버가 처리하는 파일 전송 수입니다. 에이전트에 업로드되는 관리 팩 파일의 수를 나타냅니다. 이 값이 오랫동안 높은 수준으로 유지되고 지정된 순간에 가져오는 관리 팩이 많지 않은 경우 이러한 조건으로 인해 파일 전송에 영향을 미치는 문제가 발생할 수 있습니다. |
Health Service Management Groups(*)\Send Queue % Used | 지속 큐의 크기입니다. 이 값이 오랫동안 10보다 높게 유지되고 떨어지지 않으면 큐가 백업되었음을 나타냅니다. 이 상태는 Operations Manager 시스템(예: 루트 관리 서버)이 너무 바쁘거나 오프라인이기 때문에 과부하된 Operations Manager 시스템으로 인해 발생합니다. |
Health Service Management Groups(*)\Bind Data Source Item Drop Rate | 데이터베이스 또는 데이터 웨어하우스 데이터 수집 쓰기 작업을 위해 관리 서버에서 삭제한 데이터 항목의 수입니다. 이 카운터 값이 아닌 0 경우 들어오는 데이터 항목을 충분히 빠르게 처리할 수 없거나 데이터 항목 버스트가 발생하므로 관리 서버 또는 데이터베이스가 오버로드됩니다. 삭제된 데이터 항목은 에이전트가 다시 보냅니다. 과부하 또는 버스트 상황이 완료된 후 이러한 데이터 항목은 데이터베이스 또는 데이터 웨어하우스에 삽입됩니다. |
Health Service Management Groups(*)\Bind Data Source Item Incoming Rate | 데이터베이스 또는 데이터 웨어하우스 데이터 수집 쓰기 작업을 위해 관리 서버에서 수신한 데이터 항목의 수입니다. |
Health Service Management Groups(*)\Bind Data Source Item Post Rate | 관리 서버가 데이터 수집 쓰기 작업을 위해 데이터베이스 또는 데이터 웨어하우스에 쓴 데이터 항목 수입니다. |
OpsMgr Connector\Bytes Received | 관리 서버에서 수신한 네트워크 바이트 수, 즉 압축 해제 전 들어오는 바이트 크기입니다. |
OpsMgr Connector\Bytes Transmitted | 관리 서버에서 보낸 네트워크 바이트 수, 즉 압축 후 나가는 바이트 크기입니다. |
OpsMgr Connector\Data Bytes Received | 관리 서버에서 받은 데이터 바이트 수, 즉 압축 해제 후 들어오는 데이터의 크기입니다. |
OpsMgr Connector\Data Bytes Transmitted | 관리 서버에서 보낸 데이터 바이트 수, 즉 압축 전 나가는 데이터의 크기입니다. |
OpsMgr Connector\Open Connections | 관리 서버에서 열려 있는 연결 수입니다. 직접 연결된 에이전트 또는 루트 관리 서버의 수와 같아야 합니다. |
OpsMgr database Write Action Modules(*)\Avg. Batch Size | 데이터베이스 쓰기 작업 모듈에서 수신한 데이터 항목 또는 일괄 처리의 수입니다. 이 숫자가 5,000이면 데이터 항목 버스트가 발생하고 있는 것입니다. |
OpsMgr DB Write Action Modules(*)\Avg. Processing Time | 데이터베이스 쓰기 작업 모듈이 데이터베이스에 일괄 처리를 삽입하는 데 걸리는 시간(초)입니다. 이 숫자가 종종 60보다 크면 데이터베이스 삽입 성능 문제가 발생하는 것입니다. |
OpsMgr DW Writer Module(*)\Avg. Batch Processing Time, ms | 데이터 웨어하우스에 일괄 처리 데이터 항목을 삽입하기 위한 데이터 웨어하우스 쓰기 작업의 시간(밀리초)입니다. |
OpsMgr DW Writer Module(*)\Avg. Batch Size | 데이터 웨어하우스 쓰기 작업 모듈에서 수신한 데이터 항목 또는 일괄 처리의 평균 수입니다. |
OpsMgr DW Writer Module(*)\Batches/sec | 초당 데이터 웨어하우스 쓰기 작업 모듈에서 수신한 일괄 처리 수입니다. |
OpsMgr DW Writer Module(*)\Data Items/sec | 초당 데이터 웨어하우스 쓰기 작업 모듈에서 수신한 데이터 항목 수입니다. |
OpsMgr DW Writer Module(*)\Dropped Data Item Count | 데이터 웨어하우스 쓰기 작업 모듈에서 삭제한 데이터 항목 수입니다. |
OpsMgr DW Writer Module(*)\Total Error Count | 데이터 웨어하우스 쓰기 작업 모듈에서 발생한 오류 수입니다. |