적어도 내가 알기로 현재까지 MongoDB 자체적으로 제공되는 쌈박한 로그 로테이션이 아직 없다.
http://www.mongodb.org/display/DOCS/Logging
여기 보면 나름대로 log rotate 하는 방법들이 나와 있는데,
shard까지 풀 구성된 클러스터를 운영하는 상황에선 그냥
1. log rotate 명령어를 이용하여 로그 파일을 분리하고
2. 분리된 로그파일을 꽉꽉 압축해서 어딘가에 짱박는다.
이 방법을 이용하기로 했다.
MongoDB shell 에 접속하여 logRotate 명령어를 날릴 js 파일은 대강 아래처럼 만들고.
var db_admin = db.getMongo().getDB('admin');
a.auth('아이디', '비밀번호');
a.runCommand('logRotate');
shell script 파일을 하나 만들어서,
/MONGODB_BIN/mongo hostname:port LOG_ROTATE.js
같은 식으로 필요한 프로세스마다 접속해서 실행해주면 로그파일이 분리된다.
crontab 을 이용해서 원하는 기간단위로 shell script를 실행시켜주면 수동 로그 로테이션 완성.
'DataBase' 카테고리의 다른 글
[MongoDB] PHP에서 db, collection 상태확인 (php driver, stats) (0) | 2012.11.15 |
---|---|
[MongoDB] setShardVersion failed 에러 발생시 [client version differs from config's for collection] (2) | 2012.10.05 |
[MongoDB] 배열의 수를 기준으로 질의 (advanced query - $size) (0) | 2012.06.27 |
[MongoDB] disk io가 일어날 때를 대비한 전략 (0) | 2012.05.03 |
NoSQL의 스키마 구성원칙 (0) | 2012.04.25 |