pm2-cluster-prom

Prometheus metrics aggregation for PM2's clustered mode.

Usage no npm install needed!

<script type="module">
  import pm2ClusterProm from 'https://cdn.skypack.dev/pm2-cluster-prom';
</script>

README

pm2-cluster-prom

Prometheus metrics aggregation for PM2's clustered mode.

Returns an aggregation of the default prom-client registry from all PM2 processes when running in clustered mode, otherwise, returns the current proc's metrics.

$ npm install --save pm2-cluster-prom

Usage

ES6

import { getAggregateMetrics } from 'pm2-cluster-prom';

const metrics = await getAggregateMetrics();

Vanilla

const clusterProm = require('pm2-cluster-prom');

clusterProm.getAggregateMetrics().then(metrics => {
    console.log(metrics);
});

As a general tip, if you're running in clustered mode, it would be a good idea to start your metrics collection at similar cycles to avoid jitter.

import { timeSyncRun } from 'pm2-cluster-prom';

const timeout = 15e3;
timeSyncRun(timeout, () => client.collectDefaultMetrics({ timeout }));

// TODO: stuff

  • Other-than-default registry
  • Better exception handling