모니터링
개요
이 페이지에서는 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 설명서를 참조하세요.