获取mongodb的运行状态

获取mongodb的运行状态

有一个脚本,我可以根据需要启动/停止各种服务。例如 Apache、BIND、MySQL、PostFix、Memcached、Tomcat……等等。

根据脚本的状态选项等,采取各种操作。

对于大多数人来说,这工作得很好:(以 Apache 为例)

if service apache2 status >/dev/null; then
    # ... do some action
fi

对于其他人,必须使用其他技巧,例如mysqladmin ping.

但是我无法找到任何好方法来检查mongodb.

service mongodb status

它有相同的“疾病”作为 MySQL,yieldmongodb stop/waiting也评估为 true,即使服务未启动并运行。

已查看等mongodmongostat但没有找到任何选项。

一种方法可能是使用ps或可能更好netstat并与grep或类似的组合,但想知道是否有更好的(更原生/有针对性的)方法来检查状态。也可以 grep for stop/waiting,但不确定这有多可靠,并猜测它可能会在未来的升级中崩溃。

答案1

pgrep仅仅使用来查找进程怎么样mongod

$ pgrep mongod

答案2

我没试过 mongodb。但从这个答案来看这里,我看到了ps您在问题中提到的选项。另外,你只提到过service mongodb status。不过,你也可以尝试一下/etc/init.d/mongod status

检查:

   ps -edaf | grep mongo   # "ps" flags may differ on your OS

或者

   /etc/init.d/mongod status

或者

   service mongodb status

查看 mongod 是否正在运行

检查日志文件/var/log/mongo/mongo.log 以查看是否报告了任何问题

相关内容