반응형
반응형
MongoDB 사용간 문제발생시나 3rd party 측에서 접속하여 실행한 쿼리를 확인하기 위해
MongoDB의 query history를 log로 남기는 방법에 대해 알아보도록 하겠습니다.
우선 아래는 mongodb의 profilingLevel을 설정하여 query를 남기는 방안입니다.
1. 설정할 database로 switching 한다.
반응형
>use testdb
switched to db testdb
2. setProfilingLevel funtion을 사용하여 프로파일레벨, slow query설정 등을 진행한다.
반응형
>db.setProfilingLevel(<level>, <options>)
/* level 설명
* 0 - 프로파일러off 상태, 별도 데이터를 수집하지 않음.
* 1 - slow query 들만 수집함 // slow query options은 정할수 있으며, 기본은 100ms 임
* 2 - 모든 작업에 대한 데이터 수집 (전체 query log 수집됨)
*/
sample) 프로파일 2로 설정
>db.setProfilingLevel(2)
{ "was" : 0, "slowms" : 1, "ok" : 1 }
추가설명) 프로파일 레벨별 slow query로 기록해야 되는 기준시간 설정 방법
>db.setProfilingLevel(level, milliseconds)
example)
>db.setProfilingLevel(2, 3000)
3. 현재 설정된 profile을 확인한다.
반응형
> db.getProfilingLevel()
2
//또는
> db.getProfilingStatus()
{ "was" : 2, "slowms" : 100, "sampleRate" : 1 } //각 설정에 따른 결과값.
4. 프로파일 설정된 이후의 query log를 아래 명령어를 통해 확인할 수 있다.
반응형
> db.system.profile.find().pretty()
참고) mongo query문을 통해 원하는 log만 별도로 확인할수도 있다.
참고 : https://docs.mongodb.com/manual/reference/method/db.setProfilingLevel/
반응형
'IT Tech > MongoDB' 카테고리의 다른 글
MongoDB 컬렉션 및 필드명 변경하기 (0) | 2020.04.20 |
---|---|
MongoDB 인증 설정 (0) | 2019.12.03 |
Ubuntu 에 MongoDB 설치하기 (0) | 2019.11.18 |
댓글