问题标签 [forever-monitor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
72 浏览

java - 监控使用 nodeJS 和非 nodejs (Java, C) 构建的一组应用程序

我们有一个由许多独立组件(服务器)组成的企业解决方案,这些组件将部署在多个节点上。

我们的解决方案包括: - 10 多个 Web 应用程序(使用 Node+Express 构建) - 10 多个用于内部处理的 Java 服务器 - Redis、MySQL 等外部组件

为了部署这个解决方案,我们使用 Ansible 工具。现在对于监控(启动、停止和实际监控)部分,似乎有很多选择:

  • 监控
  • 永远(仅适用于 NodeJS 模块?)
  • PM2(永远一样?)
  • 新贵(?)
  • 监控 + 永远
  • Monit + Forever + 暴发户

我不清楚什么是正确的组合,为什么?最初我认为我应该使用 Monit,但后来我发现一些博客似乎建议永远 + monit,或暴发户 + monit 等等。

这里有没有明确的想法...

0 投票
0 回答
557 浏览

node.js - 永远监控在崩溃时发送电子邮件

当我的服务器崩溃时,我想使用 forever-monitor 包向我发送电子邮件。

通过转到主页,我可以看到创建了一个错误,并且我的服务器在错误后重新启动。但我希望能够捕获这些事件(重启和错误),以便我可以记录和发送警告电子邮件。但是我的调试器不会因错误而停止并重新启动事件。此外,不会打印这些控制台消息。

我从命令行运行它作为节点 myfilename.js,app.js 是我的主文件。

谢谢您的帮助 !

0 投票
0 回答
75 浏览

node.js - 向子进程发送命令?

我是使用 Forever-monitor 的新手,但我想知道是否可以向子进程发送命令?

因为我想终止它检查数据库的需要,这是我目前针对该问题的解决方案。

我正在启动具有特定 ID 的机器人,因此启动的孩子将被命名为 bot1、bot2 等。

所以假设我想向 bot1 发送命令,并查看它返回的数据,这可能吗?

如果可能的话,只是一个正确方向的链接将是完美的。

这是用于启动孩子的代码。

0 投票
0 回答
551 浏览

javascript - 使用 pid 监听进程的事件

考虑拥有一个创建和管理子应用程序的管理应用程序。

我正在产生另一个 child_process ( using childProcess.spawn('node', 'somefile.js'))。而且,我可以在 childProcess 上设置事件侦听器(例如,exit),以便我可以记录输出并在子应用程序退出时知道。

但是当管理应用程序重新启动时,我想再次监听子进程上的事件,以便管理应用程序知道子应用程序崩溃了。

但是child_process模块没有任何方法可以通过' pid '(或其他一些机制)获取 childProcess 实例。

有人可以指点如何做到这一点吗?我们可以使用forever-monitorpm2-api来做到这一点吗?

更新:我必须生成子进程的代码:

更新#2

我们可以连接到流程吗?例如,我在永远监视器中看到了一些类似的代码。是否可以使用套接字/nssocket?

https://github.com/foreverjs/forever/blob/master/lib/forever.js#L199 https://github.com/foreverjs/forever/blob/master/lib/forever.js#L229

0 投票
0 回答
281 浏览

javascript - 使用 Forever Monitor 监视多个目录

每当我更改服务器文件时,我都会使用 Forever Monitor 重新启动服务器。但是,我也希望它在另一个目录中的文件更改时重新启动。

我有一个“服务器”目录、一个“客户端”目录和一个“共享”目录。目前,我正在使用 Forever Monitor 来查看“服务器”目录。但是,我希望它也能观看“共享”目录。有没有办法这样做?

0 投票
1 回答
386 浏览

javascript - 永远杀死 - 监控后台进程

我使用 forever-monitor 启动了一个 Node 应用程序。我的永远监视器配置如下。

它可能已经启动了一个后台进程,但我的代码没有按预期工作。我该如何去杀死那个进程?

0 投票
1 回答
662 浏览

node.js - 如何使用 npm forever-monitor 登录到标准输出

我有一个简单的 nodejs docker 服务。我正在观看开发中的标准输出并在生产中登录到 AWS cloudwatch。

我刚刚添加了永远的监视器,但这破坏了我的日志记录。所以我开始在子进程上捕获标准输出,

但这只是给了我字节码-

如何将我的console.log陈述恢复到标准输出?

0 投票
1 回答
1178 浏览

node.js - 如何在不退出的情况下在 AWS ECS 上运行节点容器

我正在努力让我的 node.js 容器在 ECS 上运行。当我使用 docker compose 在本地运行它时它运行良好,但在 ECS 上它运行 2-3 分钟并处理一些连接(来自负载均衡器的 2-3 次运行状况检查),然后关闭。我不知道为什么。

我的 Dockerfile -

然后在我的 package.json -

在我的 docker-compose.yml 中,我使用 nodemon -

在我的 cloudWatch 日志中,我可以看到一切都开始了 -

然后我看到了健康检查请求(都带有 http 200),然后过了一会儿,一切都结束了——

我尝试将 start.js 脚本包装在forever-monitor中,但这似乎没有任何区别。

更新

我的 ECS 任务定义——

任务全部停止,状态为Task failed ELB health checks in (target-group ...。健康检查在开始失败之前通过 2 或 3 次。并且日志中除了 http 200 之外没有任何记录。

0 投票
1 回答
745 浏览

javascript - 如何从浏览器中使用 javascript 上的按钮重新启动 nodeJS 应用程序

nodeJS 文件——main.js

有一个带有按钮的网站,可以从 main.js 调用函数。我不知道如何正确重启 nodeJS 脚本。现在我在 main.js 中运行process.exit()然后nodemon 尝试重新启动应用程序,但 nodemon 告诉我“<strong>[nodemon] clean exit - waiting for changes before restart”。那么如何正确重启应用程序呢?

0 投票
1 回答
614 浏览

node.js - 如何在父进程的 SIGINT 上永久监控子进程?

我在默认情况下分离子进程的Windows 上使用永远监视器。

在我的应用程序中,我有一个monitor.js监视文件的server.js文件,并且我希望能够server.js在我通过退出monitor.jsCtrl + C在命令行上点击)关闭应用程序时进行通知。

这是我的演示代码:

监视器.js

服务器.js

收到电话stopServer时如何打电话?server.jsmonitor.jsSIGINT