2012-01-26 5 views
4

다양한 간격으로 데이터베이스에 연결하고 다양한 복잡한 작업을 수행하는 많은 Windows 서비스 (C# 4.0으로 작성)가 있습니다. 이러한 작업 중 일부는 하루 X 시간마다 발생합니다. 그러나 서버 지원 팀은 작업 간 큰 간격이있을 수 있으므로 Windows 서비스가 실제로 실행되고 있는지 여부를 알고 싶어합니다. 그들은 기본적으로 각 Windows 서비스에 대해 하트 비트를 원합니다. 5 분마다 Windows 서비스는 Microsoft System Center Operation Manager (SCOM)에서 모니터링 할 수있는 작업을 수행합니다. 서버 지원 팀이 SCOM에 의존하기 때문에 모든 솔루션을 SCOM이 쉽게 모니터링해야합니다.Windows 서비스의 하트 비트 작업

이 funcationality 유형을 달성하는 가장 좋은 방법은 무엇입니까? 퍼포먼스 카운터 (Performance Counters)를 사용하고 SCOM이 퍼포먼스 카운터 (Performance Counter)를 가장 잘 사용하는지는 잘 모르겠다.

UPDATE은 (완전히 포함하는 것을 잊었다) : 현재 각 서비스는이 작업 데이터베이스에 기록하지만 SCOM 등

+0

Operations Manager는 기능으로 [Windows 서비스 모니터링] (http://technet.microsoft.com/en-us/library/bb381240.aspx)을 수행 할 수 있습니다. 코드 내에 다른 것을 구현하지 않아도됩니다. –

+0

http://stackoverflow.com/questions/295348/how-to-monitor-windows-services 도움이되는지 확인하십시오. – Devjosh

+0

@ValAkkapeddi 예 Operations Manager가 있으며 서비스가 실행 중, 중지됨, 일시 중지 상태인지 SCOM에서 알 수 있지만 내 서비스가 실행 중이고 어떤 이유로 업무가 수행되지 않습니다. SCOM에 내 작업이 실행 중인지 여부를 알리고 싶습니다. –

답변

0

무엇에 대해 간단하게 쓰기 무엇을하고있는 모니터링 데이터베이스 기록 및 서비스 차별화에 매우 좋지 않다 DB 또는 이벤트 로그?

+0

죄송합니다. 업데이트 된 질문보기. 이것은 현재 DB에 의해 수행되며 SCOM과 잘 작동하지 않습니다. –

+0

이 데이터베이스에 servicename과 heartbeattime이라는 두 개의 열이있는 테이블이 있으면 어떻게됩니까? 각 서비스는 x 분마다 이것을 업데이트합니다. –

0

SNMP 또는 WMI 계측을 서비스에 추가 할 수 있습니다. 즉, 재시도가 필요한 일시적인 오류가 발생하는 경우 이벤트를 발생시킬 수있는 경우와 같이 단순한 하트 비트 메시지 이상을 발생시킬 수 있습니다.

거기에는 많은 SNMP 라이브러리가 있으며 .NET Framework에는 WMI 지원 기능이 내장되어 있습니다.

관련 문제