监控&分析导致应用崩溃

时间:2015-11-10 02:56:01

标签: node.js monitoring ibm-cloud

是否有人将监控和分析添加为服务并导致#bluemix应用程序崩溃?我有一个NodeJS应用程序,一旦我添加了M& A,该应用程序将不再加载。

感谢。

由于POST与mongoose的错误,它看起来像是崩溃了。我现在正在看它是否只是猫鼬或Bluemix如何处理错误。我找到了一些github讨论:

https://github.com/Automattic/mongoose/issues/3391 Error: invalid json with multer and body-parser

    2015-11-12T15:35:02.722-0500[App/0]ERR/home/vcap/app/node_modules/mongoose/node_modules/hooks-fixed/hooks.js:58
2015-11-12T15:35:02.722-0500[App/0]ERR at model._next (/home/vcap/app/node_modules/mongoose/node_modules/hooks-fixed/hooks.js:58:23)
2015-11-12T15:35:02.722-0500[App/0]ERR at /home/vcap/app/node_modules/mongoose/lib/document.js:1721:23
2015-11-12T15:35:02.722-0500[App/0]ERR throw new Error("Your pre must have a next argument -- e.g., f
2015-11-12T15:35:02.722-0500[App/0]ERR ^
2015-11-12T15:35:02.722-0500[App/0]ERR at /home/vcap/app/node_modules/mongoose/node_modules/kareem/index.js:177:19
2015-11-12T15:35:02.722-0500[App/0]ERR at model.proto.(anonymous function) [as $__original_save] (/home/vcap/app/node_modules/mongoose/node_modules/hooks-fixed/hooks.js:108:20)
2015-11-12T15:35:02.722-0500[App/0]ERRError: Your pre must have a next argument -- e.g., function (next, ...)
2015-11-12T15:35:02.722-0500[App/0]ERR at model.wrappedPointCut [as save] (/home/vcap/app/node_modules/mongoose/lib/document.js:1703:14)
2015-11-12T15:35:02.722-0500[App/0]ERR at Query.<anonymous> (/home/vcap/app/controllers/users.js:173:18)
2015-11-12T15:35:02.722-0500[App/0]ERR at /home/vcap/app/node_modules/mongoose/node_modules/kareem/index.js:109:16
2015-11-12T15:35:02.722-0500[App/0]ERR at new Promise.ES6 (/home/vcap/app/node_modules/mongoose/lib/promise.js:45:3)
2015-11-12T15:35:02.722-0500[App/0]ERR at process._tickDomainCallback (node.js:381:11)

我不知道这是否会导致整个实例崩溃。难道Bluemix不应该更具弹性吗?

2 个答案:

答案 0 :(得分:1)

您使用的是免费计划或诊断计划吗?如果您正在使用诊断计划,则可能需要更大的内存(我的建议现在是1G),因为诊断计划生成了大量数据。

如果您使用的是免费计划,则可能需要检查推送应用程序方式。

对于Node.js,您可能需要编写名为 Procfile 的文件,其中的内容是您运行应用程序的命令行:
这是一个例子:

web: node app.js


packages.json 中,还需要脚本字段:
这是一个例子:

"scripts": {
    "start": "node app"
},


manifest.yml 中,您应该添加M&amp; A服务的名称
这是一个例子:

applications:
- disk_quota: 1024M
  host: xxxx
  name: xxxx
  path: .
  domain: xxxx.mybluemix.net
  instances: 1
  memory: 1024M
  services:
  - Monitoring and Analytics-xxx
  - mongodb-xx


完成这三项更改后,请先删除以前的申请,然后再次推送:
第一:

cf delete <appname>

然后:

cf push

如果这些不能使您的申请有效,请随时与我联系。

答案 1 :(得分:0)

为下一个事件添加了错误处理。我们需要让Bluemix转储错误而不是崩溃。