查看数据库状态

mongodb 版本 :4.2.6

查询mongodb 状态

> db.serverStatus()
{
    "host" : "ip-10-23-3-217.ap-east-1.compute.internal",	# 主机名
    "version" : "4.2.6",	# 版本
    "process" : "mongod",	# 进程,主要有 mongod和mongos(分片集群)两种
    "pid" : NumberLong(2284),	# pid进程号
    "uptime" : 7901,		# 启动时间,秒
    "uptimeMillis" : NumberLong(7900374),	# 启动的毫秒数
    "uptimeEstimate" : NumberLong(7900),	# mongod内部自己计算的启动秒数
    "localTime" : ISODate("2022-07-08T07:30:43.043Z"),		# 本地时间,

    "asserts" : {
    	"regular" : 0,	
    	"warning" : 0,
    	"msg" : 0,
    	"user" : 14,
    	"rollovers" : 0
    },
    
    # 	 连接相关
    "connections" : {
    	"current" : 1,					# 当前连接数
    	"available" : 51199,		# 可用连接数
    	"totalCreated" : 3,			# 总共创建的连接数,截止到目前为止
    	"active" : 1						# 活跃连接数
    },
    
    # 全局锁相关信息
    "globalLock" : {
    	"totalTime" : NumberLong("7900367000"),			# mongod启动后到现在的总时间,单位微秒
    	"currentQueue" : {			# 当前等待锁队列
    		"total" : 0,					# 当前全局锁的等待个数
    		"readers" : 0,				# 当前全局读锁等待个数
    		"writers" : 0					# 当前全局写锁等待个数
    	},
    	"activeClients" : {
    		"total" : 0,					# 当前活跃客户端个数
    		"readers" : 0,				# 当前活跃客户端中进行读操作的个数
    		"writers" : 0					# 当前活跃客户端中进行写操作的个数
    	}
    },
    
    # 网络相关
    "network" : {
    	"bytesIn" : NumberLong(4961),			# 数据库接收到的网络传输字节数
    	"bytesOut" : NumberLong(22007),		# 从数据库发送出去的网络传输字节数
    	"numRequests" : NumberLong(44),		# mongod接收到的总请求次数
    },
    
    # 操作计数
    "opcounters" : {
    	"insert" : NumberLong(0),			# 本次 mongod 实例启动至今收到的插入操作总数
    	"query" : NumberLong(28),			# 本次 mongod 实例启动至今收到的查询总数。
    	"update" : NumberLong(2),			# 本次 mongod 实例启动至今收到的更新操作总数。
    	"delete" : NumberLong(1),			# 本次 mongod 实例启动至今的删除操作总数。
    	"getmore" : NumberLong(0),		# 本次 mongod 实例启动至今“getmore”操作的总数。
    	"command" : NumberLong(98)		# 本次 mongod 实例启动至今向数据库发出的命令总数。
    },


# 存储引擎,是 MongoDB 的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上
# MongoDB 支持多种不同的存储引擎(Storage Engine), MongoDB 支持的存储引擎有:WiredTiger, MMAPV1 和 In-Memory.
# 1. WiredTiger,将数据持久化存储在硬盘文件中;从 MongoDB 3.2 版本开始,成为 MongDB 默认存储引擎
# 2.In-Memory,将数据存储在内存中
# 3. MMAPV1, 将数据持久化存储在硬盘文件中;MongoDB 3.2 以前版本默认存储引擎

# WiredTiger 是比 MMAPV1 更好用,更强大的存储引擎,WiredTigerl 的写操作会先写入缓存(Cache)中,并持久化到 WAL (Write ahead log,写日志),每 60s 或日志文件达到 2GB 时会做一次 Checkpoint(检查点),将当前数据进行持久化,产生一个新的快照。Wiredtiger 连接初始化时,首先将数据恢复至最新的快照状态,然后根据 WAL 恢复数据,以保证存储可靠性。

# Checkpoint,检测点。将内存中的数据变更冲刷到磁盘中的数据文件中,并做一个标记点。
# 						表示此前的数据表示已经持久存储在了数据文件中,此后的数据变更存在于内存和日志中。
# 						是一种让数据库 redo(重做)和 data(数据)文件保持一致的机制。
#  						并非 Mongodb 独有的,mysql 中的 InnoDB 也有。

    "storageEngine" : {
    	"name" : "wiredTiger",
    	"supportsCommittedReads" : true,
    	"oldestRequiredTimestampForCrashRecovery" : Timestamp(0, 0),
    	"supportsPendingDrops" : true,
    	"dropPendingIdents" : NumberLong(0),
    	"supportsSnapshotReadConcern" : true,
    	"readOnly" : false,
    	"persistent" : true,
    	"backupCursorOpen" : false
    },

    # 多文档事务,mongodb4.0 以后新增特性;以前是单文档事务
    "transactions" : {
    	"retriedCommandsCount" : NumberLong(0),
    	"retriedStatementsCount" : NumberLong(0),
    	"transactionsCollectionWriteCount" : NumberLong(0),
    	"currentActive" : NumberLong(0),
    	"currentInactive" : NumberLong(0),
    	"currentOpen" : NumberLong(0),
    	"totalAborted" : NumberLong(0),
    	"totalCommitted" : NumberLong(0),
    	"totalStarted" : NumberLong(0),
    	"totalPrepared" : NumberLong(0),
    	"totalPreparedThenCommitted" : NumberLong(0),
    	"totalPreparedThenAborted" : NumberLong(0),
    	"currentPrepared" : NumberLong(0)
    },

    	# 锁相关;
    	"lock" : {

    # 内存相关
    "mem" : {
    	"bits" : 64,			# 操作系统64位
    	"resident" : 90,		# 物理内存消耗,单位:M
    	"virtual" : 1517,		# 虚拟内存消耗
    	"supported" : true	# 是否显示额外的内存信息
    },



查看db的连接机器地址

> db.getMongo( )
connection to 127.0.0.1:27017

查看日志

> show logs
global
startupWarnings

# 查看具体文件日志
> show log global				# 默认的存储位置为:/opt/mongodb/logs/mongod.log # 配置文件指定

#