问题标签 [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.
java - 监控使用 nodeJS 和非 nodejs (Java, C) 构建的一组应用程序
我们有一个由许多独立组件(服务器)组成的企业解决方案,这些组件将部署在多个节点上。
我们的解决方案包括: - 10 多个 Web 应用程序(使用 Node+Express 构建) - 10 多个用于内部处理的 Java 服务器 - Redis、MySQL 等外部组件
为了部署这个解决方案,我们使用 Ansible 工具。现在对于监控(启动、停止和实际监控)部分,似乎有很多选择:
- 监控
- 永远(仅适用于 NodeJS 模块?)
- PM2(永远一样?)
- 新贵(?)
- 监控 + 永远
- Monit + Forever + 暴发户
我不清楚什么是正确的组合,为什么?最初我认为我应该使用 Monit,但后来我发现一些博客似乎建议永远 + monit,或暴发户 + monit 等等。
这里有没有明确的想法...
node.js - 永远监控在崩溃时发送电子邮件
当我的服务器崩溃时,我想使用 forever-monitor 包向我发送电子邮件。
通过转到主页,我可以看到创建了一个错误,并且我的服务器在错误后重新启动。但我希望能够捕获这些事件(重启和错误),以便我可以记录和发送警告电子邮件。但是我的调试器不会因错误而停止并重新启动事件。此外,不会打印这些控制台消息。
我从命令行运行它作为节点 myfilename.js,app.js 是我的主文件。
谢谢您的帮助 !
node.js - 向子进程发送命令?
我是使用 Forever-monitor 的新手,但我想知道是否可以向子进程发送命令?
因为我想终止它检查数据库的需要,这是我目前针对该问题的解决方案。
我正在启动具有特定 ID 的机器人,因此启动的孩子将被命名为 bot1、bot2 等。
所以假设我想向 bot1 发送命令,并查看它返回的数据,这可能吗?
如果可能的话,只是一个正确方向的链接将是完美的。
这是用于启动孩子的代码。
javascript - 使用 pid 监听进程的事件
考虑拥有一个创建和管理子应用程序的管理应用程序。
我正在产生另一个 child_process ( using childProcess.spawn('node', 'somefile.js')
)。而且,我可以在 childProcess 上设置事件侦听器(例如,exit
),以便我可以记录输出并在子应用程序退出时知道。
但是当管理应用程序重新启动时,我想再次监听子进程上的事件,以便管理应用程序知道子应用程序崩溃了。
但是child_process
模块没有任何方法可以通过' pid '(或其他一些机制)获取 childProcess 实例。
有人可以指点如何做到这一点吗?我们可以使用forever-monitor或pm2-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
javascript - 使用 Forever Monitor 监视多个目录
每当我更改服务器文件时,我都会使用 Forever Monitor 重新启动服务器。但是,我也希望它在另一个目录中的文件更改时重新启动。
我有一个“服务器”目录、一个“客户端”目录和一个“共享”目录。目前,我正在使用 Forever Monitor 来查看“服务器”目录。但是,我希望它也能观看“共享”目录。有没有办法这样做?
javascript - 永远杀死 - 监控后台进程
我使用 forever-monitor 启动了一个 Node 应用程序。我的永远监视器配置如下。
它可能已经启动了一个后台进程,但我的代码没有按预期工作。我该如何去杀死那个进程?
node.js - 如何使用 npm forever-monitor 登录到标准输出
我有一个简单的 nodejs docker 服务。我正在观看开发中的标准输出并在生产中登录到 AWS cloudwatch。
我刚刚添加了永远的监视器,但这破坏了我的日志记录。所以我开始在子进程上捕获标准输出,
但这只是给了我字节码-
如何将我的console.log
陈述恢复到标准输出?
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 之外没有任何记录。
javascript - 如何从浏览器中使用 javascript 上的按钮重新启动 nodeJS 应用程序
nodeJS 文件——main.js
有一个带有按钮的网站,可以从 main.js 调用函数。我不知道如何正确重启 nodeJS 脚本。现在我在 main.js 中运行process.exit()
,然后nodemon 尝试重新启动应用程序,但 nodemon 告诉我“<strong>[nodemon] clean exit - waiting for changes before restart”。那么如何正确重启应用程序呢?