jianglin-wu / egg-exporter

Egg.js 的 Prometheus 指标收集插件,附带 Grafana 看板。
MIT License
27 stars 7 forks source link
egg egg-plugin metrics metrics-exporter prometheus prometheus-exporter

egg-exporter

NPM version npm download

基于 egg-prometheus 开发,增加更多性能指标,为 egg 提供 Prometheus 功能支持。了解更多请看 Node.js 监控方案

展示

./screenshots/egg-metrics-v1.png

安装

$ npm i egg-exporter --save

用法

开启插件

通过 ${app_root}/config/plugin.js 配置启动 Prometheus 插件:

exports.exporter = {
  enable: true,
  package: 'egg-exporter',
};

配置

exports.exporter = {
  scrapePort: 3000,
  scrapePath: '/metrics',
  prefix: 'egg_',
  defaultLabels: { stage: 'dev' },
};

内置的 Metrics

当 egg-rpc-base 插件开启时,还会提供下面 metrics

自定义 Metrics

可以通过下面 API 自定义业务 metrics

const counter = new app.prometheus.Counter({
  name: 'xxx_total',
  help: 'custom counter',
  labelNames: [ 'xxx' ],
});

const gauge = new app.prometheus.Gauge({
  name: 'xxx_gauge',
  help: 'custom gauge',
  labelNames: [ 'xxx' ],
});

const histogram = new app.prometheus.Histogram({
  name: 'xxx_histogram',
  help: 'custom histogram',
  labelNames: [ 'xxx' ],
});

const summary = new app.prometheus.Summary({
  name: 'xxx_summary',
  help: 'custom summary',
  labelNames: [ 'xxx' ],
});

如何贡献

请告知我们可以为你做些什么,不过在此之前,请检查一下是否有已经存在的Bug或者意见

License

MIT