개요
이 페이지에서는 MongoDB .NET/ C# 드라이버 에서 모니터링 구성하는 방법을 학습 수 있습니다. 모니터링은 실행 시 애플리케이션의 성능 및 리소스 사용량에 대한 정보를 수집하는 프로세스 입니다. 이렇게 하면 애플리케이션 설계하고 디버깅할 때 정보에 입각한 결정을 내리는 데 도움이 될 수 있습니다.
운전자 이벤트를 방출하여 애플리케이션 에 대한 정보를 제공합니다. 이러한 운전자 이벤트를 구독 애플리케이션 모니터 할 수 있습니다.
이벤트 유형
운전자 발생시키는 이벤트 유형은 수행 중인 작업에 따라 달라집니다. 다음 표에서는 운전자 내보내는 이벤트 유형에 대해 설명합니다.
| eventType | 설명 | 
|---|---|
| 명령 이벤트 | 
 보안 조치로 운전자 일부 명령 이벤트의 내용을 수정합니다. 이렇게 하면 이러한 명령 이벤트에 포함된 민감한 정보를 보호할 수 있습니다. | 
| 서버 검색 및 모니터링(SDAM) 이벤트 | MongoDB deployment 상태 의 변경과 관련된 이벤트입니다. | 
| 연결 풀 이벤트 | 운전자 가 보유한 연결 풀 과 관련된 이벤트입니다. | 
운전자 발생하는 이벤트의 전체 목록은 MongoDB API 설명서를 참조하세요. 드라이버.Core.Events 네임스페이스.
이벤트 구독
이벤트 모니터 하려면 MongoClient 인스턴스 에서 리스너 메서드를 구독 해야 합니다. 다음 단계에서는 이벤트를 구독 방법을 설명합니다.
- MongoClientSettings객체 만듭니다.
- MongoClientSettings객체 의- ClusterConfigurator속성- ClusterBuilder객체 허용하는 Lambda 함수로 설정합니다.
- Lambda 함수에서 구독 하려는 각 이벤트 에 대해 - ClusterBuilder객체 에서- Subscribe<TEvent>()메서드를 호출합니다.- TEvent를 이벤트 유형으로 바꿉니다. 이벤트 핸들러 메서드를- Subscribe<TEvent>()메서드의 인수로 전달합니다.
다음 코드 예시 ClusterOpenedEvent, ServerHeartbeatSucceededEvent 및 ConnectionPoolReadyEvent를 구독 방법을 보여줍니다. 이 예시 ClusterEventHandler, HeartbeatEventHandler 및 ConnectionPoolEventHandler 메서드가 코드의 다른 곳에 정의되어 있다고 가정합니다.
var clientSettings = MongoClientSettings.FromConnectionString(MongoConnectionString); clientSettings.ClusterConfigurator = clusterBuilder => {     clusterBuilder       .Subscribe<ClusterOpenedEvent>(ClusterEventHandler)       .Subscribe<ServerHeartbeatSucceededEvent>(HeartbeatEventHandler)       .Subscribe<ConnectionPoolReadyEvent>(ConnectionPoolEventHandler); }; 
팁
원하는 수의 이벤트를 구독 할 수 있으며 이러한 이벤트의 유형은 다양할 수 있습니다.
API 문서
운전자 에서 이벤트를 모니터 데 사용되는 메서드 및 클래스에 대해 자세히 학습 다음 API 설명서를 참조하세요.