문서 메뉴

문서 홈MongoDB 실행 및 관리MongoDB 데이터베이스 도구

mongotop

이 페이지의 내용

  • 개요
  • 구문
  • 옵션
  • 필드
  • 추가 정보
  • 자세히 알아보기

이 문서는 mongotop100.9.0 버전에 대한 설명입니다.

mongotop MongoDB 인스턴스 mongod 가 데이터를 읽고 쓰는 데 소비하는 시간을 추적하는 메서드를 제공하는 명령줄 도구입니다. mongotop 는 컬렉션별 수준의 통계를 제공합니다. 기본적으로 mongotop 는 매초마다 값을 반환합니다.

mongotop 구문:

mongotop <options> <connection-string> <polling interval in seconds>

명령줄 옵션 없이 mongotop 를 실행하면 포트 27017 를 통해 로컬 호스트에서 실행 중인 mongod 인스턴스에 연결되고 기본적으로 매초마다 값을 반환합니다.

mongotop

mongotop 가 30 초마다 보고하도록 하려면 폴링 간격을 지정합니다.

mongotop 30

mongod 인스턴스에 연결되면 프로그램은 먼저 연결에 대해 보고한 다음 구성된 빈도로 통계에 대해 보고합니다.

2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1
ns total read write <timestamp>
<db.collection> 81802ms 0ms 81802ms
...
mongotop [options] [frequency]

다양한 명령줄 옵션을사용하여 mongotop 를 실행할 수 있습니다.

예를 들어 mongotop 를 원격 호스트 mongodb0.example.com 에서 실행 중인 mongod 인스턴스에 연결하고 30 초마다 보고하려면 다음을 수행합니다.

  • 원하는 보고 빈도(이 예에서는 30 초)와 호스트 및 포트를 지정하는 --uri 옵션을 포함할 수 있습니다.

    mongotop 30 --uri='mongodb://mongodb0.example.com:27017' [additional options]

    mongod 인스턴스에 인증이 필요한 경우 URI 연결 문자열의 일부로 사용자, 비밀번호 및 인증 데이터베이스를 지정할 수 있습니다.

    mongotop 30 --uri='mongodb://user:password@mongodb0.example.com:27017/?authSource=admin' [additional options]

    mongotop 을(를) 실행하는 사용자에게는 serverStatustop 권한이 있어야 합니다.

    URI 연결 문자열에 대한 자세한 내용은 --uri 를 참조하세요.

  • 또는 --host--port 옵션을 사용하여 호스트와 포트를 지정할 수 있습니다.

    mongotop 30 --host=mongodb0.example.com --port=27017 [additional options]

    mongod 인스턴스에 인증이 필요한 경우 사용자 -u 및 인증 데이터베이스 --authenticationDatabase 을 지정할 수 있습니다. --password 옵션을 생략하여 비밀번호를 입력하라는 mongoexport 메시지를 표시합니다.

    mongotop 30 --host=mongodb0.example.com --port=27017 -u=user --authenticationDatabase=admin [additional options]

    mongotop 을(를) 실행하는 사용자에게는 serverStatustop 권한이 있어야 합니다.

사용 가능한 옵션에 대한 자세한 내용은 옵션을 참조하세요 .

mongod 인스턴스에 연결되면 프로그램은 먼저 연결에 대해 보고한 다음 구성된 빈도로 통계에 대해 보고합니다.

2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1
ns total read write <timestamp>
<db.collection> 81802ms 0ms 81802ms
...
--help

옵션 및 mongotop의 사용에 대한 정보를 반환합니다.

--verbose, -v

표준 출력이나 로그 파일에 반환되는 내부 보고의 양이 늘어납니다. 옵션을 여러 번 포함하여 -v 형식의 상세도를 높입니다(예: -vvvvv.)

--quiet

출력량을 제한하려고 시도하는 자동 모드에서 mongotop를 실행합니다.

이 옵션은 다음과 같은 활동을 억제합니다.

--version

mongotop 출시 번호를 반환합니다.

--config=<filename>

버전 100.3.0의 새로운 기능.

다음 옵션에 대한 중요한 값을 포함하는 YAML 구성 파일의 전체 경로를 mongotop에 지정합니다.

비밀번호 프롬프트를 통해 비밀번호를 지정하는 것 외에 mongotop에 비밀번호를 지정하는 권장 방법입니다.

구성 파일은 다음과 같은 형식을 취합니다:

password: <password>
uri: mongodb://mongodb0.example.com:27017
sslPEMKeyPassword: <password>

password: 필드에 암호를 지정하고 uri: 필드에 충돌하는 암호가 포함된 연결 문자열을 제공하면 오류가 발생합니다.

적절한 파일 시스템 권한으로 이 파일을 보호해야 합니다.

참고

--config 으로 구성 파일을 지정하고 --password, --uri 또는 --sslPEMKeyPassword 옵션을 mongotop 에 사용하는 경우 각 명령줄 옵션이 구성 파일에서 해당 옵션을 재정의합니다.

--uri=<connectionString>

따옴표로 묶인 MongoDB 배포의 확인 가능한 URI 연결 문자열 을 지정합니다.

--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"

mongotop100.0 버전부터 --uri 옵션을 사용하지 않고 연결 문자열을 위치 매개 변수로 제공할 수도 있습니다.

mongotop mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

연결 문자열은 mongodb:// 또는 mongodb+srv:// 중 하나로 시작하기만 하면 명령줄의 어느 지점에서나 위치 매개변수로 지정할 수 있습니다. 예를 들면 다음과 같습니다.

mongotop --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl

연결 문자열은 하나만 제공할 수 있습니다. --uri 옵션을 사용하든 위치 인수로 사용하든 둘 이상을 포함하려고 하면 오류가 발생합니다.

연결 문자열의 구성 요소에 대한 자세한 내용은 연결 문자열 URI 형식 문서를 참조하세요.

참고

connection string 의 일부 구성 요소는 --username--password 과 같은 자체 명시적인 명령줄 옵션을 사용하여 대신 지정할 수도 있습니다. 명시적 옵션을 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

참고

Ubuntu 에서 를 mongotop 18 사용하는04 경우.cannot unmarshal DNS 옵션과 함께 SRV 연결 문자열 (mongodb+srv:// 형식)을 사용할 때 --uri 오류 메시지가 표시될 수 있습니다. 이 경우 다음 옵션 중 하나를 대신 사용합니다.

  • SRV가 아닌 연결 --uri 문자열 이 있는 옵션(mongodb:// 형식)

  • 직접 연결할 호스트를 지정하는 --host 옵션

경고

일부 시스템에서는 --uri 옵션으로 연결 문자열에 제공된 비밀번호가 다른 사용자가 호출할 수 있는 ps 와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 다음을 고려하세요.

  • 대화형 암호 프롬프트를 받기 위해 연결 문자열에서 암호를 생략하거나

  • --config 옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정합니다.

--host=<hostname><:port>, -h=<hostname><:port>

기본값: localhost:27017

MongoDB deployment의 확인 가능한 호스트 이름을 지정합니다. 기본적으로 mongotop는 포트 번호 27017의 로컬 호스트에서 실행되는 MongoDB 인스턴스에 연결을 시도합니다.

복제본 세트에 연결하려면 다음과 같이 replSetName 및 세트 멤버의 시드 목록을 지정합니다.

--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...>

복제본 세트 목록 형식을 지정할 때 mongotop 은 항상 프라이머리에 연결합니다.

또한 해당 멤버의 호스트와 포트만 지정하여 복제본 세트의 단일 멤버에 연결할 수 있습니다.

--host=<hostname1><:port>

IPv6을 사용하고 <address>:<port> 형식을 사용하는 경우 주소 및 포트 조합의 일부를 대괄호로 묶어야 합니다 (예: [<address>]).

또는 URI connection string 에 직접 호스트 이름을 지정할 수도 있습니다. --host 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

프라이머리 에 연결할 수 없는 복제본 세트에 연결된 경우 mongotop 는 오류 메시지를 반환합니다.

--port=<port>

기본값: 27017

MongoDB 인스턴스가 클라이언트 연결 수신을 대기하는 TCP 포트를 지정합니다.

또는 URI connection string 에 직접 포트를 지정할 수도 있습니다. --port 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

--ssl

TLS/SSL 지원이 활성화된 mongod 또는 mongos 에 대한 연결을 활성화합니다.

또는 URI connection string 에서 직접 TLS/SSL 지원을 구성할 수도 있습니다. --ssl 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL 을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS /SSL 구성을 참조하세요.

--sslCAFile=<filename>

인증 기관의 루트 인증서 체인이 포함된 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 사용하여 .pem 파일의 이름을 지정합니다.

또는 URI connection string 에 직접 .pem 파일을 지정할 수도 있습니다. --sslCAFile 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL 을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS /SSL 구성을 참조하세요.

--sslPEMKeyFile=<filename>

TLS/SSL 인증서와 키가 모두 포함되어 있는 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 사용해 .pem 파일의 이름을 지정합니다.

이 옵션은 옵션을 사용하여 allowConnectionsWithoutCertificates 없이 --ssl { 가 mongos 활성화된 mongod CAFile또는 에 연결할 때 필요합니다

또는 URI connection string 에 직접 .pem 파일을 지정할 수도 있습니다. --sslPEMKeyFile 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL 을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS /SSL 구성을 참조하세요.

--sslPEMKeyPassword=<value>

인증서 키 파일(예: --sslPEMKeyFile)을 해독하기 위한 비밀번호를 지정합니다. 인증서 키 파일이 암호화된 경우에만 --sslPEMKeyPassword 옵션을 사용합니다. 모든 경우에 mongotop 는 모든 로깅 및 보고 출력에서 비밀번호를 삭제합니다.

PEM 파일의 개인 키가 암호화되어 있고 --sslPEMKeyPassword 옵션을 지정하지 않으면 mongotop 에서 암호를 입력하라는 메시지가 표시됩니다. TLS/SSL 인증서 암호를 참조하세요.

또는 URI connection string 에 직접 비밀번호를 지정할 수도 있습니다. --sslPEMKeyPassword 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL 을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS /SSL 구성을 참조하세요.

경고

일부 시스템에서는 --sslPEMKeyPassword 옵션을 사용하여 직접 제공된 비밀번호가 다른 사용자가 호출할 수 있는 ps 와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 --config 옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정하는 것이 좋습니다.

--sslCRLFile=<filename>

인증서 해지 목록이 포함된 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 .pem 파일의 이름을 지정합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL 을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS /SSL 구성을 참조하세요.

--sslAllowInvalidCertificates

서버 인증서에 대한 유효성 검사를 우회하고 유효하지 않은 인증서의 사용을 허용합니다. allowInvalidCertificates 설정을 사용할 때 MongoDB는 유효하지 않은 인증서 사용에 대한 경고를 기록합니다.

경고

--sslAllowInvalidCertificates 옵션은 사용할 수 있는 경우에도 가급적 사용하지 않는 것이 좋습니다. --sslAllowInvalidCertificates를 사용해야만 하는 경우, 침입이 불가능한 시스템에서만 옵션을 사용하세요.

서버 인증서의 유효성을 검사하지 않고 mongod 또는 mongos 인스턴스에 연결하면 잠재적인 보안 위험이 발생할 수 있습니다. TLS/SSL 인증서에서 호스트 이름 유효성 검사만 비활성화해야 하는 경우 --sslAllowInvalidHostnames 를 참조하세요.

또는 URI connection string 에서 직접 인증서 유효성 검사를 비활성화할 수도 있습니다. --sslAllowInvalidCertificates 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL 을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS /SSL 구성을 참조하세요.

--sslAllowInvalidHostnames

TLS/SSL 인증서의 호스트 이름 유효성 검사를 비활성화합니다. 인증서의 호스트 이름이 지정된 호스트 이름과 일치하지 않더라도 mongotop가 MongoDB 인스턴스에 연결할 수 있도록 허용합니다.

또는 URI connection string 에서 직접 호스트 이름 유효성 검사를 비활성화할 수도 있습니다. --sslAllowInvalidHostnames 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL 을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS /SSL 구성을 참조하세요.

--username=<username>, -u=<username>

인증을 사용하는 MongoDB 데이터베이스에 인증하는 데 사용할 사용자 이름을 지정합니다. --password--authenticationDatabase 옵션과 함께 사용합니다.

또는 URI connection string 에 사용자 이름을 직접 지정할 수도 있습니다. --username 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

를 사용하여 MongoDB Atlas 클러스터에 연결하는 MONGODB-AWS authentication mechanism 경우 다음에서 AWS 액세스 키 ID를 지정할 수 있습니다.

각각의 예는 AWS를 사용하여 MongoDB Atlas cluster에 연결하기를 참조하세요.

--password=<password>, -p=<password>

인증을 사용하는 MongoDB 데이터베이스에 인증하는 데 사용할 비밀번호를 지정합니다. --username--authenticationDatabase 옵션과 함께 사용합니다.

사용자에게 비밀번호를 입력하라는 메시지를 표시하려면 --username 옵션을 --password 전달하거나 에서와 같이 빈 문자열을 값으로 --password --password "" 지정합니다.

또는 URI connection string 에 직접 비밀번호를 지정할 수도 있습니다. --password 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

를 사용하여 MongoDB Atlas 클러스터에 연결하는 MONGODB-AWS authentication mechanism 경우 다음에서 AWS 시크릿 액세스 키를 지정할 수 있습니다.

각각의 예는 AWS를 사용하여 MongoDB Atlas cluster에 연결하기를 참조하세요.

경고

일부 시스템에서는 --password 옵션을 사용하여 직접 제공된 비밀번호가 다른 사용자가 호출할 수 있는 ps 와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 다음을 고려하세요.

  • --password 옵션을 생략하여 대화형 비밀번호 프롬프트를 받거나

  • --config 옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정합니다.

--awsSessionToken=<AWS Session Token>

를 사용하고 AWS 액세스 키 ID 및 비밀 액세스 키 외에 세션 토큰을 사용하여 MongoDB Atlas 클러스터에 연결하는 경우 다음에서 AWS 세션 토큰을 지정할 수 있습니다.MONGODB-AWS authentication mechanism

각각의 예는 AWS를 사용하여 MongoDB Atlas cluster에 연결하기를 참조하세요.

MONGODB-AWS authentication mechanism 를 사용할 때만 유효합니다.

--authenticationDatabase=<dbname>

지정된 --username 이 생성된 인증 데이터베이스를 지정합니다. --authenticationDatabasemongodmongos 인증 을 사용하는 인스턴스에 필요합니다. 인증 데이터베이스를 참조하세요.

GSSAPI (Kerberos), PLAIN (LDAP SASL) 또는 MONGODB-AWS authentication mechanisms 을 사용하는 경우 --authenticationDatabase$external 로 설정해야 합니다.

또는 URI connection string 에서 직접 인증 데이터베이스를 지정할 수도 있습니다. --authenticationDatabase 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

--authenticationMechanism=<name>

기본값: SCRAM-SHA-1

mongotop 인스턴스가 mongod 또는 mongos 에 인증하는 데 사용하는 인증 메커니즘을 지정합니다.

버전 100 에서 변경되었습니다.1.0: 버전 100.1.0 부터 mongotopMongoDB Atlas 클러스터에 연결할 때 MONGODB-AWS 인증 메커니즘에 대한 지원을 추가합니다.

설명
SCRAM-SHA-1

RFC 7677 SHA-256 해시 함수를 사용하는 표준 Salted Challenge Response 인증 메커니즘.

featureCompatibilityVersion이 4.0으로 설정되어야 합니다.

MongoDB TLS/SSL 인증서 인증.
MONGODB-AWS

MongoDB Atlas 클러스터에 연결하기 위해 AWS IAM 자격 증명을 사용하는 외부 인증입니다. AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기를 참조하세요.

버전 100.1.0의 새로운 기능.

GSSAPI (Kerberos)
Kerberos를 사용한 외부 인증. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.
PLAIN (LDAP SASL)
LDAP를 사용한 외부 인증. PLAIN 을(를) 사용하여 데이터베이스 내 사용자를 인증할 수도 있습니다. PLAIN 은(는) 비밀번호를 일반 텍스트로 전송합니다. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.

또는 URI connection string 에서 직접 인증 메커니즘을 지정할 수도 있습니다. --authenticationMechanism 를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

--gssapiServiceName=<serviceName>

GSSAPI/Kerberos 를 사용하여 서비스 이름을 지정합니다. 서비스가 기본 이름 mongodb 을(를) 사용하지 않는 경우에만 필요합니다.

이 옵션은 MongoDB Enterprise에서만 사용할 수 있습니다.

--gssapiHostName=<hostname>

GSSAPI/Kerberos 를 사용하여 서비스의 호스트 이름을 지정합니다. 시스템의 호스트 이름이 DNS에서 확인된 호스트 이름과 일치하지 않는 경우 에만 필요합니다.

이 옵션은 MongoDB Enterprise에서만 사용할 수 있습니다.

--locks

mongotop 모드를 전환하여 데이터베이스별 잠금 사용에 대해 보고합니다. 이 데이터는 MongoDB 2 에 연결된 경우에만 사용할 수 있습니다.6 또는 이전 인스턴스.

--locksmongod 3 에 대해 호출되면 오류를 반환합니다. 데이터베이스별 잠금 사용량을 보고하지 않는 0 이상의 인스턴스입니다.

--rowcount=<int>, -n=<int>

mongotop 가 인쇄해야 하는 데이터 줄 수입니다. " 무기한의 경우 "0 "

--json

mongotop 에 대한 출력을 JSON 형식으로 반환합니다. 타이밍 데이터 외에도 --json 옵션은 폴링 간격 동안 발생한 작업 수의 개수도 반환합니다.

<sleeptime>

마지막 인수는 mongotop 가 호출 사이에 대기하는 시간(초)입니다. 기본적으로 mongotop 은(는) 매초마다 데이터를 반환합니다.

mongod 인스턴스에 연결되면 프로그램은 먼저 연결에 대해 보고한 다음 구성된 빈도로 통계에 대해 보고합니다. mongotop 는 밀리초(ms) 단위로 지정된 시간 값을 반환합니다.

2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1
ns total read write <timestamp>
<db.collection> 81802ms 0ms 81802ms
...
ns total read write <timestamp>
<db.collection> 0ms 0ms 0ms
...

mongotop --locks 옵션에 따라 활성 네임스페이스 또는 데이터베이스만 보고합니다. 데이터베이스나 컬렉션이 표시되지 않는 경우 최근 활동이 수신되지 않은 것입니다. mongo 셸에서 간단한 작업을 실행하여 mongotop 출력에 영향을 주는 활동을 생성할 수 있습니다.

mongotop.ns

데이터베이스 이름과 컬렉션을 결합하는 데이터베이스 네임스페이스를 포함합니다.

mongotop --locks 을 사용하는 경우 ns 필드는 mongotop 출력에 나타나지 않습니다.

mongotop.db

데이터베이스의 이름을 포함합니다. . 데이터베이스는 특정 데이터베이스가 아닌 전역 잠금을 의미합니다.

이 필드는 --locks 옵션으로 mongotop 을(를) 호출하지 않는 한 표시되지 않습니다.

mongotop.total

mongod 이 네임스페이스에서 작업하는 데 소비한 총 시간을 제공합니다.

mongotop.read

mongod 가 이 네임스페이스에서 읽기 작업을 수행하는 데 소비한 시간을 제공합니다.

mongotop.write

mongod 가 이 네임스페이스에서 쓰기 작업을 수행하는 데 소비한 시간을 제공합니다.

mongotop.<timestamp>

반환된 데이터의 타임스탬프를 제공합니다.

MongoDB 모니터링에 대한 자세한 내용은 MongoDB 모니터링을 참조하세요.

기타 다양한 MongoDB 상태 출력에 대한 자세한 배경 지식은 다음을 참조하세요:

MongoDB 메트릭을 제공하는 추가 유틸리티는 mongostat을 참조하세요.

← mongostat 예제