我试图将监视添加到Node.js PM2群集中,在该群集中寻找普罗米修斯的汇总统计信息,然后将其导入Grafana。
我已经能够配置prom-client并获得针对prometheus和grafana的单个过程的度量,但不能获取pm2集群。
我提到了https://github.com/siimon/prom-client/issues/165和https://github.com/siimon/prom-client/issues/80,都说不可能。
还有其他方法吗?我还提到了https://github.com/redar9/pm2-cluster-prometheus,但无法使其正常运行。
我引用了https://github.com/Unitech/pm2/issues/2035,并且能够在脚本中使用它,并找到哪个是主节点,哪个是从属节点。但是不知道我怎么去那里。
感谢您的帮助。
答案 0 :(得分:0)
我想出了this solution。
它可以正确收集所有PM2群集实例的指标。
在cluster
中不能直接访问pm2
模块,而不能直接访问主进程。要返回整个集群的指标,您可以从活动实例向其余实例进行IPC调用,并等待其所有本地收集的指标将被发送。最后,您必须汇总所有收到的指标。
答案 1 :(得分:0)
节点群集与Prometheus的“拉模型”不兼容,因此一种解决方案是使节点将数据推送到“收集器”,Prometheus从中收集数据。例如,statsd
应该可以工作。
草图中的想法
node_instance -> statsd_exporter <- Prometheus