定义
行为
输出
定义
==serverStatus
serverStatus命令返回一个文档,该文档提供数据库状态的概述。监控应用程序可以定期运行此命令收集有关该实例的统计信息。
db.runCommand( { serverStatus: 1 } )
值(即1)不会影响命令的操作。同时mongo shell提供了db.serverStatus()封装该命令。
注:
serverStatus的大部分输出也动态显示在mongostat命令中。可参阅 mongostat命令。
行为
默认情况下,serverStatus在其输出中排除repl文档中的一些内容。
要输出默认排除的字段,需要明确定义顶级字段,在命令中设置顶级字段为1。要排除默认包含的字段,在命令中设置顶级字段为0。
例如,在输出中排除repl, metrics, locks信息。
db.runCommand( { serverStatus: 1, repl: 0, metrics: 0, locks: 0 } )
在输出中包含所有repl信息:
db.runCommand( { serverStatus: 1, repl: 1 } )
输出
注意
输出字段取决于:MongoDB的版本,底层的操作系统平台,存储引擎,和节点类型(包括mongos,mongod或 副本集成员)。
serverStatus在不同MongoDB版本的输出字段,请参阅相应版本的MongoDB手册。
从MongoDB 4.0.6开始,serverStatus包括:
opReadConcernCounters
opWriteConcernCounters(需要reportOpWriteConcernCountersInServerStatus参数设置为true)。
metrics.repl.apply.batchSize
从MongoDB 4.0开始,serverStatus输出中包含 shardingStatistics。
从MongoDB 3.6开始,serverStatus不再输出 rangeDeleter部分。
在MongoDB中3.0开始,serverStatus不再输出 workingSet,indexCounters以及recordStats部分。
实例信息:
"host" : , "advisoryHostFQDNs" : , "version" : , "process" : , "pid" : , "uptime" : , "uptimeMillis" : , "uptimeEstimate" : , "localTime" : ISODate(“"),
host: 系统的主机名。在Unix / Linux系统中,与hostname命令的输出相同。
advisoryHostFQDNs: 3.2版本新功能,全限定域名数组
version:当前MongoDB进程的MongoDB版本。
process:当前的MongoDB进程,可能的值为mongos或mongod
pid: 进程的id号
uptime: 当前MongoDB进程处于活动状态的总秒数,即启动时长。
uptimeMillis: 当前MongoDB进程处于活动状态的毫秒数。
uptimeEstimate: MongoDB内部粗粒度时间保持系统以秒为单位的启动时长
localTime: ISODate表示服务器当前时间,以UTC表示。
asserts
"asserts" : { "regular" : , "warning" : , "msg" : , "user" : , "rollovers" : },
asserts: 报告自MongoDB进程启动以来引发的断言数目的文档。虽然断言错误一般不常见,但如果asserts非零,则应检查日志文件以获取更多信息。在许多情况下,这些错误是微不足道的,但值得研究。
asserts.regular: 自MongoDB进程启动以来引发的常规断言数。检查日志文件以获取有关这些消息的更多信息。
asserts.warning: 在4.0版中更改, 从MongoDB 4.0开始,该字段返回零0。在早期版本中,该字段返回自MongoDB进程启动以来引发的警告数。
asserts.msg: 自MongoDB进程启动以来引发的消息断言数。检查日志文件以获取更多信息。
asserts.user: 自上次MongoDB进程启动以来发生的“用户断言”数。这些是用户可能生成的错误,例如磁盘空间不足或重复密钥。您可以通过修复应用程序或部署问题来阻止这些断言。查看MongoDB日志以获取更多信息。
asserts.rollovers:自上次MongoDB进程启动以来翻转计数器已翻转的次数。在2^30个断言之后,计数器将翻转为零。使用此值可为asserts数据结构中的其他值提供上下文 。
backgroundFlushing
"backgroundFlushing" : { "flushes" : , "total_ms" : , "average_ms" : , "last_ms" : , "last_finished" : ISODate("...") },
注意
backgroundFlushing仅对使用MMAPv1存储引擎的实例显示。
backgroundFlushing:报告mongod进程定期写入磁盘的文档。如果关心对写入性能和journaling,请参考这些值。
backgroundFlushing.flushes: 数据库将所有写入刷盘的次数。当数据库运行较长时间时,此值将增加。
backgroundFlushing.total_ms: mongod 进程将数据写入(即刷新)到磁盘所花费的总毫秒数(ms)。因为total_ms是绝对值,需综合考虑flushes和 average_ms值。
backgroundFlushing.average_ms: 以毫秒为单位每次刷盘的平均时间,通过total_ms/flushes计算得出。average_ms更可能代表 flushes增加值。不过,异常数据可能会扭曲此值。使用 backgroundFlushing.last_ms以检查高平均值是否因瞬态历史事件或随机写入分布而发生偏差。
backgroundFlushing.last_ms: 上次刷新操作完成所花费的时间(以毫秒为单位)。使用此值可验证服务器的当前性能是否与backgroundFlushing.average_ms和 backgroundFlushing.total_ms提供的历史数据一致。
backgroundFlushing.last_finished: 上次刷新操作完成的 时间戳,以ISODate格式表示。如果此值超过服务器当前时间几分钟并且考虑到时区差异,则重启数据库可能会导致一些数据丢失。也可以考虑通过常规阻止写入操作来阻止此值的持续操作。
connections
"connections" : { "current" : , "available" : , "totalCreated" : NumberLong() },
connections: 报告连接状态的文档。使用这些值来评估服务器的当前负载和容量要求。
connections.current: 从客户端到数据库服务器的连接数。此数值包括当前的shell会话。考虑connections.available为此数据添加更多上下文的值。
该值将包括所有传入连接,包括任何shell连接或来自其他服务器的连接,例如 副本集成员或mongos实例。
connections.available: 可用的未使用连接数。将此值与 connections.current以了解数据库上的连接负载,查阅UNIX ulimit设置文档,获取有关可用连接的系统阈值的更多信息。
connections.totalCreated: 计算创建到服务器的所有连接。此数字包括已关闭的连接。
dur (journaling)
"dur" : { "commits" : , "journaledMB" : , "writeToDataFilesMB" : , "compression" : , "commitsInWriteLock" : , "earlyCommits" : , "timeMs" : { "dt" : , "prepLogBuffer" : , "writeToJournal" : , "writeToDataFiles" : , "remapPrivateView" : , "commits" : , "commitsInWriteLock" : } },
注意
dur(journaling)信息仅出现在 mongod实例,并且使用MMAPv1存储引擎且启用了journaling。
dur: 报告mongod实例 与日志相关的操作和性能的文档。MongoDB每3秒报告此数据,收集过去3到6秒之间的信息。
dur.commits:在上一个日志组提交间隔期间写入日志的事务数。
dur.journaledMB: 在上一个日志组提交间隔期间写入日志的数据量(单位(MB))。
dur.writeToDataFilesMB: 在上一个日志组提交间隔期间从日志写入数据文件的数据量(MB)。
dur.compression: 写入日志的数据的压缩率:
( journaled_size_of_data / uncompressed_size_of_data )
dur.commitsInWriteLock: 持有写锁时发生的提交计数。写锁的提交数表示MongoDB节点处于高写负载下,并要求进一步诊断。
dur.earlyCommits: MongoDB在计划的日志组提交间隔之前请求提交的次数 。使用此值确保日记组提交间隔部署时间不会太长。
dur.timeMS: mongod 实例在上一个日记组提交间隔的journaling的各个阶段中报告实例性能的文档。
dur.timeMS.dt: MongoDB收集dur.timeMS数据(以毫秒为单位)。使用此字段为其他dur.timeMS字段值提供上下文。
dur.timeMS.prepLogBuffer: 准备写入日志所花费的时间(以毫秒为单位)。值越小则日志性能越好。
dur.timeMS.writeToJournal: 实际写入日志所花费的时间(以毫秒为单位)。文件系统速度和设备接口会影响其性能。
dur.timeMS.writeToDataFiles: 在日志之后写入数据文件所花费的时间(以毫秒为单位)。文件系统速度和设备接口会影响其性能。
dur.timeMS.remapPrivateView: 重新映射copy-on-write内存映射视图所花费的时间(以毫秒为单位)。较小的值表明日志性能越好。
dur.timeMS.commits: 提交所花费的时间(以毫秒为单位)。
dur.timeMS.commitsInWriteLock: 持有写锁时,提交所花费的时间(以毫秒为单位)
extra_info
"extra_info" : { "note" : "fields vary by platform.", "heap_usage_bytes" : , "page_faults" : },
extra_info: 提供有关基础系统的其他信息的文档。
extra_info.note: 字符串文本 “fields vary by platform.”
extra_info.heap_usage_bytes: 数据库进程使用的堆空间的总大小(以字节为单位)。仅适用于Unix / Linux系统。
extra_info.page_faults: 缺页中断总数。当性能瓶颈或者内存不足或者数据集增大, extra_info.page_faults计数器动态的增加。有限和零星的缺页中断不一定表示问题。
Windows区分“硬”缺页中断包括硬盘I/O,“软”缺页中断仅需要内存页面移动。MongoDB在此统计信息中计算硬缺页中断和软缺页中断。
freeMonitoring
"freeMonitoring" : { "state" : , "retryIntervalSecs" : , "lastRunTime" : , "registerErrors" : , "metricsErrors" : },
freeMonitoring:报告免费云监控的文档。
freeMonitoring.state:免费监控的启用状态。值可以是:“enabled”,“disabled”,”pending”如果启用免费监控, 遇到注册错误。
freeMonitoring.retryIntervalSecs: 上传数据的频率(以秒为单位)。
freeMonitoring.lastRunTime: 上次运行指标的日期和时间。
freeMonitoring.registerErrors: 注册错误的数量,遇到非期望的HTTP状态或网络错误时会增加。
freeMonitoring.metricsErrors: 上传指标时遇到的错误数。
globalLock
"globalLock" : { "totalTime" : , "currentQueue" : { "total" : , "readers" : , "writers" : }, "activeClients" : { "total" : , "readers" : , "writers" : } },
globalLock: 报告数据库锁状态的文档。通常,锁文档提供有关锁使用的更详细数据。
globalLock.totalTime: 自数据库上次启动和创建全局锁以来的时间(以微秒为单位)。这大致与总服务器启动时间相同。
globalLock.currentQueue: 锁引起的排队操作数目的文档
globalLock.currentQueue.total: 等锁的操作的总数(即,总和globalLock.currentQueue.readers和 globalLock.currentQueue.writers)。
持续很小的队列,特别是较短的操作,不必关注。综合考虑globalLock.activeClients 读写相关信息。
globalLock.currentQueue.readers: 排队等待读锁的操作数。持续很小的读队列,尤其是较短的操作,不必关注。
globalLock.currentQueue.writers: 排队等待写锁的操作数。持续很小写队列,特别是较短的操作,不必关注。
globalLock.activeClients: 正在执行读写操作的已连接客户端数目文档,综合考虑 globalLock.currentQueue。
globalLock.activeClients.total: 内部客户端连接db总数,包括系统线程以及读写队列。由于包括系统线程,此值将高于activeClients.readers 和activeClients.writers之和。
globalLock.activeClients.readers: 执行读操作的活跃客户端连接数。
globalLock.activeClients.writers: 执行写操作的活跃客户端连接数。
logicalSessionRecordCache
3.6 版本的新功能。
"logicalSessionRecordCache" : { "activeSessionsCount" : , "sessionsCollectionJobCount" : , "lastSessionsCollectionJobDurationMillis" : , "lastSessionsCollectionJobTimestamp" : , "lastSessionsCollectionJobEntriesRefreshed" : , "lastSessionsCollectionJobEntriesEnded" : , "lastSessionsCollectionJobCursorsClosed" : , "transactionReaperJobCount" : , "lastTransactionReaperJobDurationMillis" : , "lastTransactionReaperJobTimestamp" : , "lastTransactionReaperJobEntriesCleanedUp" : },
logicalSessionRecordCache.activeSessionsCount: 自上次刷新周期以来mongod或mongos实例在内存中缓存的所有活跃本地会话的数目 。
参阅:
$listLocalSessions
logicalSessionRefreshMillis
logicalSessionRefreshMinutes
logicalSessionRecordCache.sessionsCollectionJobCount: 跟踪刷新进程在config.system.sessions集合上运行的次数的数目。
参阅:logicalSessionRefreshMinutes
logicalSessionRecordCache.lastSessionsCollectionJobDurationMillis: 上次刷新的长度(以毫秒为单位)。
logicalSessionRecordCache.lastSessionsCollectionJobTimestamp: 上次刷新的时间。
logicalSessionRecordCache.lastSessionsCollectionJobEntriesRefreshed: 上次刷新期间刷新的会话数。
logicalSessionRecordCache.lastSessionsCollectionJobEntriesEnded:上次刷新期间结束的会话数。
logicalSessionRecordCache.lastSessionsCollectionJobCursorsClosed:上次config.system.sessions集合刷新期间关闭的游标数 。
logicalSessionRecordCache.transactionReaperJobCount
跟踪事务记录清理进程在config.transactions 集合上运行的次数的数目。
logicalSessionRecordCache.lastTransactionReaperJobDurationMillis:上次事务记录清理的长度(以毫秒为单位)。
logicalSessionRecordCache.lastTransactionReaperJobTimestamp:最后一次事务记录清理的时间。
logicalSessionRecordCache.lastTransactionReaperJobEntriesCleanedUp:
在上次事务记录清理期间删除的config.transactions集合中的条目数。
locks
"locks" : { : { "acquireCount" : { : NumberLong(), ... }, "acquireWaitCount" : { : NumberLong(), ... }, "timeAcquiringMicros" : { : NumberLong(), ... }, "deadlockCount" : { : NumberLong(), ... } }, …
locks
在3.0版中更改。
报告每个锁和锁数据的文档。
锁如下:
Lock Type Description
Global Represents global lock.
MMAPV1Journal Represents MMAPv1 storage engine specific lock to synchronize journal writes; for non-MMAPv1 storage engines, the mode for MMAPV1Journal is empty.
Database Represents database lock.
Collection Represents collection lock.
Metadata Represents metadata lock.
oplog Represents lock on the oplog.
如下:
Lock Mode Description
R Represents Shared (S) lock.
W Represents Exclusive (X) lock.
r Represents Intent Shared (IS) lock.
w Represents Intent Exclusive (IX) lock.
所有值均为NumberLong()类型。
locks..acquireCount:在特定模式下获取锁的次数。
locks..acquireWaitCount: 因锁冲突,引起locks.acquireCount锁等待的次数。
locks..timeAcquiringMicros: 获取锁的等待时间和(以微秒为单位)。
locks.timeAcquiringMicros除以 locks.acquireWaitCount给出特定锁定模式的近似平均等待时间。
locks..deadlockCount: 获取锁时遇到死锁的次数。
network
"network" : { "bytesIn" : , "bytesOut" : , "numRequests" : },
network:报告MongoDB网络使用情况的文档。
network.bytesIn: 数据库接收的网络流量字节数。使用此值可确保发送到mongod进程的网络流量与预期和整个应用程序间流量一致。
network.bytesOut: 数据库发送的网络流量的字节数 。使用此值可确保mongod进程发送的网络流量与预期和整体应用程序间流量一致。
network.numRequests: 服务器已收到的不同请求的总数。使用此值为network.bytesIn和network.bytesOut 值提供上下文, 以确保MongoDB的网络使用率与期望和应用程序使用一致。
opLatencies
仅适用于mongod
实例
"opLatencies" : { "reads" : , "writes" : , "commands" : },
opLatencies: 包含整个数据库操作延迟的文档。参阅latencyStats文档查看详细说明。只有mongod实例报告 opLatencies。
opLatencies.reads: 读请求的延迟统计信息。
opLatencies.writes: 写操作的延迟统计信息。
opLatencies.commands: 数据库命令的延迟统计信息。
opReadConcernCounters
4.0.6版中的新功能,仅适用于mongod实例
"opReadConcernCounters" : { "available" : NumberLong(), "linearizable" : NumberLong(), "local" : NumberLong(), "majority" : NumberLong(), "snapshot" : NumberLong(), "none" : NumberLong() }
opReadConcernCounters
4.0.6版中的新功能。
报告自上次启动以来对mongod实例查询操作指定 的读取关注级别的文档。
Specified w Description
“available” Number of query operations that specified read concern level “available”.
“linearizable” Number of query operations that specified read concern level “linearizable”.
“local” Number of query operations that specified read concern level “local”.
“majority” Number of query operations that specified read concern level “majority”.
“snapshot” Number of query operations that specified read concern level “snapshot”.
“none” Number of query operations that did not specify a read concern level and instead used the default read concern level.
opReadConcernCounters之和等于 opcounters.query。
opWriteConcernCounters
4.0.6版中的新功能,仅适用于mongod实例
"opWriteConcernCounters" : { "insert" : { "wmajority" : NumberLong(), "wnum" : { "" : NumberLong(), ... }, "wtag" : { "" : NumberLong(), ... }, "none" : NumberLong() }, "update" : { "wmajority" : NumberLong(), "wnum" : { "" : NumberLong(), }, "wtag" : { "" : NumberLong(), ... }, "none" : NumberLong() }, "delete" : { "wmajority" : NumberLong() "wnum" : { "" : NumberLong(), ... }, "wtag" : { "" : NumberLong(), ... }, "none" : NumberLong() } }
opWriteConcernCounters:报告自上次启动以来特定write concerns 下mongod实例的写入操作的文档。
更具体地说,opWriteConcernCounters 报告指定的w:的写入操作。日志标志选项(j)和write concerns的超时选项(wtimeout)不会影响计数。即使操作超时,计数也会增加。
注意:仅在reportOpWriteConcernCountersInServerStatus参数设置为true(false默认情况下)时可用 。
opWriteConcernCounters.insert
4.0.6版中的新功能。报告在特定的w:下,自上次启动以来对mongod实例执行的插入操作的文档:
注意:仅在reportOpWriteConcernCountersInServerStatus参数设置为true(false默认情况下)时可用 。
“insert” : { “wmajority” : NumberLong ( ), “wnum” : { “” : NumberLong ( ), ... }, “wtag” : { “” : NumberLong ( ), ... }, “none” : NumberLong ( ) },
opWriteConcernCounters.insert总和等于 opcounters.insert。
opWriteConcernCounters.update
4.0.6版中的新功能。报告在指定的w:下,自上次启动以来对实例的更新操作的文档:
注意:仅在reportOpWriteConcernCountersInServerStatus参数设置为true(false默认情况下)时可用 。
“update” : { “wmajority” : NumberLong ( ), “wnum” : { “” : NumberLong ( ), }, “wtag” : { “” : NumberLong ( ), ... }, “none” : NumberLong ( ) },
Description
“wmajority” Number of insert operations that specified w: “majority”.
“wnum” Number of insert operations that specified w: . The counts are grouped by the specific .
“wtag” Number of insert operations that specified w: . The counts are grouped by the specific .
“none” Number of insert operations that did not specify w value. These operations use the default w value of 1.
opWriteConcernCounters.update总和等于opcounters.update。
opWriteConcernCounters.delete
4.0.6版中的新功能。报告指定的w:,自上次启动以来对mongod实例执行的删除操作的文档:
注意:仅在reportOpWriteConcernCountersInServerStatus参数设置为true(false默认情况下)时可用
"delete" : { "wmajority" : NumberLong() "wnum" : { "" : NumberLong(), ... }, "wtag" : { "" : NumberLong(), ... }, "none" : NumberLong() }
Description
“wmajority” Number of update operations that specified w: “majority”.
“wnum” Number of update operations that specified w: . The counts are grouped by the specific .
“wtag” Number of update operations that specified w: . The counts are grouped by the specific .
“none” Number of update operations that did not specify w value. These operations use the default w value of 1.
opWriteConcernCounters.delete的总和等于opcounters.delete。
opcounters
“opcounters” : { “insert” : , “query” : , “update” : , “delete” : , “getmore” : , “command” : },
opcounters
自mongod上次启动实例以来, 按数据库操作类型报告的文档 。
这些数字将随着时间的推移而增长,直 到下次重启,随着时间的推移分析这些值以跟踪数据库使用率。
注意:opcounters操作中的数据数据受多文档影响,例如批量插入或多次更新操作,将作为单个操作处理。有关更详细的文档级操作跟踪,请参阅metrics.document 。
此外,这些值反映了接收的操作,即使操作不成功也会增加。
opcounters.insert:自上次启动mongod实例以来收到的插入操作总数 。
opcounters.query:自 上次启动mongod实例以来收到的查询总数。
opcounters.update:自上次启动mongod实例以来收到的更新操作总数 。
opcounters.delete:自上次启动mongod实例以来的删除操作总数。
opcounters.getmore:自上次启动mongod实例以来“getmore”操作的总数。即使查询数目较低,此计数器也可能很高。作为复制进程的一部分,Secondary节点将发送 getMore操作
opcounters.command:自mongod上次启动实例以来向数据库发出的命令总数 。
opcounters.command计数所有的命令 ,除了写命令: insert,update,和delete。
opcountersRepl
“opcountersRepl” : { “insert” : , “query” : , “update” : , “delete” : , “getmore” : , “command” : },
opcountersRepl:自上次启动mongod实例以来按类型报告数据库复制操作的文档。当前主机是副本集的成员时才会显示这些值。
MongoDB在复制期间序列化操作,因此这些值将与opcounters值不同。更多信息请参阅复制。
这些数字将随着时间的推移而增长,以响应数据库使用,直到下次重启。随着时间的推移分析这些值以跟踪数据库利用率。
opcountersRepl.insert:自上次启动mongod实例以来复制插入操作的总数 。
opcountersRepl.query:自 上次启动mongod实例以来复制查询的总数。
opcountersRepl.update:自上次启动mongod实例以来复制更新操作总数 。
opcountersRepl.delete:自上次启动mongod实例以来复制的删除操作总数 。
opcountersRepl.getmore:自上次启动mongod实例以来“getmore”操作的总数。即使查询数目较低,此计数器也可能很高。作为复制进程的一部分,secondary节点发送getMore操作。
opcountersRepl.command:自上次启动mongod实例以来发送到数据库的复制命令总数。
repl
"repl" : { "hosts" : [ , , ], "setName" : , "setVersion" : , "ismaster" : , "secondary" : , "primary" : , "me" : , "electionId" : ObjectId(""), "rbid" : , "replicationProgress" : [ { "rid" : , "optime" : { ts: , term: }, "host" : , "memberId" : }, ... ] }
repl:报告副本集配置的文档。 repl仅在当前主机是副本集时存在。更多信息请参见复制。
repl.hosts:当前副本集成员的主机名和端口信息(”host:port”)的数组。
repl.setName:当前副本集名称的字符串。此值反映–replSet命令行参数或配置文件中replSetName的值。
repl.ismaster:一个布尔值,指示当前节点是否是副本集的primary节点 。
repl.secondary:一个布尔值,指示当前节点是否是副本集的 secondary成员。
repl.primary:3.0版中的新功能。
副本集的当前primary成员的主机名和端口信息(”host:port”) 。
repl.me:3.0版中的新增功能:副本集当前成员的主机名和端口信息(”host:port”)。
repl.rbid:3.0版中的新功能。回滚标识符。用于确定此mongod实例是否发生了回滚。
repl.replicationProgress:在3.2版中更改:以前名称serverStatus.repl.slaves。
3.0版中的新功能。
一个数组,副本集的每个成员报告复制进程给这个成员的一个数组文档。通常,这个成员是primary或者使用链式复制的secondary。
要输出repl,必须将repl选项传递给 serverStatus,如下所示:
db.serverStatus({ “repl”: 1 })
db.runCommand({ “serverStatus”: 1, “repl”: 1 })
repl.replicationProgress部分的内容取决于每个成员复制的源。支持内部操作,仅供内部和诊断使用。
repl.replicationProgress[n].rid:ObjectId用作副本集成员的ID。仅限内部使用。
repl.replicationProgress[n].optime:从这个成员报告的,成员应用的oplog最后一个操作信息。
repl.replicationProgress[n].host:主机的名称[hostname]:[port]格式为副本集的成员。
repl.replicationProgress[n].memberID:此成员的副本集的整数标识符。
security
"security" : { "SSLServerSubjectName": , "SSLServerHasCertificateAuthority": , "SSLServerCertificateExpirationDate": },
security:3.0版中的新功能。报告安全配置和详细信息的文档。仅在针对TLS / SSL编译的mongod实例中出现。
security.SSLServerSubjectName: net.ssl.PEMKeyFile指定的TLS / SSL证书关联的主题名称 。
security.SSLServerHasCertificateAuthority:布尔值true表示net.ssl.PEMKeyFile 指定的TLS / SSL证书与证书颁发机构关联时。false表示TLS / SSL证书是自签名的。
security.SSLServerCertificateExpirationDate:
一个日期对象,表示由net.ssl.PEMKeyFile指定的TLS / SSL证书到期的日期 。
sharing
版本3.2中的新功能:运行时mongos,该命令返回分片信息。
在版本3.6中更改:从MongoDB 3.6开始,分片成员返回分片信息。
{
"configsvrConnectionString" : "csRS/cfg1.example.net:27019,cfg2.example.net:27019,cfg2.example.net:27019", "lastSeenConfigServerOpTime" : { "ts" : Timestamp(1517462189, 1), "t" : NumberLong(1) }, "maxChunkSizeInBytes" : NumberLong(67108864) }
sharding:包含分片集群数据的文档。lastSeenConfigServerOpTime仅存在在mongos或分片成员,而配置节点不存在。
sharding.configsvrConnectionString:配置服务器的连接字符串。
sharding.lastSeenConfigServerOpTime:
mongos或shard成员可见,CSRS primary的最新 optime。optime文档包括:
ts,操作的时间戳。
t,term表示操作在primary上最初生成的时间。
lastSeenConfigServerOpTime仅存在在使用CSRS(副本集)的分片集群中。
sharding.maxChunkSizeInBytes:版本3.6中的新功能。块的最大大小限制。如果最近在配置服务器上更新了块大小,则maxChunkSizeInBytes可能无法反映最新值。
shardingStatistics
4.0版中的新功能。
"shardingStatistics" : { "countStaleConfigErrors" : NumberLong(), "countDonorMoveChunkStarted" : NumberLong(), "totalDonorChunkCloneTimeMillis" : NumberLong(), "totalCriticalSectionCommitTimeMillis" : NumberLong(), "totalCriticalSectionTimeMillis" : NumberLong(), "catalogCache" : { "numDatabaseEntries" : NumberLong(), "numCollectionEntries" : NumberLong(), "countStaleConfigErrors" : NumberLong(), "totalRefreshWaitTimeMicros" : NumberLong(), "numActiveIncrementalRefreshes" : NumberLong(), "countIncrementalRefreshesStarted" : NumberLong(), "numActiveFullRefreshes" : NumberLong(), "countFullRefreshesStarted" : NumberLong(), "countFailedRefreshes" : NumberLong() } },
shardingStatistics:分片集群上元数据刷新的指标的文档。
shardingStatistics.countStaleConfigErrors:线程命中陈旧配置异常的总次数。由于陈旧的配置异常触发元数据的刷新,因此该数字大致与元数据刷新的数量成比例。仅存在在正在运行的分片上。
shardingStatistics.countDonorMoveChunkStarted:作为块迁移过程的一部分, moveChunk 命令在分片上启动的总次数(此节点是其成员)。这个数字都会增加不论迁移是否成功。仅存在在运行分片上。
shardingStatistics.totalDonorChunkCloneTimeMillis:从当前shard块迁移的克隆阶段所占用的累积时间(以毫秒为单位),此节点是该节点的成员。具体而言,对于从此分片的每次迁移,跟踪时间从发起moveChunk命令开始, 结束于目标分片进入追赶阶段之前,应用在块迁移期间发生的更改 。仅存在在运行的分片上。
shardingStatistics.totalCriticalSectionCommitTimeMillis:从此分片块迁移过程中的更新元数据阶段所花费的累积时间(以毫秒为单位)。在更新元数据阶段,将阻止集合上的所有操作。仅存在在运行的分片上。
shardingStatistics.totalCriticalSectionTimeMillis:从此分片块迁移的追赶阶段和更新元数据阶段所占用的累积时间(以毫秒为单位),此节点是该节点的成员。
要计算追赶阶段的持续时间为
totalCriticalSectionTimeMillis – totalCriticalSectionCommitTimeMillis
仅存在于在运行分片上运行时出现。
shardingStatistics.catalogCache:集群路由信息缓存的统计信息的文档。
shardingStatistics.catalogCache.numDatabaseEntries:
当前在编目缓存中的数据库条目总数。
shardingStatistics.catalogCache.numCollectionEntries:当前位于编目缓存中的集合条目总数(跨所有数据库)。
shardingStatistics.catalogCache.countStaleConfigErrors:线程命中过时配置异常的总次数。过时的配置异常会触发元数据的刷新。
shardingStatistics.catalogCache.totalRefreshWaitTimeMicros:线程必须等待刷新元数据的累积时间(以微秒为单位)。
shardingStatistics.catalogCache.numActiveIncrementalRefreshes:当前正在等待的增量编目缓存刷新的数量。
shardingStatistics.countIncrementalRefreshesStarted:已启动的累计增量刷新次数。
shardingStatistics.catalogCache.numActiveFullRefreshes:正在等待的全量编目缓存刷新的数量。
shardingStatistics.catalogCache.countFullRefreshesStarted:已启动的累计全量刷新数。
shardingStatistics.catalogCache.countFailedRefreshes:已失败的全量或增量刷新的累计数量。
storageEngine
3.0版中的新功能。
"storageEngine" : { "name" : , "supportsCommittedReads" : , "persistent" : },
storageEngine:包含当前存储引擎数据的文档。
storageEngine.name:当前存储引擎的名称。
storageEngine.supportsCommittedReads:版本3.2中的新功能。
一个布尔值,表示存储引擎是否支持”majority” read concern。
storageEngine.persistent:版本3.2.6中的新功能。一个布尔值,表示存储引擎是否将数据持久化到磁盘。
transactions
版本3.6.3中的新功能。
"transactions" : { "retriedCommandsCount" : , "retriedStatementsCount" : , "transactionsCollectionWriteCount" : , "currentActive" : , "currentInactive" : , "currentOpen" : , "totalAborted" : , "totalCommitted" : , "totalStarted" : }
transactions:包含有关可重试写入和 多文档事务的数据的文档。
transactions.retriedCommandsCount:相应的可重试写入命令已经提交之后收到的重试总数。也就是说,即使写入已成功并且在config.transactions 集合中存在的事务和会话的关联记录,可重试写入继续尝试,例如客户端的初始写入响应丢失。
注意:MongoDB不会重新执行已提交的写入。
总数包括所有会话。总数不包括在内部块迁移时的发生的可重试写入。
版本3.6.3中的新功能。
transactions.retriedStatementsCount:与重试命令 transactions.retriedCommandsCount关联的写语句总数。
注意:MongoDB不会重新执行已提交的写入。
总数不包括在内部块迁移时的发生的可重试写入。
版本3.6.3中的新功能。
transactions.transactionsCollectionWriteCount:提交新的可重试写入语句时触发的对config.transactions 集合的写入总数。
对于更新和删除命令,由于只有单个文档操作可以重试,因此每个语句都有一个写入。
对于插入操作,插入的每批文档有一次写入,除非失败导致每个文档单独插入。
总数包括迁移发生时部分写入服务器config.transactions 集合的写入。
版本3.6.3中的新功能。
transactions.currentActive:当前正在执行命令的打开事务的总数。版本4.0.2中的新功能。
transactions.currentInactive:当前未执行命令的打开事务的总数。版本4.0.2中的新功能。
transactions.currentOpen:开放事务总数。当第一个命令作为该事务的一部分运行时,将打开一个事务,并在事务提交或中止之前保持打开状态。
版本4.0.2中的新功能。
transactions.totalAborted:自mongod进程上次启动以来在此服务器上中止的事务总数 。版本4.0.2中的新功能。
transactions.totalCommitted:自mongod进程上次启动以来在此服务器上提交的事务总数 。版本4.0.2中的新功能。
transactions.totalStarted:自mongod进程上次启动以来在此服务器上启动的事务总数 。版本4.0.2中的新功能。
transportSecurity ¶
在4.0.2版本新增功能:(3.6.7+和3.4.17+也有)
"transportSecurity" : { "1.0" : , "1.1" : , "1.2" : , "1.3" : , "unknown" : },
transportSecurity.在4.0.2版本新增功能:(3.6.7+和3.4.17+也有)
mongod实例或mongos实例的累计TLS 连接数。重启后重置该值。
wiredTiger
wiredTiger仅在使用WiredTiger存储引擎时才会显示信息。一些统计信息,例如 wiredTiger.LSM,服务器roll up。
"wiredTiger" : { "uri" : "statistics:", "LSM" : { "sleep for LSM checkpoint throttle" : , "sleep for LSM merge throttle" : , "rows merged in an LSM tree" : , "application work units currently queued" : , "merge work units currently queued" : , "tree queue hit maximum" : , "switch work units currently queued" : , "tree maintenance operations scheduled" : , "tree maintenance operations discarded" : , "tree maintenance operations executed" : }, "async" : { "number of allocation state races" : , "number of operation slots viewed for allocation" : , "current work queue length" : , "number of flush calls" : , "number of times operation allocation failed" : , "maximum work queue length" : , "number of times worker found no work" : , "total allocations" : , "total compact calls" : , "total insert calls" : , "total remove calls" : , "total search calls" : , "total update calls" : }, "block-manager" : { "mapped bytes read" : , "bytes read" : , "bytes written" : , "mapped blocks read" : , "blocks pre-loaded" : , "blocks read" : , "blocks written" : }, "cache" : { "tracked dirty bytes in the cache" : , "tracked bytes belonging to internal pages in the cache" : , "bytes currently in the cache" : , "tracked bytes belonging to leaf pages in the cache" : , "maximum bytes configured" : ,