이 문서는 mongotop의 100.19.0 버전에 대한 설명입니다.
Synopsis
mongotop MongoDB 인스턴스 가 데이터를 읽고 쓰는 데 소비하는 시간을 추적 하는 메서드를 제공하는 명령줄 mongod mongotop 도구입니다. 는 컬렉션별 수준의 통계를 제공합니다. mongotop 기본값 으로 은(는) 매초마다 값을 반환합니다.
구문
mongotop 구문:
mongotop <options> <connection-string> <polling interval in seconds>
mongotop 명령줄 옵션 없이 를 실행하면 포트 를 통해 mongod 로컬 호스트에서 실행 인스턴스 에 27017 연결되며 기본값 으로 매초마다 값을 반환합니다.
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 를 원격 호스팅하다 에서 실행 mongod 인스턴스 mongodb0.example.com 에 연결하고 초마다 보고하려면 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 ...
옵션
--quiet출력량을 제한하려고 시도하는 자동 모드에서
mongotop를 실행합니다.이 옵션은 다음과 같은 활동을 억제합니다.
데이터베이스 명령의 출력
복제 활동
연결 수락 이벤트
연결 종료 이벤트
--config=<filename>버전 100 의 새로운 기능입니다.3.0.
다음
mongotop옵션에 대한 민감한 값을 포함하는 YAML 설정 파일의 전체 경로를 지정합니다.비밀번호 프롬프트를 통해 비밀번호를 지정하는 것 외에
mongotop에 비밀번호를 지정하는 권장 방법입니다. 파일 내의 인수를 어떤 조합으로든 사용할 수 있습니다.구성 파일은 다음과 같은 형식을 취합니다:
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> 을
passworduri지정하지 않고 옵션을 지정하는 경우mongotop및 와--username같은 명령줄 옵션을 사용하여 연결 문자열 의 다른 구성 요소를--host지정할 수 있습니다.적절한 파일 시스템 권한으로 이 파일을 보호해야 합니다.
중요
--config옵션을 사용할 때는 다음과 같은 제한 사항 및 동작을 염두에 두세요.password필드를 제공하고uri필드에 충돌하는 비밀번호가 포함된 연결 문자열을 제공하면mongorestore에서 오류가 발생합니다.로 구성 파일
--config--password--uri지정하고, 또는--sslPEMKeyPasswordmongotop명령줄 옵션을 사용하는 경우 명령줄 옵션이 해당 구성 파일 옵션을 재정의합니다.
--uri=<connectionString>따옴표로 묶인 MongoDB 배포의 확인 가능한 URI 연결 문자열을 지정합니다.
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" 의 버전부터
100.0mongotop옵션을--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 형식 문서를 참조하세요.
참고
의 일부 구성 요소는 및 와
--username같은 자체 명시적인 명령줄connection string--password옵션을 사용하여 대신 지정할 수도 있습니다. 명시적 옵션을 사용하면서 연결 문자열 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.참고
Ubuntu 에서 를 사용하는
mongotop18.04 경우cannot unmarshal DNS옵션과 함께 SRV 연결 문자열(mongodb+srv://형식)을 사용할 때--uri오류 메시지가 표시될 수 있습니다. 이 경우 다음 옵션 중 하나를 대신 사용합니다.비SRV 연결 문자열
--uri있는 옵션(mongodb://형식)직접 연결할 호스팅하다
--host지정하는 옵션
--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충돌하는 정보를 지정하면 오류가 발생합니다.
--sslTLS/SSL 지원
mongod활성화된 또는 에 대한 연결을 활성화합니다.mongos또는 에서 직접 TLS/SSL 지원 구성할 수도
URI connection string있습니다. 를 사용하면서 연결 문자열--ssl제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslCAFile=<filename>인증 기관의 루트 인증서 체인이 포함된
.pem파일을 지정합니다. 상대 경로 또는 절대 경로를 사용하여.pem파일의 이름을 지정합니다.또는 에
.pem직접 파일 지정할URI connection string수도 있습니다. 를 사용하면서 연결 문자열 제공하고--sslCAFile충돌하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslPEMKeyFile=<filename>TLS/SSL 인증서와 키가 모두 포함되어 있는
.pem파일을 지정합니다. 상대 경로 또는 절대 경로를 사용해.pem파일의 이름을 지정합니다.이 옵션은
--ssl옵션을 사용하여allowConnectionsWithoutCertificates없이CAFile가 활성화된mongod또는mongos에 연결할 때 필요합니다.또는 에
.pem직접 파일 지정할URI connection string수도 있습니다. 를 사용하면서 연결 문자열 제공하고--sslPEMKeyFile충돌하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslPEMKeyPassword=<value>인증서 키 파일 (예: )을 해독하기 위한 비밀번호를
--sslPEMKeyFile지정합니다. 인증서 키 파일 암호화됨--sslPEMKeyPasswordmongotop경우에만 옵션을 사용합니다. 모든 경우에 는 모든 로깅 및 보고 출력에서 비밀번호를 삭제합니다.PEM 파일 의 개인 키가 암호화됨 있고 옵션을 지정하지 않으면 에서 암호를 입력하라는
--sslPEMKeyPasswordmongotop메시지가 표시됩니다.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검사하지 않고 또는 인스턴스 에 연결하면 잠재적인 보안 위험이 발생할 수 있습니다. TLS/SSL 인증서에서 호스트 이름 유효성 검사 검사만 비활성화해야 하는 경우 를mongos--sslAllowInvalidHostnames참조하세요.또는
URI connection string에서 인증서 유효성 검사를 비활성화할 수도 있습니다.--sslAllowInvalidCertificates을 사용하면서 연결 문자열을 제공하고 상충하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--sslAllowInvalidHostnamesTLS/SSL 인증서의 호스트 이름 유효성 검사를 비활성화합니다. 인증서의 호스트 이름이 지정된 호스트 이름과 일치하지 않더라도
mongotop가 MongoDB 인스턴스에 연결할 수 있도록 허용합니다.또는 에서 직접 호스트 이름 유효성 검사 비활성화할 수도
URI connection string있습니다. 를 사용하면서--sslAllowInvalidHostnames연결 문자열 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongod 및 mongos 구성 및 클라이언트를 위한 TLS/SSL 구성을 참조하세요.
--username=<username>, -u=<username>인증 사용하는 MongoDB database 에 인증할 사용자 이름
--password지정합니다. 및 옵션과 함께 사용합니다.--authenticationDatabase또는
URI connection string에 직접 사용자 이름을 지정할 수도 있습니다. 연결 문자열을 제공하면서--username을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.를 사용하여 MongoDB Atlas cluster 에 연결하는
MONGODB-AWSauthentication mechanism경우 다음에서 AWS 액세스 키 ID 지정할 수 있습니다.이 필드,
AWS_ACCESS_KEY_ID환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.
--password=<password>, -p=<password>인증 사용하는 MongoDB database 에 인증하는 데 사용할 비밀번호를
--username지정합니다. 및 옵션과 함께 사용합니다.--authenticationDatabase사용자에게 비밀번호를 입력하라는 메시지를 표시하려면 없이
--username옵션을 전달하거나 에서와--password--password--password ""같이 빈 문자열을 값으로 지정합니다.또는 에 직접 비밀번호를 지정할 수도
URI connection string있습니다. 를 사용하면서 연결 문자열 제공하고--password충돌하는 정보를 지정하면 오류가 발생합니다.를 사용하여 MongoDB Atlas cluster 에 연결하는
MONGODB-AWSauthentication mechanism경우 다음에서 AWS 시크릿 액세스 키를 지정할 수 있습니다.이 필드,
AWS_SECRET_ACCESS_KEY환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.
경고
일부 시스템에서는
--password옵션을 사용하여 직접 제공된 비밀번호가ps다른 사용자가 호출할 수 있는 와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 다음을 고려하세요.옵션을 생략하여 대화형 비밀번호 프롬프트를 받거나
--password옵션을 사용하여 비밀번호가 포함된 구성 파일 지정합니다.
--config
--awsSessionToken=<AWS Session Token>를 사용하고 AWS 액세스 키 ID 및 비밀 액세스 키 외에 세션 토큰을 사용하여 MongoDB Atlas cluster 에 연결하는 경우 다음에서 AWS 세션 토큰을 지정할 수 있습니다.
MONGODB-AWSauthentication mechanism이 필드,
매개변수를 로
AWS_SESSION_TOKENauthMechanismPropertiesconnection string설정하거나AWS_SESSION_TOKEN환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.
MONGODB-AWSauthentication mechanism을(를) 사용할 때만 유효합니다.
--authenticationDatabase=<dbname>지정한
--username이 생성된 인증 데이터베이스를 지정합니다. 는 자체--authenticationDatabase관리형 배포의 인증 을mongosmongod사용하는 및 인스턴스에 필요합니다. 인증 데이터베이스를 참조하세요.GSSAPI(Kerberos), PLAIN(LDAP SASL) 또는 을(를) 사용하는 경우 을(를)(으)로
MONGODB-AWSauthentication mechanisms--authenticationDatabase$external설정하다 해야 합니다.또는 에서 직접 인증 데이터베이스 지정할 수도
URI connection string있습니다. 를 사용하면서 연결 문자열 제공하고--authenticationDatabase충돌하는 정보를 지정하면 오류가 발생합니다.
--authenticationMechanism=<name>기본값: SCRAM-SHA-1
인스턴스 또는 에 인증하는
mongotopmongod데 사용하는 인증 메커니즘mongos지정합니다.버전 100.1.0에서 변경됨:
버전
100.1.0부터mongotop는 MongoDB Atlas 클러스터에 연결할 때MONGODB-AWS인증 메커니즘에 대한 지원을 추가합니다.값설명SHA- 해시 함수를 사용하는RFC 표준 솔티드 챌린지 응답 인증 메커니즘.5802 1
SHA- 해시 함수를 사용하는RFC 표준 솔티드 챌린지 응답 인증 메커니즘.7677 256
featureCompatibilityVersion이
4.0으로 설정되어야 합니다.MongoDB TLS/SSL 인증서 인증.
MONGODB-AWSMongoDB 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 또는 이전 인스턴스 에 연결된 경우에만 사용할 수 있습니다.는.
--locks또는 데이터베이스별 락 사용량을 보고하지 않는 최신 인스턴스 대해 호출하면mongod3 오류를 반환합니다.0
--json에
mongotop대한 출력을 JSON 형식으로 반환합니다. 타이밍 데이터--json외에도 옵션은 폴링 간격 동안 발생한 작업 수의 개수도 반환합니다.
필드
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 --locksns를 사용하는mongotop경우 필드 출력에 나타나지 않습니다.
mongotop.db데이터베이스의 이름을 포함합니다.
.데이터베이스는 특정 데이터베이스가 아닌 전역 잠금을 의미합니다.이 필드
mongotop옵션으로 을(를)--locks호출하지 않는 한 표시되지 않습니다.
mongotop.total이 이 네임스페이스 에서 작업하는
mongod데 소비한 총 시간을 제공합니다.
mongotop.read이 가 이 네임스페이스 에서 읽기 작업을 수행하는 데
mongod소비한 시간을 제공합니다.
mongotop.write이 가 이 네임스페이스 에서 쓰기 (write) 작업을 수행하는 데
mongod소비한 시간을 제공합니다.
추가 정보
MongoDB 모니터링에 대한 자세한 내용은 MongoDB 모니터링을 참조하세요.
기타 다양한 MongoDB 상태 출력에 대한 자세한 배경 지식은 다음을 참조하세요:
MongoDB 지표 제공하는 추가 유틸리티는 mongostat를 참조하세요.