2

我想创建一个监视脚本,向我发送有关慢查询的警报。

所以我想以编程方式获取配置文件数据。我想我可以通过连接到 MongoDB 从 PHP 做到这一点(虽然不确定)。

但如果我可以直接从 bash 脚本访问探查器会更好。那可能吗?

4

2 回答 2

4

除了直接运行js文件或者连接驱动外,还可以通过curl/wget直接从bash中查询mongodb。您只需要使用 --rest 启动服务器

mongod --rest

如果您的服务器侦听 27017,则添加 1000 以获取 http 端口(在本例中为 28017)。您获得的页面是管理页面。您可以在这里进行基本查询,例如:

$ curl -i http://localhost:28017/<dbName>/<collectionName>/

IE

$ curl http://localhost:28001/test/foo/?filter_str=Hello   
{
  "offset" : 0,
  "rows": [
    { "_id" : { "$oid" : "50ab8a10df015a6dd00a44a7" }, "str" : "Hello" } ,
    { "_id" : { "$oid" : "50ab8a14df015a6dd00a44a8" }, "str" : "Hello", "x" : 1 }
  ],

  "total_rows" : 2 ,
  "query" : { "str" : "Hello" } ,
  "millis" : 0
}
于 2012-11-20T23:35:47.113 回答
1

Mongo 控制台提供了一种脚本模式,您可以将其嵌入到 bash 脚本中。有关详细信息和用法,请参阅以下页面: 编写 MongoDB Shell 脚本

如果您想使用 PHP 并直接连接,PHP 在 MongoDB 支持的驱动程序列表中,它会为您提供比脚本 mongo 更好的界面。有关更多信息,请参阅以下内容: MongoDB 驱动程序

于 2012-11-15T16:29:03.203 回答