【问题标题】:Export PM2 Cluster Stats to Prometheus将 PM2 集群统计信息导出到 Prometheus
【发布时间】:2022-01-26 22:53:56
【问题描述】:

我正在尝试向 Node.js PM2 集群添加监控,我在其中寻找 prometheus 中的聚合统计信息,然后将其导入 Grafana。

我已经能够为 prometheus 和 grafana 而不是 pm2 集群配置 prom-client 并获取单个进程的指标。

我提到了https://github.com/siimon/prom-client/issues/165https://github.com/siimon/prom-client/issues/80,都说不可能。

还有其他方法吗?我也提到了https://github.com/redar9/pm2-cluster-prometheus,但不能让它正常工作。

我提到了https://github.com/Unitech/pm2/issues/2035,我可以在我的脚本中使用它并找到哪个是主设备,哪个是从设备。但不确定我如何从那里继续前进。

感谢任何帮助。

【问题讨论】:

  • 我也在尝试做同样的事情,你能弄清楚.. 吗?
  • @DagaArihant:不幸的是,Keymetrics(pm2) 的工程负责人在github.com/Unitech/pm2/issues/2035 中回复说这绝对不可能。
  • 这方面有什么更新吗?

标签: grafana pm2 prometheus


【解决方案1】:

我想出了this solution

它在 PM2 集群的所有实例中正确收集指标。

除了cluster 模块,pm2 中没有对主进程的直接访问。要返回整个集群的指标,您可以从活动实例向其余实例执行 IPC 调用,然后等待发送所有本地收集的指标。最后,您必须汇总所有收到的指标。

【讨论】:

  • 在您的解决方案中,您使用的是 pm2 api 权利,agpl v3 许可证不适用吗?
【解决方案2】:

Node集群与Prometheus的“拉取模型”不兼容,所以解决方法是让Node将数据推送到一个“收集器”,Prometheus从该收集器拉取数据。例如,statsd 应该可以工作。

草图中的想法:

node_instance -> statsd_exporter Prometheus

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 2011-01-30
    • 2022-08-16
    • 2016-12-08
    • 2021-09-06
    • 2021-03-28
    相关资源
    最近更新 更多