MongoDB 是免费开源的跨平台 NoSQL 数据库,MongoDB 高性能,高可用性、可扩展性等特点,使其至 2009 年发布以来,逐渐被认可,并被越来越多的用于生产环境中,监控需求将显得尤为迫切;PIGOSS运维监控产品率先支持对MongoDB数据库的监控需求,使您更加方便的了解数据库的监控状况和运行状况;下面我们来介绍一下监控MongoDB需要重点关注一些的指标。
目录
MongoDB获取系统信息
> db.hostInfo().system
{
"currentTime" : ISODate("2022-06-28T03:28:41.414Z"),
"hostname" : "db_mongodb",
"cpuAddrSize" : 64,
"memSizeMB" : NumberLong(15866),
"memLimitMB" : NumberLong(15866),
"numCores" : 8,
"cpuArch" : "x86_64",
"numaEnabled" : false
}
MongoDB获取系统内存情况
> db.serverStatus().mem
{
"bits" : 64,
"resident" : 108,
"virtual" : 1574,
"supported" : true
}
MongoDB获取连接数信息
> db.serverStatus().connections
{
"current" : 1,
"available" : 818,
"totalCreated" : 906,
"active" : 1,
"threaded" : 1,
"exhaustIsMaster" : 0,
"exhaustHello" : 0,
"awaitingTopologyChanges" : 0
}
MongoDB获取全局锁信息
> db.serverStatus().globalLock
{
"totalTime" : NumberLong("683790564000"),
"currentQueue" : {
"total" : 0,
"readers" : 0,
"writers" : 0
},
"activeClients" : {
"total" : 0,
"readers" : 0,
"writers" : 0
}
}
MongoDB获取操作统计计数器
> db.serverStatus().opcounters
{
"insert" : NumberLong(0),
"query" : NumberLong(2279),
"update" : NumberLong(3),
"delete" : NumberLong(332),
"getmore" : NumberLong(0),
"command" : NumberLong(10458)
}
MongoDB获取数据库状态信息
> db.stats();
{
"db" : "admin",
"collections" : 2,
"views" : 0,
"objects" : 5,
"avgObjSize" : 337.4,
"dataSize" : 1687,
"storageSize" : 73728,
"freeStorageSize" : 32768,
"indexes" : 3,
"indexSize" : 110592,
"indexFreeStorageSize" : 49152,
"totalSize" : 184320,
"totalFreeStorageSize" : 81920,
"scaleFactor" : 1,
"fsUsedSize" : 5295882240,
"fsTotalSize" : 68472119296,
"ok" : 1
}
以上指标即为监控MongoDB中一些重要的常用指标,通过这些指标我们可以了解数据库的基本运行状态,评估数据库的健康状况并且快速地确定在我们业务中出现的问题,提升运维监控效率