설정하기
1. 지원 버전
- MongoDB 4.0.0 이상 버전을 지원합니다.
참고: Cloud 환경에서의 MongoDB 모니터링 지원 여부는 별도 확인이 필요합니다.
2. 필수 권한
기본 모니터링 권한
모니터링 계정(예: exemone)에 clusterAdmin 역할을 부여해야 합니다.
use admin
db.createUser({
user: "exemone",
pwd: "password",
roles: [
{ role: "clusterAdmin", db: "admin" }
]
})
clusterAdmin 역할은 다음과 같은 주요 기능을 포함합니다.
- 클러스터 상태 조회
- Replica Set 및 Shard Cluster 관리 및 모니터링
- 서버 통계 조회 (
serverStatus,currentOp등) - Active Session 조회 및 Kill Session 실행
3. 사전 설정 사항
Slow Query 수집 설정
지원 버전: exemone-db-agent v3.0.508.37 이상
Slow Query 수집을 위해 다음 두 단계 설정이 필요합니다.
Step 1) MongoDB 프로파일링 활성화
// 프로파일링 레벨 설정 (level 1: slow query만 기록)
db.setProfilingLevel(1)
// 또는 특정 threshold 값과 함께 설정
db.setProfilingLevel(1, { slowms: 100 })
| 프로파일링 레벨 | 설명 |
|---|---|
| 0 | 프로파일링 비활성화 |
| 1 | slowms 기준을 초과하는 쿼리만 기록 |
| 2 | 모든 쿼리 기록 |
Step 2) Slow Query 기준시간(slowms) 설정
MongoDB의 slow query 기준시간(slowms)을 상황에 맞게 설정합니다.
// slowms 값 변경 (단위: 밀리초)
db.setProfilingLevel(1, { slowms: 200 })
exemONE 모니터링 옵션 설정
MongoDB 인스턴스는 Setting > Database의 Instance 등록/편집 화면에서 Custom Configuration에 아래 키 값을 설정해 수집 방식을 세부적으로 조정할 수 있습니다.
경로: Setting > Database > Edit Instance > Custom Configuration
| 옵션 | 설명 |
|---|---|
mongodb.slow_query_limit | Slow Query 수집 limit 설정 값입니다. |
참고:
mongodb.slow_query_limit옵션은 아래 버전 이상에서 사용할 수 있습니다.
| 모듈 | 버전 |
|---|---|
| exemone-db-agent | v3.0.508.37 |
| exemone-cloud-agent | v3.0.508.1 |
| exemone-receiver | v3.0.508.10 |
| exemone-ingester | v3.0.508.24 |
| exemone-alerter | v3.0.508.38 |
| exemone-core | v3.0.508.34 |
| exemone-api | v3.0.508.87 |
| exemone-gateway | v3.0.508.3 |
| exemone-front | v3.0.508.69 |