0.2.5 • Published 6 years ago
moleculer-prometheus v0.2.5

moleculer-prometheus 
Moleculer metrics module for Prometheus.

Features
- collect default Node.js metrics.
- measure service calls.
- support custom metrics.
- Grafana dashboard example.
Install
$ npm install moleculer-prometheusUsage
// services/metrics.prometheus.service.js
const PromService = require("moleculer-prometheus");
module.exports = {
mixins: [PromService],
settings: {
port: 3030,
collectDefaultMetrics: true,
timeout: 5 * 1000,
}
};
// moleculer.config.js
module.exports = {
// ...
metrics: true,
// ...
}Add custom metric
// services/metrics.prometheus.js
const PromService = require("moleculer-prometheus");
module.exports = {
mixins: [PromService],
settings: {
metrics: {
"custom_value": { type: "Gauge", help: "Moleculer Prometheus custom metric" }
}
}
};Broadcast a metrics.update event to set the metric value
broker.broadcast("metrics.update", {
name: "custom_value",
method: "set",
value: Math.round(Math.random() * 100)
});Settings
| Property | Type | Default | Description |
|---|---|---|---|
port | Number | 3030 | Exposed HTTP port. |
collectDefaultMetrics | Boolean | true | Enable to collect default metrics. |
timeout | Number | 10000 | Timeout option for 'collectDefaultMetrics' in milliseconds. |
metrics | Object | {} | Metric definitions. |
Default Moleculer metrics
| Name | Type | Labels | Description |
|---|---|---|---|
moleculer_nodes_total | Gauge | - | Moleculer nodes count |
moleculer_services_total | Gauge | - | Moleculer services count |
moleculer_actions_total | Gauge | - | Moleculer actions count |
moleculer_events_total | Gauge | - | Moleculer event subscription count |
moleculer_nodes | Gauge | nodeID, type, version, langVersion | Moleculer node list |
moleculer_action_endpoints_total | Gauge | action | Moleculer action endpoints |
moleculer_service_endpoints_total | Gauge | service, version | Moleculer service endpoints |
moleculer_event_endpoints_total | Gauge | event, group | Moleculer event endpoints |
moleculer_req_total | Counter | action, service, nodeID | Moleculer request count |
moleculer_req_errors_total | Counter | action, service, nodeID, errorCode, errorName, errorType | Moleculer request error count |
moleculer_req_duration_ms | Histogram | action, service, nodeID | Moleculer request durations |
Methods
update
Update a metric value.
Parameters
| Property | Type | Default | Description |
|---|---|---|---|
name | String | required | |
method | String | required | |
labels | Object | - | |
value | any | required | |
timestamp | any | required |
Test
$ npm testIn development with watching
$ npm run ciLicense
The project is available under the MIT license.
Contact
Copyright (c) 2016-2018 MoleculerJS