implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-registry-prometheus'
management:
endpoints:
web:
exposure:
include: health, info, prometheus
scrape_configs:
- job_name: 'spring'
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['HOST:PORT']
Express-prom-bundle npm 라이브러리를 사용
npm install prom-client express-prom-bundle --save
const promBundle = require("express-prom-bundle");
testeditorApp = express(); // Metric App
const metricsMiddleware = promBundle({
includeMethod: true,
includePath: true,
includeStatusCode: true,
includeUp: true,
customLabels: {project_name: 'test_name_labels', project_type: 'test_metrics_labels'},
metricType: 'summary',
autoregister: false,
promClient: {
collectDefaultMetrics: {
}
}
});
editorApp.use(metricsMiddleware);
testeditorApp.use(metricsMiddleware.metricsMiddleware);
testeditorApp.listen(3000, () => {
console.log('Metrics listening on port', 3000);
});
http_request_duration_seconds{quantile="0.5",status_code="200",method="GET",path="/junghun",project_name="test_name_labels",project_type="test_metrics_labels"} 0.0007122
http_request_duration_seconds{quantile="0.75",status_code="200",method="GET",path="/junghun",project_name="test_name_labels",project_type="test_metrics_labels"} 0.001050275
http_request_duration_seconds{quantile="0.95",status_code="200",method="GET",path="/junghun",project_name="test_name_labels",project_type="test_metrics_labels"} 0.0015713
http_request_duration_seconds{quantile="0.98",status_code="200",method="GET",path="/junghun",project_name="test_name_labels",project_type="test_metrics_labels"} 0.0015713
http_request_duration_seconds{quantile="0.99",status_code="200",method="GET",path="/junghun",project_name="test_name_labels",project_type="test_metrics_labels"} 0.0015713
http_request_duration_seconds{quantile="0.999",status_code="200",method="GET",path="/junghun",project_name="test_name_labels",project_type="test_metrics_labels"} 0.0015713
http_request_duration_seconds_sum{status_code="200",method="GET",path="/junghun",project_name="test_name_labels",project_type="test_metrics_labels"} 0.006187
http_request_duration_seconds_count{status_code="200",method="GET",path="/junghun",project_name="test_name_labels",project_type="test_metrics_labels"} 7