prometheus监控nodejs服务时遇到的坑
用的swagger-stats.
1. 安装似乎会影响pupperteer, 会给你自动卸载之前装好的,之后又报错说装不上,最后使用npm i puppeteer --ignore-scripts管用
2. 被检测的服务在docker里,root登录,所以装swagger-stats的时候加上 --unsafe-perm=true --allow-root似乎比较保险
npm install prom-client@12 --save --unsafe-perm=true --allow-root
npm install swagger-stats --save --unsafe-perm=true --allow-root
3. 被检测的服务是fastify, 在里面添加以下代码,swagger.json放到服务同级目录。swagger.json去这里下载 https://grafana.com/grafana/dashboards/11956
const swStats = require('swagger-stats');
const apiSpec = require('./swagger.json');
#这个开发的代码本来就有
const fastify = require('fastify')({
logger: true,
});
fastify.register(swStats.getFastifyPlugin, {swaggerSpec:apiSpec});


浙公网安备 33010602011771号