MongoDB
本章节为 Cloud Insight 支持的平台服务的文档的示例。
目前能够想到的章节分为以下几个部分:
- 支持的性能指标
- 如何配置 MongoDB 监控
- 常见的问题
性能指标
Cloud Insight 采集 MongoDB 以下性能指标:
- mongodb.globallock.currentqueue.readers
- mongodb.globallock.currentqueue.total
- mongodb.globallock.currentqueue.writers
- mongodb.globallock.locktime
- mongodb.globallock.totaltime
- mongodb.indexcounters.accessesps
- mongodb.indexcounters.hitsps
- mongodb.indexcounters.missesps
- mongodb.indexcounters.missratio
- mongodb.indexcounters.resetsps
- mongodb.mem.mapped
- mongodb.mem.resident
- mongodb.mem.virtual
- mongodb.metrics.document.deletedps
- mongodb.metrics.document.insertedps
- mongodb.metrics.document.returnedps
- mongodb.metrics.document.updatedps
- mongodb.metrics.getlasterror.wtime.numps
- mongodb.metrics.getlasterror.wtime.totalmillisps
- mongodb.metrics.getlasterror.wtimeoutsps
- mongodb.metrics.operation.fastmodps
- mongodb.metrics.operation.idhackps
- mongodb.metrics.operation.scanandorderps
- mongodb.metrics.queryexecutor.scannedps
- mongodb.metrics.record.movesps
- mongodb.metrics.repl.apply.batches.numps
- mongodb.metrics.repl.apply.batches.totalmillisps
- mongodb.metrics.repl.apply.opsps
- mongodb.metrics.repl.buffer.count
- mongodb.metrics.repl.buffer.maxsizebytes
- mongodb.metrics.repl.buffer.sizebytes
- mongodb.metrics.repl.network.bytesps
- mongodb.metrics.repl.network.getmores.numps
- mongodb.metrics.repl.network.getmores.totalmillisp
- mongodb.metrics.repl.network.opsps
- mongodb.metrics.repl.network.readerscreatedps
- mongodb.metrics.ttl.deleteddocumentsps
- mongodb.metrics.ttl.passesps
- mongodb.opcounters.commandps
- mongodb.opcounters.deleteps
- mongodb.opcounters.getmoreps
- mongodb.opcounters.insertps
- mongodb.opcounters.queryps
- mongodb.opcounters.updateps
- mongodb.opcountersrepl.commandps
- mongodb.opcountersrepl.deleteps
- mongodb.opcountersrepl.getmoreps
- mongodb.opcountersrepl.insertps
- mongodb.opcountersrepl.queryps
- mongodb.opcountersrepl.updateps
- mongodb.stats.datasize
- mongodb.stats.indexes
- mongodb.stats.indexsize
- mongodb.stats.objects
- mongodb.stats.storagesize
- mongodb.uptime
配置 MongoDB 监控
创建 OneAPM 访问权限
为 OneAPM 创建只读权限的 Admin 用户。OneAPM 需要 admin 权限才能完整采集 MongoDB 性能数据。
在 Mongo Shell 中执行以下指令。
use admin
db.auth("admin", "admin-password")
db.addUser("oneapm", "YourPassword", true)
如果您使用的是 3.0 和以上版本的 MongoDB,那请执行以下指令,来创建只读 Admin 权限。
use admin
db.auth("admin", "admin-password")
db.createUser({"user":"oneapm", "pwd": "YourPassword", "roles" : [ 'read', 'clusterMonitor']})
您可以通过以下指令,查看用户是否创建成功,权限是否正确。
python -c 'from pymongo import Connection; print Connection().admin.authenticate("oneapm", "YourPassword")' | \
grep True && \
echo -e "\033[0;32moneapm user - OK\033[0m" || \
echo -e "\033[0;31moneapm user - Missing\033[0m"
更多 MongoDB 用户的创建管理,请访问 MongoDB 官方文档。
编辑配置文件
编辑配置文件 conf.d/mongo.yaml
,使 Cloud Insight Agent 可以与 MongoDB 通信。
init_config:
instances:
- server: mongodb://oneapm:YourPassword@localhost:27016
tags:
- tag_key1:tag_value1
- tag_key2:tag_value2
- server: mongodb://oneapm:YourPassword@localhost:27017
tags:
- tag_key1:tag_value1
- tag_key2:tag_value2
重启 Agent
重启 OneAPM Cloud Insight Agent,使配置生效。
您也可以通过查看 Agent Info 信息,来验证配置是否成功。当出现以下信息,则代表安装成功。
Checks
======
[...]
mongo
-----
- instance #0 [OK]
- Collected 8 metrics & 0 events
有关 Agent Info 信息的查看,请访问帮助中心,查看 Cloud Insight Agent 常用操作。