美文网首页
MongoDB监控

MongoDB监控

作者: let懒 | 来源:发表于2020-04-29 15:40 被阅读0次

监控工具

  • MongoDB Ops Manager
  • Percona
  • 通用监控平台
  • 程序脚本

监控信息来源

  • db.serverStatus()(db.serverStatus()包含的监控信息是从上次开机到现在为止的累计数据)
  • db.isMaster()
  • mongostats命令行工具(只有部分信息)

db.serverStatus()主要信息

  • connections----关于连接数的信息
  • locks----关于MongoDB使用的锁情况
  • network----网络使用情况统计
  • opcounters----CRUD的执行次数统计
  • real----复制集配置信息
  • wiredTiger----包含大量wiredTiger执行情况信息
    • block-manager---WT数据块的读写情况
    • session---session使用数量
    • concurrentTransactions---Ticket使用情况
  • mem----内存使用情况
  • metrics----一系列性能指标统计信息

监控报警的考量

  • 具备一定的容错机制以减少误报的发生
  • 总结应用各指标峰值
  • 适时调整报警阈值
  • 留出足够的处理时间

主要监控指标及其方式

指标 意义 获取
opcounters(操作计数器) 查询、更新、插入、删除、getmore和其他命令的数量。 db.serverStatus().opcounters
tickets(令牌) 对wiredTiger存储引擎的读/写令牌数量。令牌数量表示了可以进入存储引擎的并发操作数量。 db.serverStatus().wiredTiger.concurrentTransactions
replication lag(复制延迟) 这个指标代表了写操作到达从节点所需要的最小时间。过高的replication lag会减小从节点的价值并且不利于配置了写关注w>1的那些操作 db.adminCommand({'replSetGetStatus': 1 })
oplog window(复制时间窗) 这个指标代表oplog可以容纳多长时间的写操作。它表示了一个从节点可以离线多长时间仍能够追上主节点。通常建议该值应大于24小时为佳。 db.oplog.rs.find().sort({$natural: -1 }).limit( 1 ).next().ts - db.oplog.rs.find().sort({$natural: 1 }).limit( 1 ).next().ts
connections(连接数) 连接数应作为监控指标的一部分,因为每个连接都将消耗资源。应该计算低峰/正常/高峰时间的连接数,并制定合理的报警阈值范围。 db.serverStatus().connections
Query targeting(查询专注度) 索引键/文档扫描数量比返回的文档数量,按秒平均。如果该值比较高表示查询系需要进行很多低效的扫描来满足查询。这个情况通常代表了索引不当或缺少索引来支持查询。 var status = db.serverStatus() status.metrics.queryExecutor.scanned / status.metrics.document.returned status.metrics.queryExecutor.scannedObjects / status.metrics.document.returned
Scan and Order扫描和排序 每秒内内存排序操作所占的平均比例。内存排序可能会十分昂贵,因为它们通常要求缓冲大量数据。如果有适当索引的情况下,内存排序是可以避免的。 var status = db.serverStatus() status.metrics.operation.scanAndOrder / status.opcounters.query
节点状态 每个节点的运行状态。如果节点状态不是PRIMARY、SECONDARY、ARBITER中的一个,或无法执行上述命令则报警 db.runCommand("isMaster")
dataSize(数据大小) 整个实例数据总量(压缩前) 每个DB执行db.stats();
StorageSize(磁盘空间大小) 已使用的磁盘空间占总空间的百分比。

相关文章

  • MongoDB状态命令

    MongoDB状态监控命令: mongostat命令:mongostat - MongoDB Use Statis...

  • 【mongoDB】MongoDB监控

    MongoDB监控之一:运行状态、性能监控,分析 https://www.cnblogs.com/duanxz/p...

  • MongoDB监控

    监控工具 MongoDB Ops Manager Percona 通用监控平台 程序脚本 监控信息来源 db.se...

  • MongoDB工具

    监控 MongoDB提供了网络和系统监控工具Munin,它作为一个插件应用于MongoDB中。 Gangila是M...

  • MongoDB 监控备份工具MMS

    MongoDB的管理服务(MMS)是用于监控和备份MongoDB的基础设施服务。其中监控的服务是免费的,备份的服务...

  • zabbix + python监控mongodb

    目录 监控需求 监控脚本 总结 监控需求 接到个任务,需要监控mongodb,我们用的mongo是分片加副本集,网...

  • MongoDB - 监控

    随着MongoDB中保存的数据越来越多,对MongoDB服务状态的监控也越来越重要,经常关注服务是否健康,才能防止...

  • MongoDB 监控

    mongostat 命令 mongostat是mongodb自带的状态检测工具,在命令行下使用。它会间隔固定时间获...

  • MongoDB 监控

    MongoDB 监控 在你已经安装部署并允许MongoDB服务后,你必须要了解MongoDB的运行情况,并查看Mo...

  • mongodb监控

    连接要监控的数据库,执行 重点关注microsecs_running字段,找到比较大的进行优化

网友评论

      本文标题:MongoDB监控

      本文链接:https://www.haomeiwen.com/subject/lpfnwhtx.html