2009-05-29 4 views
0

Windows 클라이언트 (약 150 명), 웹 서비스 및 일부 Windows 서비스로 구성된 프로젝트가 있습니다. 모두 함께 인트라넷에서 작업하고 C# .NET 3.5를 사용하여 빌드하십시오. 이제 중앙 데이터베이스에 예외를 기록하고 웹 애플리케이션을 통해 예외를 관리하려고합니다 (톱 10, 티켓 시스템 시계 등).클라이언트 - 서버 아키텍처에서 예외 처리

ELMAH는 이미 관리 용 웹 응용 프로그램을 보유하고 있으므로 ELMAH를 사용하고 확장하려고 생각했습니다. 클라이언트가 예외를 기록 할 수있는 웹 서비스를 만들 수 있습니다.

ELMAH는 분명 asp.net 웹 사이트에만 사용하기 때문에 좋은 생각입니까?

예외 관리 응용 프로그램 블록에 대해 알고 있지만 ELMAH와 같은 관리 응용 프로그램이 없으며 엔터프라이즈 라이브러리에서의 마지막 방문은 재미 없었습니다.

귀하의 의견은 무엇입니까? 다른 아이디어가 있습니까?

답변

1

엔터프라이즈 라이브러리는 번거롭고 과도합니다. 오픈 소스 로깅 구성 요소 : NLog link text 또는 Log4Net link text을 살펴보십시오. 그들은 모두 플랫 파일, UDP, 데이터베이스 등 다양한 "싱크"에 로그온 할 수있는 기능을 가지고 있습니다.

로깅 구성 요소가 서버의 이벤트 로그에 기록하는 부분을 설정합니다. 그런 다음 Microsoft Operations Manager (MOM) 또는 이벤트 로그를 검사하고 페이징, 명령 센터 콘솔 등을 통해 경고를 발생시키는 다른 시스템 관리 소프트웨어와 같은 것을 사용하십시오. 동시에 쿼리를 위해 데이터베이스에 로그온 할 수도 있습니다.

예외 관리,보고, 경고 등을 찾으려면 ... MS MOM, Tivoli, CA Unicenter, HP OpenView 및 심지어 NagIOS와 같은 솔루션이 많이 있습니다.

클라이언트 측은 좀 더 까다 롭습니다. 인트라넷이므로 UDP를 사용하여 해당 UDP 패킷을 수신하고 이벤트 로그 및/또는 데이터베이스에 저장하는 서비스를 서버에서 실행할 수 있습니다. 또는 로깅 이벤트를 캡처하기 위해 웹 서비스에 몇 가지 메서드를 추가 할 수 있습니다.

+0

실제로 로깅 부분 또는 클라이언트에서 서버로 예외를 가져 오는 것은 제 문제가 아닙니다. 이미 log4net을 사용 중이며 자체 Appender를 설정할 수 있습니다. 내 관심사는 이미 안정적이고 사용 가능한 솔루션이 있고 편리한 관리 앱을 제공하는 경우입니다. – Hinek

+0

위 편집에서 언급했듯이 앱 관리, 즉 앱의보고, 경고 등을 처리하기 위해 이미 강화 된 TON 솔루션이 있습니다. 이러한 모든 솔루션은 로깅 구성 요소와 함께 작동하여 문제를 실시간으로 관리 할 수있는 풍부한 인프라를 제공합니다. 거기도 중요한 예외를 기록하여 버그 추적 소프트웨어에 연결할 수도 있습니다. – Doanair

+0

물론 NAGIOS는 비용이 들지 않지만 ELMAH를 수정하는 것은 비용이 중요한 요소 일 경우 좋은 선택 일 수 있습니다. – Doanair

0

나는 ELMAH를 확장하려는 생각이 전혀 좋지 않다고 생각합니다. 많은 비슷한 프로젝트를 수행하면서 나는 항상 내 자신의 관리 앱을 굴려야했으며, 항상 고통 스럽습니다. ELMAH에서 얼마만큼 사용할 수 있을지는 확실치 않지만 훌륭한 출발점 인 것처럼 들립니다.