웹사이트 검색

MongoDB 성능을 모니터링하는 6가지 유용한 도구


최근 Ubuntu 18.04에 MongoDB를 설치하는 방법을 보여주었습니다. 데이터베이스를 성공적으로 배포한 후에는 데이터베이스가 실행되는 동안 성능을 모니터링해야 합니다. 이는 데이터베이스 관리에서 가장 중요한 작업 중 하나입니다.

다행스럽게도 MongoDB는 성능과 활동을 검색할 수 있는 다양한 방법을 제공합니다. 이 기사에서는 실행 중인 MongoDB 인스턴스의 상태에 대한 통계를 보고하기 위한 모니터링 유틸리티와 데이터베이스 명령을 살펴보겠습니다.

1. 몽고스타트

Mongostat은 Linux, FreeBSD, Solaris 및 MacOS와 같은 모든 주요 Unix 계열 운영 체제에서 사용할 수 있는 vmstat 모니터링 도구와 기능면에서 유사합니다. Mongostat은 데이터베이스 상태에 대한 빠른 개요를 얻는 데 사용됩니다. 실행 중인 mongod 또는 mongos 인스턴스에 대한 동적 실시간 보기를 제공합니다. 삽입, 쿼리, 업데이트, 삭제 등과 같은 유형별로 데이터베이스 작업 수를 검색합니다.

표시된 대로 mongostat를 실행할 수 있습니다. 인증이 활성화된 경우 특히 특수 문자가 포함된 경우 오류가 발생하지 않도록 사용자 비밀번호를 작은따옴표로 묶으십시오.

mongostat -u "root" -p '=@!#@%$admin1' --authenticationDatabase "admin"

더 많은 mongostat 사용 옵션을 보려면 다음 명령을 입력하세요.

mongostat --help 

2. 몽고탑

Mongotop은 또한 실행 중인 MongoDB 인스턴스에 대한 동적 실시간 보기를 제공합니다. MongoDB 인스턴스가 데이터를 읽고 쓰는 데 소요되는 시간을 추적합니다. 기본적으로 매초마다 값을 반환합니다.

mongotop -u "root" -p '=@!#@%$admin1'  --authenticationDatabase "admin"

더 많은 mongotop 사용 옵션을 보려면 다음 명령을 입력하세요.

mongotop --help 

3. serverStatus 명령

먼저 mongo 셸에 로그인하려면 다음 명령을 실행해야 합니다.

mongo -u "root" -p '=@!#@%$admin1' --authenticationDatabase "admin"

그런 다음 인스턴스에 대한 통계를 수집하여 데이터베이스 상태에 대한 개요를 제공하는 serverStatus 명령을 실행합니다.

>db.runCommand( { serverStatus: 1 } )
OR
>db.serverStatus()

4. dbStats 명령

dbStats 명령은 사용된 저장소 양, 데이터베이스에 포함된 데이터 양, 개체, 컬렉션 및 인덱스 카운터와 같은 특정 데이터베이스에 대한 저장소 통계를 반환합니다.

>db.runCommand({ dbStats: 1 } )
OR
>db.stats()

5. 콜 통계

collStats 명령은 컬렉션 수준에서 dbStats가 제공하는 것과 유사한 통계를 수집하는 데 사용되지만 출력에는 컬렉션의 개체 수, 컬렉션 크기가 포함됩니다. , 컬렉션에서 사용하는 디스크 공간의 양 및 해당 인덱스에 관한 정보입니다.

>db.runCommand( { collStats : "aurthors", scale: 1024 } )

6. replSetGetStatus 명령

replSetGetStatus 명령은 명령을 처리한 서버의 관점에서 복제본 세트의 상태를 출력합니다. 이 명령은 다음 형식으로 admin 데이터베이스에 대해 실행되어야 합니다.

>db.adminCommand( { replSetGetStatus : 1 } )

위의 유틸리티 및 데이터베이스 명령 외에도 지원되는 타사 모니터링 도구를 직접 또는 자체 플러그인을 통해 사용할 수도 있습니다. 여기에는 mtop, munin 및 nagios가 포함됩니다.

자세한 내용은 MongoDB 설명서 모니터링을 참조하세요.

지금은 그게 다야! 이 기사에서는 실행 중인 MongoDB 인스턴스의 상태에 대한 통계를 보고하기 위한 몇 가지 유용한 모니터링 유틸리티와 데이터베이스 명령을 다루었습니다. 질문이 있거나 의견을 공유하려면 아래 피드백 양식을 사용하세요.