mongoDB起動時
下記をつけて起動させればOK
/urr/bin/mongod --profile=2 --slowms=1
--profile
プロファイルのレベル
- 1: 閾値以上の時間のかかったクエリを残す
- 2: 全てのクエリを残す
--slowms
閾値(ms)
コンソールから
$ mongo db.setProfilingLevel(2,1) { "was" : 0, "slowms" : 20, "ok" : 1 } > db.system.profile.find() ..... .....
第一引数がプロファイルのレベル
第二引数が閾値
どちらで行っても出力先はmongoDBのsystem.profile
コレクションに出力される模様
Database Profiler Output — MongoDB Manual 3.2
一生懸命ファイルを探しても見つからないわけですね
mongotail
いちいちシェルに入ってコマンドたたくのも面倒ですね
mongoDBでslowlogをとるようにしておけばmongotailというコマンドを使ってクエリログを閲覧や垂れ流しすることが出来ます
- install
pip install mongotail
pipでインストール可能
- tailしてみる
こちらもDBのアドレスとデータベース名を入れてコマンドを実行するだけです
-f
で tail -f
と同様な感じに、-v
でverboseモードで全てのログを出力してくれるようです
mongotail 192.168.30.93:27017/database -v -f
簡単!