我们如何检查我们的mongodb是否在EC2 linux服务器上运行?

时间:2017-05-24 11:07:17

标签: linux mongodb amazon-web-services amazon-ec2

我在EC2 Linux实例上安装并启动了MongoDB。如何验证它是否正在运行?

我知道如何验证它是否已启动的方法是:

通过检查/var/log/mongodb/mongod.log处文件内容的行读取: [initandlisten]等待端口上的连接,这是我没有的。

还有什么方法可以检查?

1 个答案:

答案 0 :(得分:1)

您可以检查是否使用Mongoclient等第三方工具来检查您是否能够连接数据库。或者使用以下方法之一:

检查正在处理的进程:

Get

ps -efl返回系统正在处理的进程列表,你可以使用pipe和grep来选择你想要的进程,在这种情况下是mongo。

这应该返回类似:

ps -efl | grep mongo

您可以看到此处的脚本1 S sandsto+ 6997 6992 0 80 0 - 193376 - May22 ? 00:13:27 /bin/mongod --fork --bind_ip 127.0.0.1 --port 6081 --dbpath /var/mongo --logpath /var/log/mongo.log --pidfilepath /var/pid/mongo.pid --auth --nohttpinterface --noprealloc --nopreallocj --smallfiles --replSet ssrs --oplogSize 16 0 S sercan 8857 8827 0 80 0 - 85041 - May22 ? 00:20:58 mongod --storageEngine=wiredTiger 0 S sercan 29511 29471 2 80 0 - 67236 futex_ 13:41 pts/21 00:00:00 ./mongod --dbpath /home/sercan/mongo_data/ 0 S sercan 29547 29529 0 80 0 - 3907 pipe_w 13:41 pts/22 00:00:00 grep --color=auto mongo 正在运作。

您可以使用以下命令检查系统正在使用的端口:

./mongod

netstat -an返回系统中当前所有分配的端口,如果您知道mongodb的端口,可以从这里轻松地进行grep。这将返回:

netstat -an | grep 27017

如果您在此处看到 LISTENING ,则表示它目前正在使用。

但最好的方法是将mongodb添加到系统服务管理器,例如supervisord,因此您只需使用一个命令检查您的mongod是否正在运行:

unix  2      [ ACC ]     STREAM     LISTENING     4184968  /tmp/mongodb-27017.sock

P.S。主管只是一个例子,你可以使用linux中的许多流程管理器,甚至mongodb文档都有解释。