| .. |
| SPDX-FileCopyrightText: 2023-present Intel Corporation |
| SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org> |
| SPDX-License-Identifier: Apache-2.0 |
| |
| .. _design_metricfunc: |
| |
| Metric Function Design Overview |
| =============================== |
| |
| .. image:: ../_static/images/Metric_Func_Arch.png |
| :width: 500px |
| |
| Metric-Function |
| --------------- |
| |
| The Metric Function act as an aggregator and processor of metrics received from different 5G Network Functions. |
| Currently, only SMF and AMF publishes metrics to the Metric Function as of this release. |
| |
| The Metric Function provides following features |
| |
| * API Service exposure |
| It provides APIs to fetch various metrics as mentioned below |
| * GetSubscriberAll (/nmetric-func/v1/subscriber/all) |
| * GetSubscriberSummary (/nmetric-func/v1/subscriber/<imsi>) |
| * GetNfStatus (/nmetric-func/v1/nfstatus/<GNB/UPF>) |
| * GetNfServiceStats (/nmetric-func/v1/nfServiceStatsSummary/<AMF/SMF>) (not supported in this release) |
| * GetNfServiceStatsAll (/nmetric-func/v1/nfServiceStats/all) (not supported in this release) |
| * Prometheus Client exposure |
| * It exposes Prometheus client interface for metrics scraping via Prometheus server |
| * Analytics Function exposure(not supported in this release) |
| * It shall push events to configured Analytics Function. |
| |
| |
| Sample output from API Service |
| ------------------------------ |
| * GetSubscriberAll (/nmetric-func/v1/subscriber/all) |
| |
| .. code-block:: |
| |
| http://<metricfunc-pod-ip>:9301/nmetric-func/v1/subscriber/all |
| |
| ["imsi-208930100007487","imsi-208930100007488","imsi-208930100007489","imsi-208930100007490","imsi-208930100007491"] |
| |
| |
| * GetSubscriberSummary (/nmetric-func/v1/subscriber/<imsi>) |
| |
| .. code-block:: |
| |
| http://<metricfunc-pod-ip>:9301/nmetric-func/v1/subscriber/imsi-208930100007487 |
| { |
| "imsi":"imsi-208930100007487", |
| "smfId":"urn:uuid:c573621f-e198-4f67-988b-f7373e67601c","smfIp":"192.168.84.172", |
| "smfSubState":"Connected","ipaddress":"172.250.237.121","dnn":"internet","slice":"sd:010203 sst:1", |
| "upfid":"upf","upfAddr":"192.168.85.188", |
| "amfId":"b17f4726-4809-43e6-b5b6-afa0fc72807b","guti":"20893cafe00002647e6","tmsi":2508774,"amfngapId":2508775, |
| "ranngapId":3405774848,"amfSubState":"Registered","gnbid":"208:93:000102","tacid":"000001","amfIp":"192.168.84.159" |
| } |
| |
| * GetNfStatus (/nmetric-func/v1/nfstatus/<GNB/UPF>) |
| |
| .. code-block:: |
| |
| http://<metricfunc-pod-ip>:9301/nmetric-func/v1/nfstatus/UPF |
| [ |
| {"nfType":"UPF","nfStatus":"Connected","nfName":"upf-1"}, |
| {"nfType":"UPF","nfStatus":"Connected","nfName":"upf-2"} |
| ] |
| |
| http://<metricfunc-pod-ip>:9301/nmetric-func/v1/nfstatus/GNB |
| [ |
| {"nfType":"GNB","nfStatus":"Disconnected","nfName":"208:93:000112"}, |
| {"nfType":"GNB","nfStatus":"Disconnected","nfName":"208:93:000102"} |
| ] |
| |