Menu
Grafana Cloud

Configure Loopback to generate Prometheus metrics

To configure Loopback to generate Prometheus metrics, complete the following steps:

  1. Run the following commands:

    Install
    --------
    npm install --save @loopback/metrics
    
    Import
    --------
    import {MetricsComponent} from '@loopback/metrics';
  2. In the constructor, add the following component to your application:

    this.component(MetricsComponent);

    For more information about additional configuration changes, refer to loopback-metrics.

  3. Verify the presence of the following metrics in Prometheus:

    • loopback_invocation_total
    • loopback_invocation_duration_seconds

Metrics

MetricKPI

Requests

loopback_invocation_total

Request Rate

rate(loopback_invocation_total[5m])

Errors

loopback_invocation_total

Error Ratio (server errors)

rate(loopback_invocation_total{status=~“5..”}[5m])/ rate(loopback_invocation_total[5m])

Error Ratio (client errors)

rate(loopback_invocation_total{statusCode=~“4..”}[5m])/ rate(loopback_invocation_total[5m])

Latency

loopback_invocation_duration_seconds

Latency Average

rate(loopback_invocation_duration_seconds[5m])/ rate(loopback_invocation_total[5m])

Latency P99

histogram_quantile (
0.99,
sum(rate(loopback_invocation_duration_histogram_bucket[1m]) > 0)
by (le)
)

Alerts

KPIAlerts
Request RateRequestRateAnomaly
Error Rate

ErrorRatioBreach

ErrorBuildup based on a 99.9 SLO

Latency Average

Latency P99

LatencyAverageBreach

LatencyAverageAnomaly

LatencyP99ErrorBuildup

Service KPI dashboard

This dashboard has the following KPIs from resources and requests:

  • Request Rate
  • Latency Average
  • Latency P99
  • Error Rate
  • CPU %
  • CPU Cores Used
  • CPU Throttle
  • Memory %
  • Memory Bytes
  • Disk Usage
  • Network Usage

KPI dashboard