0

여러 컴퓨터에 배포되고 동시에 실행되어 중앙 큐에서 작업을 처리하는 Windows 서비스 응용 프로그램을 구현했습니다. 실행중인 각 서비스 인스턴스에 대한 로그 파일이 있습니다. 하지만 서비스의 모든 인스턴스를 모니터링하고 각 서비스에서 처리되는 작업의 이름 및 ID와 같은 응용 프로그램 관련 정보를 주기적으로 검색 할 수 있기를 원합니다.컴퓨터 클러스터에서 여러 Windows 서비스 인스턴스 모니터링

각 컴퓨터에 웹 서비스를 추가하여 읽기 전용 정보를 노출하고 네트워크를 통해 정보를 검색하고 멋지게 표시 할 수있는 다른 앱 (어쩌면 웹 앱)을 작성하려고합니다. 그러나 이것이 좋은 접근 방법입니까? 다른 생각? 그리고 나는 기성품을 사용하지 않는 것을 선호한다. 귀하의 조언을 제공해주십시오.

미리 감사드립니다.

[아래 답변에 대한 나의 implementaion을 제공하려고합니다. 관심이 있으시면 읽어보십시오. 감사합니다.]

답변

0

결국 나는 리드 코세시 (Reed Copsey)가 제안한 것과 매우 흡사 한 뭔가를 implmeneted하게되었습니다. 응용 프로그램은 이미 Windows 서비스이므로 동일한 서비스에서 WCF를 노출하고 호스팅하려는 정보에 대한 서비스/데이터 계약을 정의합니다. 이 솔루션을 사용하면 클라이언트 (스케줄러 또는 UI 앱)가 클러스터에서 실행중인 모든 서비스 인스턴스의 정보를 검색 할 수 있습니다.

0

과포 일 수도 있지만 System Center Operations Manager을 확인하십시오. "대시 보드"스타일 정보를 응용 프로그램뿐만 아니라 여러 컴퓨터 (또는 데이터 센터)의 컴퓨터 및 데이터베이스에 제공하려는 경우 SCOM을 시작하는 것이 좋습니다.

1

서비스에 네트워킹을 통해이 정보를 검색하는 API가있는 경우 실행중인 모든 서버의 상태를 확인하는 클라이언트를 만드는 것이 매우 쉽습니다.

이것은 많은 컴퓨팅 클러스터 서비스가 작동하는 방식이며, 클라이언트가 실행되고 클라이언트가 작업을 예약하고 쿼리 할 수 ​​있습니다. .NET의 경우 WCF가이를 매우 쉽고 강력하게 만들지 만 모든 기술을 사용할 수 있습니다.

관련 문제