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