5 KPIs
This section provides information about the KPIs for Oracle Communications Unified Data Repository (OCUDR).
Note:
A sample OCUDR dashboard is provided for Grafana. To achieve KPIs, OCUDR requires metrics and functions, which are available at Metrics. You can download and import the file to your repository. http://docs.oracle.com/en/industries/communications/cloud-native-core/release21.html5.1 Common KPIs for UDR, SLF, and EIR
Following table provides the common KPI details UDR, SLF, and EIR.
Table 5-1 Prov Success(2xx) Rate
| Field | Details |
|---|---|
| Description | Measures the success rate percentage for the provisioning traffic. |
| Expression | sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status=~"2.*",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-2 Provisioning Request Rate(ingressgateway-prov)
| Field | Details |
|---|---|
| Description | Measures the TPS of the provisioning traffic for each method wise and pod wise. |
| Expression | sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])) sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])) by (Method) sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])) by (pod) |
Table 5-3 Provisioning Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | Success Rate |
| Description | Measures the success percentage of provisioning requests that are on the ingressgateway-prov. |
| Expression |
sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status=~"2.*",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-4 Provisioning Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | Failure Rate |
| Description | Measures the failure rate of total requests that are on the ingressgateway-prov. |
| Expression |
(sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m]))-sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status=~"2.*",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-5 Provisioning Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | 408 response rate |
| Description | Measures the 408 response rate of the total requests that are on the ingressgateway-prov. |
| Expression |
sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status="408 REQUEST_TIMEOUT",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])) *100= |
Table 5-6 Provisioning Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | 500 response rate |
| Description | Measures the 500 response rate of total requests that are on the ingressgateway-prov. |
| Expression |
sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status="500 INTERNAL_SERVER_ERROR",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-7 Provisioning Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | 503 response rate |
| Description | Measures the 503 response rate of the total requests that are on the ingressgateway-prov. |
| Expression |
sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status="503 SERVICE_UNAVAILABLE",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-8 Provisioning Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | 404 response rate |
| Description | Measures the 404 response rate of the total requests that are on the ingressgateway-prov. |
| Expression |
sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status="404 NOT_FOUND",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-9 Provisioning Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | 429 response rate |
| Description | Measures the 429 response rate of the total requests that are on the ingressgateway-prov. |
| Expression |
sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status="429 TOO_MANY_REQUESTS",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-10 Provisioning Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | 400 response rate |
| Description | Measures the 400 response rate of the total requests that are on the ingressgateway-prov. |
| Expression |
sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status="400 BAD_REQUEST",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-prov",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-11 Signalling Success (2xx) Rate
| Field | Details |
|---|---|
| Description | Measures the success rate percentage for signaling traffic. |
| Expression | sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status=~"2.*",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-12 Signaling Request Rate(ingressgateway-sig)
| Field | Details |
|---|---|
| Description | Measures the TPS of signaling traffic for each method wise and pod wise. |
| Expression | sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])) sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])) by (Method) sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])) by (pod) |
Table 5-13 Signaling Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | Success Rate |
| Description | Measures the success percentage of signaling requests that are on the ingressgateway-sig. |
| Expression | sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status=~"2.*",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-14 Signaling Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | Failure Rate |
| Description | Measures the failure percentage of the total requests that are on the ingressgateway-sig. |
| Expression | (sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m]))-sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status=~"2.*",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-15 Signaling Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | 408 response rate |
| Description | Measures the failure percentage of the total requests that are on the ingressgateway-sig. |
| Expression | sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status="408 REQUEST_TIMEOUT",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-16 Signaling Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | 500 response rate |
| Description | Measures the 500 response rate of the total requests that are on the ingressgateway-sig. |
| Expression | sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status="500 INTERNAL_SERVER_ERROR",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-17 Signaling Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | 503 response rate |
| Description | Measures the 503 response rate of the total requests that are on the ingressgateway-sig. |
| Expression | sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status="503 SERVICE_UNAVAILABLE",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-18 Signaling Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | 404 response rate |
| Description | Measures the 404 response rate of the total requests that are on the ingressgateway-sig. |
| Expression | sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status="404 NOT_FOUND",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-19 Signaling Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | 429 response rate |
| Description | Measures the 429 response rate of the total requests that are on the ingressgateway-sig. |
| Expression |
sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status="429 TOO_MANY_REQUESTS",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-20 Signaling Response Breakdown
| Field | Details |
|---|---|
| Sub KPI | 400 response rate |
| Description | Measures the 400 response rate of the total requests that are on the ingressgateway-sig. |
| Expression |
sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status="400 BAD_REQUEST",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m]))/sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",container="ingressgateway-sig",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-21 UDR Incoming Traffic
| Field | Details |
|---|---|
| Sub KPI | Sig Method Wise Request Rate |
| Description | Measures the request TPS that the backend pod (nudr-drservice) is currently handling method wise. |
| Expression | sum(irate(udr_nftype_specific_requests_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="nudr-drservice"}[5m])) by (Method) |
Table 5-22 UDR Incoming Traffic
| Field | Details |
|---|---|
| Sub KPI | Sig Method Wise Request Rate |
| Description | Measures the response TPS that the backend pod (nudr-drservice) is currently returning method wise. |
| Expression | sum(irate(udr_nftype_specific_requests_status_total{namespace="$namespace",StatusCode=~"2.*",app_kubernetes_io_instance="$Deployment",container="nudr-drservice"}[5m])) by (Method) |
Table 5-23 UDR Incoming Traffic
| Field | Details |
|---|---|
| Sub KPI | Prov Method Wise Request Rate |
| Description | Measures the response TPS that the backend pod (nudr-drservice) is currently returning method wise. |
| Expression | sum(irate(udr_nftype_specific_requests_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="nudr-dr-provservice"}[5m])) by (Method) |
Table 5-24 UDR Incoming Traffic
| Field | Details |
|---|---|
| Sub KPI | Prov Method Wise Request Rate |
| Description | Measures the request TPS that the backend pod (nudr-drservice) is currently handling method wise. |
| Expression | sum(irate(udr_nftype_specific_requests_status_total{namespace="$namespace",StatusCode=~"2.*",app_kubernetes_io_instance="$Deployment",container="nudr-dr-provservice"}[5m])) by (Method) |
Table 5-25 IGW and DB Failure Rates
| Field | Details |
|---|---|
| Sub KPI | Sig DB Failures |
| Description | Measures the database failures on the nudr-drservice for the signaling traffic. |
| Expression | (sum(irate(udr_db_operations_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="nudr-drservice"}[5m]))-sum(irate(udr_db_operations_success_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="nudr-drservice"}[5m]))) / sum(irate(udr_db_operations_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="nudr-drservice"}[5m])) *100 |
Table 5-26 IGW and DB Failure Rates
| Field | Details |
|---|---|
| Sub KPI | Sig IGW Failures |
| Description | Measures the ingress gateway failure rates for the signaling traffic. |
| Expression | (sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[5m])) - sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status=~"2.*",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[5m]))) / sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[5m])) *100 |
Table 5-27 IGW and DB Failure Rates
| Field | Details |
|---|---|
| Sub KPI | Prov DB Failures |
| Description | Measures the database failures on the nudr-drservice for the provisioning traffic. |
| Expression | (sum(irate(udr_db_operations_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="nudr-dr-provservice"}[5m]))-sum(irate(udr_db_operations_success_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="nudr-dr-provservice"}[5m]))) / sum(irate(udr_db_operations_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="nudr-dr-provservice"}[5m])) *100 |
Table 5-28 IGW and DB Failure Rates
| Field | Details |
|---|---|
| Sub KPI | Prov IGW Failures |
| Description | Measures the ingress gateway failure rates for the provisioning traffic. |
| Expression | (sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[5m])) - sum(irate(oc_ingressgateway_http_responses_total{namespace="$namespace",Status=~"2.*",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[5m]))) / sum(irate(oc_ingressgateway_http_requests_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[5m])) *100 |
Table 5-29 DB Operations Rate
| Field | Details |
|---|---|
| Sub KPI | Total Operations Rate |
| Description | Measures the total number of database operations occurred from the backend microservices. |
| Expression | sum(irate(udr_db_operations_total{namespace="$namespace"}[5m])) |
Table 5-30 DB Operations Rate
| Field | Details |
|---|---|
| Sub KPI | Success Rate |
| Description | Measures the total number of successful database operations occurred from the backend microservices. |
| Expression | sum(irate(udr_db_operations_success_total{namespace="$namespace"}[5m])) |
Table 5-31 DB Operations Rate
| Field | Details |
|---|---|
| Sub KPI | Failure Rate |
| Description | Measures the total number of failed database operations occurred from backend microservices. |
| Expression |
sum(irate(udr_db_operations_total{namespace="$namespace"}[5m]))-sum(irate(udr_db_operations_success_total{namespace="$namespace"}[5m])) |
Table 5-32 IGW Latencies(Percentile)
| Field | Details |
|---|---|
| Sub KPI | Backend latency Sig |
| Description | Measures the signaling traffic backend pod latencies. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(oc_ingressgateway_backend_invocation_latency_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m]))) |
Table 5-33 IGW Latencies(Percentile)
| Field | Details |
|---|---|
| Sub KPI | GW Request latency Sig |
| Description | Measures the gateway latency which are on the ingressgateway-sig. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(oc_ingressgateway_request_processing_latency_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m]))) |
Table 5-34 IGW Latencies(Percentile)
| Field | Details |
|---|---|
| Sub KPI | GW Response latency Sig |
| Description | Measures the gateway response latency for signaling traffic. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(oc_ingressgateway_response_processing_latency_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m]))) |
Table 5-35 IGW Latencies(Percentile)
| Field | Details |
|---|---|
| Sub KPI | GW total latency Sig |
| Description | Measures the total latency (including request, response, and processing) for each of the request that are on the ingressgateway-sig. |
| Expression |
(histogram_quantile(${percentile} / 100, sum by(le) (rate(oc_ingressgateway_backend_invocation_latency_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m]))) + histogram_quantile(${percentile} / 100, sum by(le) (rate(oc_ingressgateway_request_processing_latency_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m]))) + histogram_quantile(${percentile} / 100, sum by(le) (rate(oc_ingressgateway_response_processing_latency_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m])))) |
Table 5-36 IGW Latencies(Percentile)
| Field | Details |
|---|---|
| Sub KPI | Backend latency Prov |
| Description | Measures the provisioning traffic backend pod latencies. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(oc_ingressgateway_backend_invocation_latency_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m]))) |
Table 5-37 IGW Latencies(Percentile)
| Field | Details |
|---|---|
| Sub KPI | GW Request latency Prov |
| Description | Measures the gateway latency that are on the ingressgateway-prov. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(oc_ingressgateway_request_processing_latency_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m]))) |
Table 5-38 IGW Latencies(Percentile)
| Field | Details |
|---|---|
| Sub KPI | GW Response latency Prov |
| Description | Measures the gateway response latency for the provisioning traffic. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(oc_ingressgateway_response_processing_latency_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m]))) |
Table 5-39 IGW Latencies(Percentile)
| Field | Details |
|---|---|
| Sub KPI | GW total latency Prov |
| Description | Measures the total latency (including request, response, and processing) for each of the request that are on the ingressgateway-prov. |
| Expression |
(histogram_quantile(${percentile} / 100, sum by(le) (rate(oc_ingressgateway_backend_invocation_latency_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m]))) + histogram_quantile(${percentile} / 100, sum by(le) (rate(oc_ingressgateway_request_processing_latency_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m]))) + histogram_quantile(${percentile} / 100, sum by(le) (rate(oc_ingressgateway_response_processing_latency_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m])))) |
Table 5-40 DB and DR-Service Latency [Percentile]
| Field | Details |
|---|---|
| Sub KPI | udr_sig_db_latency |
| Description | Measures the signaling traffic database latency. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(udr_db_processing_time_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="nudr-drservice"}[5m]))) |
Table 5-41 DB and DR-Service Latency [Percentile]
| Field | Details |
|---|---|
| Sub KPI | udr_sig_request_latency |
| Description | Measures the signaling traffic request latency. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(udr_request_processing_time_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="nudr-drservice"}[5m]))) |
Table 5-42 DB and DR-Service Latency [Percentile]
| Field | Details |
|---|---|
| Sub KPI | udr_prov_db_latency |
| Description | Measures the provisioning traffic database latency. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(udr_db_processing_time_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="nudr-dr-provservice"}[5m]))) |
Table 5-43 DB and DR-Service Latency [Percentile]
| Field | Details |
|---|---|
| Sub KPI | udr_prov_request_latency |
| Description | Measures the provisioning traffic request latency. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(udr_request_processing_time_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="nudr-dr-provservice"}[5m]))) |
Table 5-44 IGW Latencies [Average]
| Field | Details |
|---|---|
| Sub KPI | Backend latency Sig |
| Description | Measures the average latency for the backend services for signaling traffic. |
| Expression |
sum(irate(oc_ingressgateway_backend_invocation_latency_seconds_sum{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m])) /sum(irate(oc_ingressgateway_backend_invocation_latency_seconds_count{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m]))) |
Table 5-45 IGW Latencies [Average]
| Field | Details |
|---|---|
| Sub KPI | GW Request latency Sig |
| Description | Measures the average request latency for signaling traffic. |
| Expression |
(sum(irate(oc_ingressgateway_request_processing_latency_seconds_sum{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m])) /sum(irate(oc_ingressgateway_request_processing_latency_seconds_count{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m])) ) |
Table 5-46 IGW Latencies [Average]
| Field | Details |
|---|---|
| Sub KPI | GW Response latency Sig |
| Description | Measures the average response latency for signaling traffic. |
| Expression |
(sum(irate(oc_ingressgateway_response_processing_latency_seconds_sum{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m])) /sum(irate(oc_ingressgateway_response_processing_latency_seconds_count{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m])) ) |
Table 5-47 IGW Latencies [Average]
| Field | Details |
|---|---|
| Sub KPI | GW total latency Sig |
| Description | Measures the average total latency that includes request, response, and processing for signaling traffic. |
| Expression |
(sum(irate(oc_ingressgateway_backend_invocation_latency_seconds_sum{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m])) /sum(irate(oc_ingressgateway_backend_invocation_latency_seconds_count{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m])) )+(sum(irate(oc_ingressgateway_request_processing_latency_seconds_sum{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m])) /sum(irate(oc_ingressgateway_request_processing_latency_seconds_count{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m])) )+(sum(irate(oc_ingressgateway_response_processing_latency_seconds_sum{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m])) /sum(irate(oc_ingressgateway_response_processing_latency_seconds_count{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-sig"}[2m])) ) |
Table 5-48 IGW Latencies [Average]
| Field | Details |
|---|---|
| Sub KPI | Backend latency Prov |
| Description | Measures the average latency for backend services for provisioning traffic. |
| Expression |
(sum(irate(oc_ingressgateway_backend_invocation_latency_seconds_sum{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m])) /sum(irate(oc_ingressgateway_backend_invocation_latency_seconds_count{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m]))) |
Table 5-49 IGW Latencies [Average]
| Field | Details |
|---|---|
| Sub KPI | GW Request latency Prov |
| Description | Measures the average request latency for provisioning traffic. |
| Expression |
(sum(irate(oc_ingressgateway_request_processing_latency_seconds_sum{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m])) /sum(irate(oc_ingressgateway_request_processing_latency_seconds_count{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m]))) |
Table 5-50 IGW Latencies [Average]
| Field | Details |
|---|---|
| Sub KPI | GW Response latency Prov |
| Description | Measures the average response latency for provisioning traffic. |
| Expression |
(sum(irate(oc_ingressgateway_response_processing_latency_seconds_sum{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m])) /sum(irate(oc_ingressgateway_response_processing_latency_seconds_count{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m])) ) |
Table 5-51 IGW Latencies [Average]
| Field | Details |
|---|---|
| Sub KPI | GW total latency Prov |
| Description | Measures the average total latency that includes request, response, and processing for provisioning traffic. |
| Expression |
(sum(irate(oc_ingressgateway_backend_invocation_latency_seconds_sum{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m])) /sum(irate(oc_ingressgateway_backend_invocation_latency_seconds_count{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m])) )+(sum(irate(oc_ingressgateway_request_processing_latency_seconds_sum{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m])) /sum(irate(oc_ingressgateway_request_processing_latency_seconds_count{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m])) )+(sum(irate(oc_ingressgateway_response_processing_latency_seconds_sum{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m])) /sum(irate(oc_ingressgateway_response_processing_latency_seconds_count{namespace="$namespace",app_kubernetes_io_instance="$Deployment",container="ingressgateway-prov"}[2m])) ) |
Table 5-52 Error Logs Indicator
| Field | Details |
|---|---|
| Sub KPI | Microservice wise error logs indicator |
| Description | Measures the error logs that are printing for the respective microservices. This helps in debugging purpose and understand the error on the microservice pod level. |
| Expression |
sum by (microservice) (increase(log4j2_events_total{namespace="$namespace",level="error",app_kubernetes_io_instance="$Deployment"}[3m])) |
Table 5-53 CPU Usage Across Namespace (per pod)
| Field | Details |
|---|---|
| Sub KPI | POD Wise CPU Utilization |
| Description | Measures the CPU resource usage for all the pods that are deployed within the namespace. |
| Expression |
irate(cgroup_cpu_nanoseconds{namespace="$namespace"}[5m]) |
Table 5-54 Memory Usage Across Namespace (per pod)
| Field | Details |
|---|---|
| Sub KPI | POD Wise Memory Utilization |
| Description | Measures the memory resource usage for all the pods that are deployed with in the namespace. |
| Expression |
sum(cgroup_memory_bytes{namespace="$namespace"}) by (pod) |
Table 5-55 Overload Level
| Field | Details |
|---|---|
| Sub KPI | Overload Level |
| Description | Measures the overall load level for the backend pod that is handling the signaling or provisioning traffic. |
| Expression |
load_level{namespace="$namespace",app_kubernetes_io_instance="$Deployment"} > 0 |
Table 5-56 Overload level resource wise
| Field | Details |
|---|---|
| Sub KPI | Overload level resource wise |
| Description | Measures the overload level by resource. Example as
follows:
|
| Expression |
max by (type, service) (service_resource_overload_level{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}) > 0 |
Table 5-57 Overload Stress Resource Wise
| Field | Details |
|---|---|
| Sub KPI | Overload stress resource wise |
| Description | Measures the overload stress by resource. Example as
follows:
|
| Expression |
max by (type, service) (service_resource_stress{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}) > 0 |
Table 5-58 IGW Pod Congested State
| Field | Details |
|---|---|
| Sub KPI | IGW Pod Congested State |
| Description | Measures the of ingress gateway pod congested state level. It may be at NORMAL, DOC or CONGESTED state. |
| Expression |
sum by (pod) (oc_ingressgateway_pod_congestion_state{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}) |
Table 5-59 IGW Congestion State Resource Wise
| Field | Details |
|---|---|
| Sub KPI | IGW Congestion state resource wise |
| Description | Measures the congested level by resource. Example as
follows:
|
| Expression |
max by (type, pod) (oc_ingressgateway_pod_resource_state{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}) |
Table 5-60 POD Wise Congested Resource Stress
| Field | Details |
|---|---|
| Sub KPI | POD wise congested resource stress |
| Description | Measures the overload stress by resource. Example as
follows:
|
| Expression |
max by (type, pod) (oc_ingressgateway_pod_resource_stress{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}) > 0 |
Table 5-61 IGW Total Connections Rejected
| Field | Details |
|---|---|
| Sub KPI | IGW Total Connections Rejected |
| Description | Measures the total number of connections that got rejected at ingress gateway level because of the CONGESTED level. |
| Expression |
sum(irate(oc_ingressgateway_incoming_pod_connections_rejected_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) by (pod) |
Table 5-62 NRF Client Operative State
| Field | Details |
|---|---|
| Sub KPI | NRF Client NF Status |
| Description | Measures the NRF Client operative state.
0 - NRF is unavailable or unhealthy |
| Expression |
nrfclient_nrf_operative_status{namespace="$namespace",app_kubernetes_io_instance="$Deployment"} |
Table 5-63 NRF Client NF Status
| Field | Details |
|---|---|
| Sub KPI | NRF Client NF Status |
| Description | Measures the NRF Client NF Status.
1 - DEREGISTERED 2 - SUSPENDED 3 - UNDISCOVERABLE 4 - UNKNOWN |
| Expression |
nrfclient_nf_status_with_nrf{namespace="$namespace",app_kubernetes_io_instance="$Deployment"} |
Table 5-64 kmps per group(cgroup)
| Field | Details |
|---|---|
| Sub KPI | Ingressgateway-sig |
| Description | Measures the kmps of ingressgateway-sig service. |
| Expression |
(sum(rate(http_server_requests_seconds_count{namespace="$namespace", pod=~".*ingressgateway-sig.*"}[2m]))*2)/sum(rate(cgroup_cpu_nanoseconds{namespace="$namespace", pod=~".*ingressgateway-sig.*"}[2m])/1E9) |
Table 5-65 kmps per group(cgroup)
| Field | Details |
|---|---|
| Sub KPI | Egressgateway |
| Description | Measures the kmps of egressgateway service. |
| Expression |
(sum(rate(http_server_requests_seconds_count{namespace="$namespace", pod=~".*egressgateway.*"}[2m]))*2)/sum(rate(cgroup_cpu_nanoseconds{namespace="$namespace", pod=~".*egressgateway.*"}[2m])/1E9) |
Table 5-66 kmps per group(cgroup)
| Field | Details |
|---|---|
| Sub KPI | DR Service |
| Description | Measures the kmps of nudr-dr service. |
| Expression |
(sum(rate(http_server_requests_seconds_count{namespace="$namespace", pod=~".*nudr-drservice.*"}[2m])))/sum(rate(cgroup_cpu_nanoseconds{namespace="$namespace", pod=~".*nudr-drservice.*"}[2m])/1E9) |
Table 5-67 kmps per group(cgroup)
| Field | Details |
|---|---|
| Sub KPI | Ingressgateway-prov |
| Description | Measures the kmps of ingressgateway-prov service. |
| Expression |
(sum(rate(http_server_requests_seconds_count{namespace="$namespace", pod=~".*ingressgateway-prov.*"}[2m]))*2)/sum(rate(cgroup_cpu_nanoseconds{namespace="$namespace", pod=~".*ingressgateway-prov.*"}[2m])/1E9) |
Table 5-68 kmps per group(cgroup)
| Field | Details |
|---|---|
| Sub KPI | DR-Prov Service |
| Description | Measures the kmps of nudr-dr-prov service. |
| Expression |
(sum(rate(http_server_requests_seconds_count{namespace="$namespace", pod=~".*nudr-dr-provservice.*"}[2m])))/sum(rate(cgroup_cpu_nanoseconds{namespace="$namespace", pod=~".*nudr-dr-provservice.*"}[2m])/1E9) |
Parent topic: KPIs
5.1.1 UDR and EIR KPIs
Following table provides UDR and EIR KPIs.
Table 5-69 Diameter Gateway
| Field | Details |
|---|---|
| Sub KPI | Diameter GW Success Rate |
| Description | Measures the total success TPS rate of the diameter gateway service. |
| Expression |
sum(irate(ocudr_diam_response_network_total{namespace="$namespace",responseCode="2001",app_kubernetes_io_instance="$Deployment"}[5m]))/ sum(irate(ocudr_diam_response_network_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-70 Diameter Gateway
| Field | Details |
|---|---|
| Sub KPI | Diameter GW Failure Rate |
| Description | Measures the total failure TPS rate of the diameter gateway service. |
| Expression |
sum(irate(ocudr_diam_response_network_total{namespace="$namespace",responseCode!="2001",app_kubernetes_io_instance="$Deployment"}[5m]))/ sum(irate(ocudr_diam_response_network_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-71 Diameter Gateway Traffic Rate
| Field | Details |
|---|---|
| Sub KPI | Total Request Rate |
| Description | Measures the total TPS of the diameter traffic that is on the diameter gateway. |
| Expression |
sum(irate(ocudr_diam_request_network_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-72 Diameter Gateway Traffic Rate
| Field | Details |
|---|---|
| Sub KPI | Success Rate |
| Description | Measures the total successful TPS of the diameter traffic that is on the diameter gateway. |
| Expression |
sum(irate(ocudr_diam_response_network_total{namespace="$namespace",responseCode="2001",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-73 Diameter Gateway Traffic Rate
| Field | Details |
|---|---|
| Sub KPI | Failure Rate |
| Description | Measures the total failed TPS of the diameter traffic that is on the diameter gateway. |
| Expression |
sum(irate(ocudr_diam_response_network_total{namespace="$namespace",responseCode!="2001",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-74 Diameter Gateway Traffic Rate
| Field | Details |
|---|---|
| Sub KPI | Message Type Wise TPS |
| Description | Measures the total TPS of the diameter traffic that is on the diameter gateway by message type. |
| Expression |
sum(irate(ocudr_diam_request_network_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) by (msgType) |
Table 5-75 Diameter Gateway Traffic Rate
| Field | Details |
|---|---|
| Sub KPI | Message Type Wise Success Rate |
| Description | Measures the total successful TPS of the diameter traffic that is on the diameter gateway by message type. |
| Expression |
sum(irate(ocudr_diam_response_network_total{namespace="$namespace",responseCode="2001",app_kubernetes_io_instance="$Deployment"}[5m])) by (msgType) |
Table 5-76 Diameter Gateway Traffic Rate
| Field | Details |
|---|---|
| Sub KPI | Message Type Wise Failure Rate |
| Description | Measures the total failure TPS of the diameter traffic that is on the diameter gateway by message type. |
| Expression |
sum(irate(ocudr_diam_response_network_total{namespace="$namespace",responseCode="2001",app_kubernetes_io_instance="$Deployment"}[5m])) by (msgType) |
Table 5-77 Diameter Backend
| Field | Details |
|---|---|
| Sub KPI | Diameter Backend Success Rate |
| Description | Measures the total successful TPS rate of the diameter proxy service. |
| Expression |
sum(irate(nudr_diameterproxy_responses_total{namespace="$namespace",ResultCode="2001",app_kubernetes_io_instance="$Deployment"}[5m]))/ sum(irate(nudr_diameterproxy_responses_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-78 Diameter Backend
| Field | Details |
|---|---|
| Sub KPI | Diameter Backend Failure Rate |
| Description | Measures the total failure TPS rate of the diameter proxy service. |
| Expression |
sum(irate(nudr_diameterproxy_responses_total{namespace="$namespace",ResultCode!="2001",app_kubernetes_io_instance="$Deployment"}[5m]))/ sum(irate(nudr_diameterproxy_responses_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) *100 |
Table 5-79 Diameter Backend Traffic Rate
| Field | Details |
|---|---|
| Sub KPI | Total Request Rate |
| Description | Measures the total TPS of the diameter traffic that is on diameter proxy. |
| Expression |
sum(irate(nudr_diameterproxy_requests_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-80 Diameter Backend Traffic Rate
| Field | Details |
|---|---|
| Sub KPI | Success Rate |
| Description | Measures the total success TPS of the diameter traffic that is on diameter proxy. |
| Expression |
sum(irate(nudr_diameterproxy_responses_total{namespace="$namespace",ResultCode="2001",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-81 Diameter Backend Traffic Rate
| Field | Details |
|---|---|
| Sub KPI | Failure Rate |
| Description | Measures the total failure TPS of the diameter traffic that is on diameter proxy. |
| Expression |
sum(irate(nudr_diameterproxy_responses_total{namespace="$namespace",ResultCode!="2001",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-82 Diameter Backend Traffic Rate
| Field | Details |
|---|---|
| Sub KPI | Message Type Wise Total TPS |
| Description | Measures the total TPS of the diameter traffic that is on diameter proxy by message type. |
| Expression |
sum(irate(nudr_diameterproxy_requests_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) by (MessageType) |
Table 5-83 Diameter Backend Traffic Rate
| Field | Details |
|---|---|
| Sub KPI | Message Type Wise Success Rate |
| Description | Measures the total success TPS of the diameter traffic that is on diameter proxy by message type. |
| Expression |
sum(irate(nudr_diameterproxy_responses_total{namespace="$namespace",ResultCode="2001",app_kubernetes_io_instance="$Deployment"}[5m])) by (MessageType) |
Table 5-84 Diameter Backend Traffic Rate
| Field | Details |
|---|---|
| Sub KPI | Message Type Wise Failure Rate |
| Description | Measures the total failure TPS of the diameter traffic that is on diameter proxy by message type. |
| Expression |
sum(irate(nudr_diameterproxy_responses_total{namespace="$namespace",ResultCode!="2001",app_kubernetes_io_instance="$Deployment"}[5m])) by (MessageType) |
Table 5-85 DB and DR-Service Latency [Percentile]
| Field | Details |
|---|---|
| Sub KPI | diameter_db_latency |
| Description | Measures the diameter traffic database latency. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(diameter_db_processing_time_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m]))) |
Table 5-86 DB and DR-Service Latency [Percentile]
| Field | Details |
|---|---|
| Sub KPI | diameter_req_latency |
| Description | Measures the diameter traffic request latency. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(diameter_request_processing_time_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m]))) |
Table 5-87 DB and DR-Service Latency [Percentile]
| Field | Details |
|---|---|
| Sub KPI | diameter_backend_latency |
| Description | Measures the diameter traffic backend request latency. |
| Expression |
histogram_quantile(${percentile} / 100, sum by(le) (rate(diamgateway_backend_processing_time_seconds_bucket{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m]))) |
Table 5-88 DGW Congestion State
| Field | Details |
|---|---|
| Sub KPI | DGW Congestion State |
| Description | Measures the congested state of Diameter Gateway pod. |
| Expression |
sum by (pod) (ocudr_pod_congestion_state{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}) |
Table 5-89 DGW Congestion State Resource Wise
| Field | Details |
|---|---|
| Sub KPI | DGW congestion state resource wise |
| Description | Measures the diameter gateway congested level by
resource. Example as follows:
|
| Expression |
max by (type, pod) (ocudr_pod_resource_congestion_state{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}) |
Table 5-90 DGW Congestion Resource Stress
| Field | Details |
|---|---|
| Sub KPI | DGW congestion resource stress |
| Description | Measures the diameter gateway overload stress by
resource. Example as follows:
|
| Expression |
max by (type, pod) (ocudr_pod_resource_congestion_state{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}) > 0 |
Table 5-91 DGW Total Messages Rejected
| Field | Details |
|---|---|
| Sub KPI | DGW Total Messages Rejected |
| Description | Measures the total number of connections that is rejected at diameter gateway because of CONGESTED level. |
| Expression |
ocudr_diam_congestion_message_reject_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"} |
Parent topic: Common KPIs for UDR, SLF, and EIR
5.2 UDR KPIs
Following table provides the UDR KPIs.
Parent topic: KPIs
5.2.1 UDR Notifications
Following table provides the UDR Notifications KPIs.
Table 5-92 Notifications Rate (NOTIFY SERVICE)
| Field | Details |
|---|---|
| Sub KPI | Notifications sent |
| Description | Measures the total notifications rate that are sent from the notify-sercvice. |
| Expression |
sum(irate(nudr_notif_notifications_sent_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-93 Notifications Rate (NOTIFY SERVICE)
| Field | Details |
|---|---|
| Sub KPI | Total ack received |
| Description | Measures the TPS of the received notifications to notify-service. |
| Expression |
sum(irate(nudr_notif_notifications_ack_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-94 Notifications Rate (NOTIFY SERVICE)
| Field | Details |
|---|---|
| Sub KPI | 2xx ack received |
| Description | Measures the TPS of 2xx received notifications to notify-service. |
| Expression |
sum(irate(nudr_notif_notifications_ack_2xx_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-95 Notifications Rate (NOTIFY SERVICE)
| Field | Details |
|---|---|
| Sub KPI | 4xx ack received |
| Description | Measures the TPS of 4xx received notifications to notify-service. |
| Expression |
sum(irate(nudr_notif_notifications_ack_4xx_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-96 Notifications Rate (NOTIFY SERVICE)
| Field | Details |
|---|---|
| Sub KPI | 5xx ack received |
| Description | Measures the TPS of 5xx received notifications to notify-service. |
| Expression |
sum(irate(nudr_notif_notifications_ack_5xx_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-97 Notification Rate (DR SERVICE/DIAM PROXY)
| Field | Details |
|---|---|
| Sub KPI | Notifications Sent DR |
| Description | Measures the total notifications that are sent to notify-service from the dr-service. |
| Expression |
sum(irate(nudr_dr_notif_signal_sent_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-98 Notification Rate (DR SERVICE/DIAM PROXY)
| Field | Details |
|---|---|
| Sub KPI | UPDATE Notifications Failure Rate DR |
| Description | Measures the total failed update notifications that are sent to notify-service from the dr-service. |
| Expression |
sum(irate(nudr_dr_notif_signal_notification_update_failed_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-99 Notification Rate (DR SERVICE/DIAM PROXY)
| Field | Details |
|---|---|
| Sub KPI | UPDATE Notifications Success Rate |
| Description | Measures the total successfully update notifications that are sent to notify-service from the dr-service. |
| Expression |
sum(irate(nudr_dr_notif_signal_notification_update_success_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-100 Notification Rate (DR SERVICE/DIAM PROXY)
| Field | Details |
|---|---|
| Sub KPI | DELETE Notifications Success Rate DR |
| Description | Measures the total delete notifications that are successfully sent to notify-service from the dr-service. |
| Expression |
sum(irate(nudr_dr_notif_signal_notification_delete_success_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m]) |
Table 5-101 Notification Rate (DR SERVICE/DIAM PROXY)
| Field | Details |
|---|---|
| Sub KPI | DELETE Notifications Failure Rate DR |
| Description | Measures the total failed delete notifications to notify-service from the dr-service. |
| Expression |
sum(irate(nudr_dr_notif_signal_notification_delete_failed_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-102 Retry and New Notifications
| Field | Details |
|---|---|
| Sub KPI | Retry Notification |
| Description | Measures the retry notifications that are retried. |
| Expression |
sum(irate(nudr_notif_notifications_marked_for_retry_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Table 5-103 Retry and New Notifications
| Field | Details |
|---|---|
| Sub KPI | New Notifications |
| Description | Measures the new notifications that are sent from notify service. |
| Expression |
sum(irate(nudr_notif_notifications_sent_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m]))-sum(irate(nudr_notif_notifications_marked_for_retry_total{namespace="$namespace",app_kubernetes_io_instance="$Deployment"}[5m])) |
Parent topic: UDR KPIs
5.2.2 On-Demand Migration
The on-demand migration feature is supported as part of Converged Policy database solution of UDR. By enabling this feature, you can migrate 4G UDR subscriber information to 5G UDR, provided the 4G UDR subscriber information is not already provisioned on 5G platform. For more information on converged quota, see Converged Quota Support for UDR.
This following diagram depicts the call flow between microservices when on-demand migration is triggered from the external clients such as cnPCRF, PCF and so on. When the on-demand migration requests reaches the microservices, it uses the Diameter Gateway to connect to 4G UDR and migrates the data to cnUDR. The diagram shows on-demand migration is triggered from various microservices when different types of requests are processed.
Figure 5-1 On-Demand Migration

- Provisioning Event: Provisioning Gateway sends the provisioning
requests such as read or update subscriber information to cnUDR. If the on-demand
migration feature is enabled and if the subscriber does not exist on cnUDR, the
subscriber information is read from 4G UDR and provisioned on cnUDR before sending back
the response to the Provisioning Gateway. cnUDR reads and provisions the 4G policy quota
data using the data model defined in Table 2-20 and supports:
- Provisioning request for read and update using SOAP/XML provisioning interface. For more information, see Oracle Communications Cloud Native Core, Provisioning Gateway Interface Specification Guide.
- GET, PUT, and PATCH operations using REST/JSON provisioning interface. For more information, see in Oracle Communications Cloud Native Core, Unified Data Repository REST Specification Guide.
- Nudr Event: Based on a 5G session request initiated by PCF and an
Nudr request received on cnUDR, the subscriber information is read from 4G UDR and
provisioned on cnUDR.
- Provided the on-demand migration feature is enabled on cnUDR
- Subscriber information does not exist on cnUDR
- Sh-event: Based on request (Diameter-Sh) received from PCRF to
access the subscriber profile or entities using the UDR/PUR/SNR requests, the subscriber
information is read from 4G UDR and provisioned on cnUDR
- Provided the on-demand migration feature is enabled on cnUDR
- Subscriber information does not exist on cnUDR
Note:
On-demand migration can be enabled or disabled for each Provisioning Event, Nudr Event, and Sh-event independently.Deleting Source UDR Subscriber Information
deleteSubscriberOnSource parameter to true or false. The
default configuration is false.
Note:
You may experience delay in response from cnUDR if the on-demand migration feature is enabled.To Enable
Pre-requisite: The on-demand migration service reads subscriber information from 4G UDR using Diameter connection(Sh) with 4G UDR. To read subscriber information from 4G UDR, it is important to configure 4G UDR with peer Diameter connections of cnUDR.
- In the global values.yaml file, under nudr-dr service section, set the
ondemandmigrationproperty as 'true' and run the Helm upgrade command. By default, it is set as false. - Upon setting the
ondemandmigrationproperty as 'true', data is fetched from 4G UDR and provisioned on cnUDR when any of the event occurs (provisioning event, Nudr event or sh-event).Note:
After enabling theondemandmigrationparameter, the on-demand migration service runs as a separate service. The nudr-dr and diameter-proxy microservice uses it for handling subscriber migration. - After migrating the subscriber information to cnUDR, set the
deleteSubscriberOnSourceparameter to 'true' to delete that subscriber from 4G UDR.Figure 5-2 Enabling ondemandmigration and deleteSubscriberOnSource parameter

Note:
You can set the above parameter either from the CNC Console or the yaml file. If you opt to use yaml file then ensure that the nudr_config parameter is not enabled. After updating the yaml file, run the Helm upgrade command.Range Support for On-Demand Migration
Range support for On-demand migration helps to migrate the 4G subscriber data to 5G UDR in a phase manner. You can initiate migration for small range of subscriber data and validate the call flows. Once the migration is successful, you can migrate another small range of subscriber data in a phase manner.
- Key Type: This defines the type of key for the key range. The key type can either be Mobile Station Integrated Services Digital Network (MSISDN) or International Mobile Subscriber Identity (IMSI). Key type is not validated, if the default key range is set.
- Key Range: This defines the range of subscribers for on-demand migration. Multiple key ranges are not allowed. The default value is 000000-000000.
To Configure
- Edit the Helm config file while installing UDR. This flag is not available on CNC Console.
- Configure Diameter-Sh peers on the Helm charts or CNC Console. 5G UDR uses these Diameter-Sh connections with 4G UDR to read its subscribers information.
Using this configuration, you can also delete the subscriber information migrated to 5G UDR from source 4G UDR.
Configuring Range Support
global:
# Key type and range for ondemand qouta migration
key:
type: msisdn
range: 000000-000000Configuring Range Support using REST API
http://nudr-config-service:PORT/ nudr-config/v1/udr.global.cfg/GLOBAL
to configure the range support. For more information, see Oracle Communications Cloud Native
Core, Unified Data Repository REST Specification
Guide.{
"dbServiceName": "mysql-connectivity-service.occne-ndb",
"udrServices": "All",
"udsfEnabled": false,
"ingressHttpPort": "",
"ingressHttpsPort": "",
"snssai": "2-FFFFFF",
"dnn": "dnn1",
"autoCreate": true,
"autoEnrolOnSignalling": true,
"etagEnabled": true,
"sbiCorrelationInfoEnable": false,
"consumerNF": "PCF,UDM,NEF",
"nfInstanceId": "5a7bd676-ceeb-44bb-95e0-f6a55a328b03",
"vsaDefaultBillingDay": 1,
"subscriberActivityEnabled": false,
"addDefaultBillingDay": true,
"enableControlledShutdown" : true,
"keyType": "imsi",
"keyRange": "2013020001-2013020002",
"nfType": "UDR",
"nfFqdn": "udr001.oracle.com",
"suppressNotificationEnabled": true,
"configClientConnectTimeout": 1000,
"configClientReadTimeout": 1000,
"subscriberIdentifers": {
"msisdn": [],
"imsi": [],
"nai": [],
"extid": []
}
}Upgrade and Rollback Impacts for Range Support
- If On-demand migration is enabled, then range support works for all key type and key range.
- If you modify the key type and key range through REST API, then the On-demand migration triggers only if the key type is valid and key is in the range value.
Note:
Range support for on-demand migration is disabled when rollback is performed to a previous version.Parent topic: UDR KPIs
5.3 SLF KPIs
Following section provides the SLF KPIs.
Parent topic: KPIs
5.3.1 Ingress Gateway Pod Protection Using Rate Limiting
Following table provides Ingress Gateway Pod Protection Using Rate Limiting KPIs
Table 5-104 Congestion Level
| Field | Details |
|---|---|
| Sub KPI | Congestion Level |
| Description | Measures the congestion level per pod at particular instance. |
| Expression |
sum(oc_ingressgateway_congestion_system_state{namespace="$namespace",container="ingressgateway-sig"}) by (pod) |
Table 5-105 Allowed/Rejected Requests
| Field | Details |
|---|---|
| Sub KPI | Allowed requests |
| Description | Measures the total allowed requests across all the pods. |
| Expression |
sum(rate(oc_ingressgateway_http_request_ratelimit_values_total{Allowed="true",namespace="$namespace",container="ingressgateway-sig"}[2m])) by (Id) |
Table 5-106 Allowed/Rejected Requests
| Field | Details |
|---|---|
| Sub KPI | Rejected requests |
| Description | Measures the total rejected requests across all the pods. |
| Expression |
sum(rate(oc_ingressgateway_http_request_ratelimit_values_total{Allowed="false",namespace="$namespace",container="ingressgateway-sig"}[2m])) by (Id) |
Table 5-107 Allow/Reject Requests per Pod
| Field | Details |
|---|---|
| Sub KPI | Allow/Reject requests per pod |
| Description | Measures the CONTINUE or REJECT requests per pod along with the congestion level. |
| Expression |
sum(rate(oc_ingressgateway_http_request_ratelimit_denied_count_total{namespace="$namespace",container="ingressgateway-sig"}[2m])) by (Action,pod) |
Table 5-108 Overall CPU Usage
| Field | Details |
|---|---|
| Sub KPI | Overall CPU Usage |
| Description | Measures the overall CPU usage for the ingressgateway-sig microservice. |
| Expression |
sum(rate(oc_ingressgateway_congestion_cpu_percentage_bucket{namespace="$namespace",container="ingressgateway-sig"}[2m]))by (le) |
Parent topic: SLF KPIs