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
}
← 클러스터 모니터링