Closed marknefedov closed 1 year ago
We can implement PDU tracing as a Node graph panel in Grafana, as on image:
In order to achieve end to end PDU observability we need to obtain PDU session status from the RAN, AMF, SMF and UPF. We probably can implement an adapter API. That will poll metrics or API of the current 5G core to convert the data to the node graph API format.
This plugin (Node Graph API plugin for Grafana | Grafana Labs) with some middleware can help us to convert API to graph.
I’m still researching how to use (is it even possible or needed) Grafana’s Node Graphs with Prometheus.
Find session in each component by IMSI/IP/etc.
```json [ { "AccessType": "3GPP_ACCESS", "CmState": "CONNECTED", "Guti": "20893cafe0000000001", "Mcc": "208", "Mnc": "93", "PduSessions": [ { "Dnn": "internet", "PduSessionId": "1", "Sd": "010203", "SmContextRef": "urn:uuid:bd32aba5-4bdd-403a-9a72-012f42276c7d", "Sst": "1" } ], "Supi": "imsi-208930000000003", "Tac": "000001" }, { "AccessType": "3GPP_ACCESS", "CmState": "CONNECTED", "Guti": "20893cafe0000000002", "Mcc": "208", "Mnc": "93", "PduSessions": [ { "Dnn": "internet", "PduSessionId": "1", "Sd": "010203", "SmContextRef": "urn:uuid:73e2c0fb-1804-4a4d-9885-3066ffca9c9f", "Sst": "1" } ], "Supi": "imsi-208930000000004", "Tac": "000001" } ] ```
```json [ { "AccessType": "3GPP_ACCESS", "CmState": "CONNECTED", "Guti": "20893cafe0000000002", "Mcc": "208", "Mnc": "93", "PduSessions": [ { "Dnn": "internet", "PduSessionId": "1", "Sd": "010203", "SmContextRef": "urn:uuid:73e2c0fb-1804-4a4d-9885-3066ffca9c9f", "Sst": "1" } ], "Supi": "imsi-208930000000004", "Tac": "000001" } ] ```
```json { "AnType": "3GPP_ACCESS", "Dnn": "internet", "PDUAddress": "10.1.0.11", "PDUSessionID": "1", "Sd": "010203", "SessionRule": { "sessRuleId": "" }, "Sst": "1", "Supi": "imsi-208930000000004", "Tunnel": { "ANInformation": { "IPAddress": "", "TEID": 0 }, "DataPathPool": null, "PathIDGenerator": null }, "UpCnxState": "ACTIVATED" } ```
Thanks!
ℹ There is ConfigMap free5gc/connectivity-test-configmap containing just script:
```ash
Name: connectivity-test-configmap
Namespace: free5gc
Labels:
We can use some approaches from it, IMHO.