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.html

5.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:
  • CPU is at L1
  • failure count is L2
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:
  • CPU is at 40
  • failure count is at 8000
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:
  • CPU is at DOC
  • pending count is CONGESTED
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:
  • CPU is at 40
  • pending count is at 8000
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)

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:
  • CPU is at DOC
  • pending count is CONGESTED
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:
  • CPU is at 40
  • pending count is at 8000
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"}

5.2 UDR KPIs

Following table provides the UDR 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]))

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


On-Demand Migration

On-demand migration triggers when any one of the following events occur:
  • 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
    The response to PCF or Converged Policy is sent after the migration of the subscriber information.
  • 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
    The response to PCRF is sent after the successful migration of the subscriber.

Note:

On-demand migration can be enabled or disabled for each Provisioning Event, Nudr Event, and Sh-event independently.

Deleting Source UDR Subscriber Information

You can delete the source 4G UDR subscriber information after migrating the subscriber information from source 4G UDR to 5G UDR. You can disable or enable this feature by setting the 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.

To enable on-demand migration service:
  1. In the global values.yaml file, under nudr-dr service section, set the ondemandmigration property as 'true' and run the Helm upgrade command. By default, it is set as false.
  2. Upon setting the ondemandmigration property 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 the ondemandmigration parameter, the on-demand migration service runs as a separate service. The nudr-dr and diameter-proxy microservice uses it for handling subscriber migration.
  3. After migrating the subscriber information to cnUDR, set the deleteSubscriberOnSource parameter to 'true' to delete that subscriber from 4G UDR.

    Figure 5-2 Enabling ondemandmigration and deleteSubscriberOnSource parameter


    Enabling ondemandmigration and sourceUDRDeleteSubscriber 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.

The below fields are added to introduce range support for on-demand migration:
  • 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.
By default, if there are no configuration changes, on-demand migration works for all key type and key range.

To Configure

Perform the below steps to configure the on-demand migration feature:
  • 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

To configure the range support, you must set the key type and key range in the global section of the custom-values.yaml file. on-demand migration triggers only if the range is set and the key is in the range value.
global:
# Key type and range for ondemand qouta migration
key:
type: msisdn
range: 000000-000000

Configuring Range Support using REST API

You can perform the PUT operation on the 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

When you upgrade UDR from previous version with default key type and key range, below scenarios can occur:
  • 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.

5.3 SLF KPIs

Following section provides the SLF 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)