Docs Menu
Docs Home
/ / /
Node.js
/ /

명령 모니터링

이 페이지의 내용

  • 개요
  • 이벤트 구독 예시
  • 이벤트 설명
  • 이벤트 문서 예시

이 가이드에서는 드라이버가 MongoDB 배포로 보낸 명령의 성공 또는 실패를 모니터링하는 방법을 보여 줍니다.

다음 섹션에서는 애플리케이션에서 명령 상태를 기록하고 이러한 이벤트에서 제공된 정보를 탐색하는 방법을 보여 줍니다.

애플리케이션에서 이벤트를 구독하면 해당 드라이버를 사용하여 하나 이상의 명령 모니터링 이벤트에 액세스할 수 있습니다. 다음 예시에서는 복제본 세트에 연결하고 MongoDB 배포에서 생성된 명령 모니터링 이벤트 중 하나를 구독하는 방법을 보여줍니다.

const { MongoClient } = require("mongodb");
// Replace the following with your MongoDB deployment's connection
// string.
const uri =
"mongodb+srv://<clusterUrl>/?replicaSet=rs&writeConcern=majority";
const client = new MongoClient(uri, { monitorCommands:true });
// Replace <event name> with the name of the event you are subscribing to.
const eventName = "<event name>";
client.on(eventName, event => {
console.log(`received ${eventName}: ${JSON.stringify(event, null, 2)}`);
});
async function run() {
try {
// Establish and verify connection
await client.db("admin").command({ ping: 1 });
console.log("Connected successfully");
} finally {
// Ensures that the client will close when you finish/error
await client.close();
}
}
run().catch(console.dir);

참고

명령 모니터링은 기본적으로 비활성화되어 있습니다. 명령 모니터링을 사용하려면 monitorCommands 옵션을 trueMongoClient 생성자에 전달합니다.

다음 명령 모니터링 이벤트 중 하나를 구독할 수 있습니다.

이벤트 이름
설명
commandStarted
명령이 시작될 때 생성됩니다.
commandSucceeded
명령이 성공할 때 생성됩니다.
commandFailed
명령이 실패할 때 생성됩니다.

다음 섹션에서는 각 유형의 명령 모니터링 이벤트에 대한 샘플 출력을 보여줍니다.

CommandStartedEvent {
requestId: 1534,
databaseName: "app",
commandName: "find",
address: 'localhost:27017',
connectionId: 812613,
command: {
find: { firstName: "Jane", lastName: "Doe" }
}
}
CommandSucceededEvent {
requestId: 1534,
commandName: "find",
address: 'localhost:27017',
connectionId: 812613,
duration: 15,
reply: {
cursor: {
firstBatch: [
{
_id: ObjectId("5e8e2ca217b5324fa9847435"),
firstName: "Jane",
lastName: "Doe"
}
],
_id: 0,
ns: "app.users"
},
ok: 1,
operationTime: 1586380205
}
}
CommandFailedEvent {
requestId: 1534,
commandName: "find",
address: 'localhost:27017',
connectionId: 812613,
failure: Error("something failed"),
duration: 11
}

돌아가기

클러스터 모니터링