前言

这一篇我们来说一下mongodb中的监控和备份也就是数据的导入导出
通过监控 我们能够更好地了解到mongodb的运行情况
MongoDB中提供了mongostat 和 mongotop 两个命令来监控MongoDB的运行情况。

开始

mongostat

mongostat是mongodb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。

$ mongostat

grafana监控mongodb mongodb 监控_nosql


mongotop

主要看一下 这个命令把

$ mongotop

grafana监控mongodb mongodb 监控_数据_02

输出结果字段说明:

ns:
包含数据库命名空间,后者结合了数据库名称和集合。

db:

包含数据库的名称。名为 . 的数据库针对全局锁定,而非特定数据库。

total

mongod花费的时间工作在这个命名空间提供总额。

read:

提供了大量的时间,这mongod花费在执行读操作,在此命名空间。

write:

提供这个命名空间进行写操作,这mongod花了大量的时间。

我们可以看到下图

正在添加50000条数据 下面的write明显有了变化

grafana监控mongodb mongodb 监控_数据_03

数据备份

在Mongodb中我们使用mongodump命令来备份MongoDB数据。该命令可以导出所有数据到指定目录中。
mongodump命令可以通过参数指定导出的数据量级转存的服务器。

mongodump命令脚本语法如下

mongodump -h dbhost -d dbname -o dbdirectory

-h:
MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

-d:
需要备份的数据库实例,例如:test

-o:
备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。

使用

mongodump

默认会备份数据到 当前目录/dump 中

grafana监控mongodb mongodb 监控_mongodb_04

grafana监控mongodb mongodb 监控_数据_05


数据库就在这里

grafana监控mongodb mongodb 监控_grafana监控mongodb_06

指定输出目录和数据库

grafana监控mongodb mongodb 监控_mongodb_07

grafana监控mongodb mongodb 监控_数据库_08


grafana监控mongodb mongodb 监控_数据库_09

结语

好了 这就是 监控和备份 是不是太简单了 好了 下一节中我们来说一下 mongodb 的 高可用集群