設定する
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収集のためには、以下の2段階の設定が必要です。
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 |