View Business KPI Dashboards

The Business KPI Service can expose multiple business KPIs. Each KPI represents a business capability or flow and may include its own metric families, labels, and dashboard template.

Metric names are the stable interface for dashboards and alerts. Each onboarded business KPI exposes one or more metric families. The exact set of metric families depends on the business capability and KPI definition.

Metric samples include tenant and environment labels so the observability platform can separate KPI data by tenant and environment. Some metric families may include additional labels, such as a quantile label for latency percentiles.

Use the /kpi/metrics metadata, available dashboard templates, and KPI-specific documentation to confirm metric names and labels before creating custom dashboards or alerts.

Interpret KPI Signals

Common KPI families follow a RED operating model. RED stands for rate, errors, and duration. This model provides a consistent way to read request-driven operational signals.

KPI signal How to use it

Request or activity rate

Understand business demand and confirm whether the monitored capability is receiving activity.

Error or failure rate

Understand whether the monitored capability is producing failed outcomes.

Mean duration

Track average processing time and identify broad performance shifts.

Latency percentiles

Understand the distribution of slow requests or operations, especially p95 and p99 tail behavior.

Not every KPI exposes exactly these families. Treat the /kpi/metrics output and the available dashboard templates as the contract for the KPIs enabled in the environment.

Premium Quote Example

Premium Quote is an example of an enabled business KPI.

KPI signal Metric family Meaning

Request rate

premium_quote_request_rate

Premium Quote request rate over a 5-minute rolling window, in requests per second.

Failed request rate

premium_quote_error_rate

Premium Quote 4xx and 5xx failed request rate over a 5-minute rolling window, in errors per second. This is a rate, not a failure percentage.

4xx request rejection rate

premium_quote_client_error_rate

Premium Quote 4xx request rejection rate over a 5-minute rolling window, in errors per second.

5xx server error rate

premium_quote_server_error_rate

Premium Quote 5xx server error rate over a 5-minute rolling window, in errors per second.

Mean duration

premium_quote_duration_seconds

Premium Quote mean request duration over a 5-minute rolling window, in seconds.

Latency percentiles

premium_quote_latency_seconds

Premium Quote latency percentiles over a 5-minute rolling window, in seconds. Current percentile samples use the quantile label for p50, p95, and p99.

Use this table as an example of how business KPI families are named and documented. For other KPIs, refer to the published metric names, labels, and dashboard templates.

Read KPI Panels

Use request or activity rate to understand demand. A sudden drop can indicate reduced business activity, a traffic change outside the service boundary, or an upstream access issue. A sudden spike can explain higher duration or error pressure.

Use failed request rate to understand failed outcomes for the business capability. Read it together with the request or activity rate. A small absolute failure rate during high activity may represent a different operational concern than the same rate during low activity.

For the Premium Quote example, read a non-zero failed request rate together with the 4xx request rejection rate and 5xx server error rate panels. A 4xx signal usually points to a rejected request from the consuming application or integration. The first action is to inspect the request payload, request headers, API contract/version, and recent client-side changes. Treat 4xx as triage evidence, not final ownership proof. A 5xx signal more strongly indicates a service-side failure.

Use mean duration to understand average processing time. Mean duration is useful for trend changes but can hide tail latency during uneven activity.

Use latency percentiles to understand user-impacting response time distribution. p50 describes the median request or operation, p95 highlights slow activity that affects a meaningful minority, and p99 highlights the long tail.

For KPI-specific panels that do not fit these categories, use the panel title, metric family metadata, and runbook guidance to interpret the signal.

Missing Data

Missing source data is not presented as a false zero. If a configured KPI has no source samples for the selected time range, that metric family can be omitted from the /kpi/metrics response.

Some metric families define an explicit zero fallback when no matching events are present. For the current Premium Quote KPI, premium_quote_error_rate, premium_quote_client_error_rate, and premium_quote_server_error_rate emit tenant-scoped 0 samples when no matching failed requests are present. Do not assume the same behavior for future KPIs unless the KPI’s metric family documentation states it.

In Grafana, an omitted metric family commonly appears as No data. For an idle time window with no Premium Quote activity, No data on request, duration, or latency panels can be expected and does not by itself indicate a KPI Service outage. First confirm the selected time range, scraper health, datasource configuration, and whether relevant business activity occurred during that window.

Grafana Dashboard Templates

The /kpi/metrics endpoint is the integration contract for observability tools. Use any Prometheus/OpenMetrics-compatible platform that meets your operational requirements.

The Business KPI Service also exposes Grafana dashboard templates through a virtual template directory. These templates are optional starting points for Grafana users.

Paths are relative to the Business KPI Service base URL:

Path pattern Purpose

/kpi/grafana

Lists application dashboard template directories available for the service instance.

/kpi/grafana/{application}/

Lists dashboard templates available for the configured application.

/kpi/grafana/{application}/{dashboard}.json

Downloads a dashboard JSON template.

For example, when the policies application templates are enabled for the service instance, the Premium Quote dashboard can be downloaded from /kpi/grafana/policies/premium_quote.json.

Template availability is driven by the applications enabled for the Business KPI Service instance. Unknown paths, applications not enabled for the service instance, and unknown dashboard files return 404 Not Found.

Import a Dashboard

  1. Open the Business KPI Service Grafana template directory.

  2. Choose the application directory for the business area you want to monitor.

  3. Download the dashboard JSON for the KPI you want to use.

  4. In Grafana, open the dashboard import flow.

  5. Upload the downloaded JSON file or paste its JSON content.

  6. Select the Prometheus datasource that stores the Business KPI Service metrics.

  7. Import the dashboard into the folder or workspace you manage.

  8. Confirm that the panels show data for a time range with relevant business activity.

Customize Dashboards

The imported dashboard is a starting point. You can customize your own copy by changing:

  • Dashboard folder and naming

  • Time range and refresh interval

  • Panel layout

  • Thresholds and units

  • Annotations

  • Alert rules and notification routing

  • Links to runbooks or incident tooling

Keep the published metric names aligned with the Business KPI Service contract unless you are intentionally building a custom view. If a downloaded template is refreshed in a later service version, compare the new copy with your customizations before replacing production dashboards.