mongostat 예시
이 페이지의 내용
이 페이지에서는 mongostat
에 대한 예시를 보여줍니다.
mongo
shell이 아닌 시스템 명령줄에서 mongostat
을 실행하세요.
mongostat
수집 기간 및 빈도 지정
첫 번째 예에서 mongostat
는 20초 동안 1초마다 데이터를 반환합니다. mongostat
는 포트 27017의 로컬호스트 인터페이스에서 실행 중인 mongod
인스턴스에서 데이터를 수집합니다. 다음 호출은 모두 동일한 동작을 생성합니다.
mongostat --rowcount=20 1 mongostat --rowcount=20 mongostat -n=20 1 mongostat -n=20
다음 예제에서 mongostat
은 프로그램이 실행되는 동안 5분(또는 300초)마다 데이터를 반환합니다. mongostat
은 포트 27017
의 로컬호스트 인터페이스에서 실행 중인 mongod
인스턴스에서 데이터를 수집합니다. 다음 호출은 동일한 동작을 생성합니다.
mongostat --rowcount=0 300 mongostat -n=0 300 mongostat 300
다음 예시 에서 mongostat
은 한 시간 동안 5 분마다 데이터를 반환합니다(12 번). mongostat
는 포트 27017 의 로컬 호스트 인터페이스에서 실행 되는 mongod
인스턴스 에서 데이터를 수집합니다. 다음 호출은 동일한 동작을 생성합니다.
mongostat --rowcount=12 300 mongostat -n=12 300
출력에 mongostat
필드 추가
-O
를 사용하면 serverStatus
출력의 필드를 지정하여 기본값 mongostat
출력에 추가할 수 있습니다. 사용자 지정 파일 이름에 공백을 포함하는 경우 필드 이름 주위에 추가 따옴표를 넣지 마세요.
다음 예시는 기본 mongostat
출력에 필드를 추가합니다.
mongostat -O='host,version,network.numRequests=network requests'
mongostat
출력은 다음과 유사합니다.
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time host version network requests *0 *0 *0 *0 0 2|0 0.0% 0.0% 0 2.51G 19.0M 0|0 0|0 158b 39.4k 2 Oct 11 12:14:45.878 localhost:37017 3.3.14 91 *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 2.51G 19.0M 0|0 0|0 157b 39.3k 2 Oct 11 12:14:46.879 localhost:37017 3.3.14 95 *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 2.51G 19.0M 0|0 0|0 157b 39.2k 2 Oct 11 12:14:47.884 localhost:37017 3.3.14 99
기본 출력에 추가되는 필드는 다음과 같습니다.
network.numRequests
필드에는 '네트워크 요청'이라는 사용자 정의 필드 이름이 있습니다.
mongostat
출력 필드 지정
-o
는 출력에 포함할 mongostat
열을 지정합니다. 모든 serverStatus
필드를 mongostat
출력 열로 지정할 수 있습니다.
다음 예시에서는 mongostat
에 대한 사용자 지정 필드를 사용합니다.
mongostat --port 27500 -o='host,opcounters.insert.rate()=Insert Rate,opcounters.query.rate()=Query Rate,opcounters.command.rate()=Command Rate,wiredTiger.cache.pages requested from the cache=Pages Req,metrics.document.inserted=inserted rate'
mongostat
출력은 다음과 유사합니다.
host Insert Rate Query Rate Command Rate Pages Req Inserted Rate localhost:27500 180 1 8 2999446 9638 localhost:27500 40 3 12 2999601 9678 localhost:27500 181 2 9 3000207 9859 localhost:27500 39 2 12 3000362 9899 localhost:27500 181 2 11 3000969 10080 localhost:27500 39 2 10 3001124 10120
카운터 및 해당 사용자 지정 필드 이름은 다음과 같습니다:
카운터 | 사용자 지정 필드 이름 |
---|---|
opcounters.insert.rate | 삽입 속도 |
opcounters.query.rate | 쿼리 속도 |
opcounters.command.rate | 명령 속도 |
캐시에서 요청된 wiredTiger.cache.pages | 페이지 요구 사항 |
metrics.document.inserted | 삽입 속도 |
다음을 사용하여 필드의 변화율 보기 .rate()
.rate()
(을)를 사용하면 숫자 필드가 하나의 mongostat
호출에서 다음 호출로 변경된 초당 속도를 볼 수 있습니다. 예를 들어, 삽입 작업 중에 문서가 삽입된 속도를 볼 수 있습니다. 따라서 .rate()
(은)는 mongod
인스턴스의 성능을 확인하는 데 도움이 될 수 있습니다.
다음 예시 에서는 metrics.document.inserted
serverStatus
필드 의 변화율에 대해 보고합니다. 이 호출은 -o
의 열 이름 지정 기능 을 사용하여 metrics.document.inserted.rate()
를 '삽입된 속도(inserted rate)'로, metrics.document.inserted
를 '삽입됨(inserted)'으로 레이블합니다.
mongostat -o='host,mem,bits,metrics.document.inserted.rate()=inserted rate,metrics.document.inserted=inserted' --rowcount=5
이 경우 출력은 다음과 유사합니다:
host mem.bits inserted rate inserted localhost:37017 64 501 3455 localhost:37017 64 967 13128 localhost:37017 64 972 22851 localhost:37017 64 214 25000 localhost:37017 64 0 25000
다음을 사용하여 필드 변경 사항 보기 .diff()
.diff()
은(는) 현재 serverStatus
필드 값과 이전 mongostat
호출의 값 간의 차이를 반환합니다. 다음 예시 에서는 컬렉션 에 삽입되는 문서 수에 대한 통계를 반환합니다. inserted
diff
은(는) 후속 호출 간의 metrics.document.inserted
필드 차이이고 inserted
은 metrics.document.inserted
값입니다.
mongostat -o='host,mem.bits,metrics.document.inserted.diff()=inserted diff,metrics.document.inserted=inserted' --rowcount=5
이 경우 출력은 다음과 유사합니다:
host mem.bits inserted diff inserted localhost:27017 64 0 25359 localhost:27017 64 94 25453 localhost:27017 64 938 26391 localhost:27017 64 964 27355 localhost:27017 64 978 28333
복제본 세트 또는 샤딩된 클러스터에 대한 통계 보기
대부분의 경우 --discover
옵션을 사용하면 전체 머신 그룹 의 상태 에 대한 보다 완전한 스냅샷 을 제공하는 데 도움이 됩니다. mongos
프로세스 가 로컬 머신의 27017
포트 실행 샤딩된 클러스터 에 연결된 경우, 다음 형식을 사용하여 클러스터 의 모든 멤버로부터 통계를 반환할 수 있습니다.
mongostat --discover
대화형 인터페이스에서 통계 보기
옵션을 사용하여 --interactive
비스크롤 ncurses 에서 통계를 볼 수 있습니다. - 스타일 대화형 출력. --interactive
옵션을 사용하면 특정 호스트, 열 또는 필드를 강조 표시하여 볼 수 있습니다. --discover
와 결합하면 --interactive
는 다음 예제에서와 같이 복제본 세트 또는 샤드 클러스터의 모든 멤버에 대한 통계를 표시합니다.
mongostat --discover --interactive
그러면 샤딩된 클러스터의 출력은 다음과 비슷해집니다:
host insert query update delete getmore command dirty used flushes mapped vsize res faults qrw arw net_in net_out conn set repl time hostname.local:27018 *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.25G 25.0M n/a 0|0 1|0 157b 43.9k 19 tic PRI Nov 2 11:44:46.439 hostname.local:27019 *0 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.18G 26.0M n/a 0|0 1|0 322b 44.4k 12 tic SEC Nov 2 11:44:46.439 hostname.local:27020 *0 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.18G 26.0M n/a 0|0 1|0 322b 44.4k 12 tic SEC Nov 2 11:44:46.439 hostname.local:27021 2017 *0 *0 *0 826 1029|0 0.0% 0.0% 0 3.25G 31.0M n/a 0|0 1|0 1.74m 1.60m 20 tac PRI Nov 2 11:44:46.439 hostname.local:27022 *2021 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.19G 32.0M n/a 0|0 1|0 322b 44.6k 12 tac SEC Nov 2 11:44:46.438 hostname.local:27023 *2022 *0 *0 *0 0 3|0 0.0% 0.0% 0 3.19G 33.0M n/a 0|0 1|0 323b 44.7k 12 tac SEC Nov 2 11:44:46.438 localhost:27017 2071 *0 *0 *0 0 2073|0 0 0B 2.43G 9.00M 0 0|0 0|0 249k 130k 4 RTR Nov 2 11:44:47.429 Press '?' to toggle help
AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기
버전 100.1.0의 새로운 기능.
AWS IAM 자격 증명을 통해 인증을 지원하도록 구성된 MongoDB Atlas 클러스터에 연결하려면 다음과 같이 connection string
을 mongostat
에 제공하세요.
mongostat 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>
이러한 방식으로 AWS IAM 자격 증명을 사용하여 Atlas에 연결하면 이 예와 같이 MONGODB-AWS
authentication mechanism
및 $external
authSource
가 사용됩니다.
AWS 세션 토큰을 사용하는 경우에도 다음과 같이 AWS_SESSION_TOKEN
authMechanismProperties
값과 함께 제공합니다.
mongostat 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>
참고
또는 다음과 같이 --username
, --password
및 --awsSessionToken
옵션을 대신 사용하여 AWS 액세스 키 ID, 시크릿 액세스 키 및 세션 토큰(선택 사항)을 각각 연결 문자열 외부에 제공할 수 있습니다.
mongostat 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>
명령줄 매개변수로 제공되는 경우 이러한 세 가지 옵션에는 퍼센트 인코딩이 필요하지 않습니다.
표준 AWS IAM 환경 변수를 사용하여 플랫폼에서 이러한 자격 증명을 설정할 수도 있습니다. mongostat
는 MONGODB-AWS
authentication mechanism
을 사용할 때 다음 환경 변수를 확인합니다.
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
설정된 경우 이러한 자격 증명은 연결 문자열이나 명시적 옵션을 통해 지정할 필요가 없습니다.
참고
AWS 환경 변수를 사용하여 이러한 값을 지정하기로 선택한 경우 이러한 자격 증명에 해당하는 명시적 또는 연결 문자열 옵션과 조합하여 사용할 수 없습니다. 액세스 키 ID 및 비밀 액세스 키(사용 중인 경우 세션 토큰도 함께 필요)에 환경 변수를 사용하거나 또는 명시적 또는 연결 문자열 옵션을 사용하여 각각을 지정합니다.
다음 예시에서는 bash
셸에서 이러한 환경 변수를 설정합니다.
export AWS_ACCESS_KEY_ID='<aws access key id>' export AWS_SECRET_ACCESS_KEY='<aws secret access key>' export AWS_SESSION_TOKEN='<aws session token>'
다른 셸에서 환경 변수를 설정하는 구문은 다를 수 있습니다. 자세한 내용은 사용 중인 플랫폼의 설명서를 참조하세요.
다음 명령어로 이러한 환경 변수가 설정되었는지 확인할 수 있습니다.
env | grep AWS
설정이 완료되면 다음 예시에서는 이러한 환경 변수를 사용하여 MongoDB Atlas 클러스터에 연결합니다.
mongostat 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>