Inleiding
In dit document wordt beschreven hoe u Grafana/Prometheus in Cisco SMF kunt gebruiken om aangepaste query's te maken om problemen met de gespreksstroom op te lossen.
Afkortingen
| SMF |
Sessiebeheerfunctie |
| UDM |
Unified Data Management |
| AMF |
Toegangs- en mobiliteitsfunctie |
| PDU |
protocolgegevenseenheid |
Waarom query's aanpassen om problemen met SMF-gespreksstromen op te lossen?
Hoewel de ingebouwde dashboards geweldige grafieken bieden met betrekking tot belangrijke KPI's en gezondheidsstatistieken van knooppunten, spelen aangepaste query's een belangrijke rol om het volledige potentieel van PromQL-query's en grafana te gebruiken om problemen met reguliere probleemscenario's op te lossen. Aangepaste promql-query's en grafieken voegen meer veelzijdigheid en gemak toe om een specifieke fout te isoleren.
Voordelen van ingebouwde dashboards:
- Grafana biedt een eenvoudig te gebruiken en grafische interface om door SMF-statistieken te bladeren.
- Er zijn ingebouwde grafana-dashboards beschikbaar om de meeste KPI's en statistieken te controleren.
Voorbeeld:
5G SMF-dashboard
- 5G-PDU maakt fouten/succespercentage
- 4G PDN maakt mislukking/succespercentage

- Succespercentage per procedure

- Per procedure Mislukte oorzaak percentage.
- Percentage reden verbreken.
- HTTP Request en het bijbehorende response cause percentage.

Om problemen verder op te lossen:
- Het beschikbare dashboard en de panelen gaan vooral over percentages en KPI’s. Terwijl u verder onderzoekt, moet u mogelijk kijken naar gedetailleerde details om het specifieke scenario en de boodschap te identificeren die deze mislukking hebben veroorzaakt.
- De aangepaste zoekopdrachten met specifieke reguliere expressies helpen om deze statistieken te correleren en de trigger te isoleren.
- Deze query's kunnen worden gebruikt om grafieken te plotten in SMF grafana of in de offline grafana met de metrics dump van het tac-debug pakket.
- Het bereik van de statistieken in verband met verschillende diensten kan worden gebruikt en kan ook worden gefilterd door middel van label sleutel / waarde paren om problemen op te lossen het specifieke scenario.
Grafana en Prometheus
Grafana
"Grafana is open source visualisatie- en analysesoftware. Het stelt je in staat om je statistieken te bevragen, te visualiseren, te waarschuwen en te verkennen, ongeacht waar ze zijn opgeslagen."
Cisco SMF maakt gebruik van ingebouwde grafana om de real-time statistische gegevens van toepassingscontainers te plotten.
Prometheus
Prometheus biedt een multidimensionaal gegevensmodel met tijdreeksgegevens geïdentificeerd door metrische naam- en sleutel- / waardeparen en een flexibele Query-taal met de naam PromQL om toegang te krijgen tot deze gegevens.
Prometheus wordt gebruikt voor het verzamelen van statistieken / tellers van de microservices.
Metrics- Dit zijn de identifiers van de Statistieken van de Tijdreeks.
Labels - Metrics bestaan uit Labels. Wat zijn eigenlijk de key-value paren? De combinaties van labels voor een bepaalde metriek identificeert een bepaald geval van tijdreeksgegevens
Voorbeeld: 
De metriek "smf_service_stats" is groen gemarkeerd en heeft veel labels, die geel zijn gemarkeerd.
Met behulp van deze label sleutel / waarde paren, kan men een bepaalde reeks van gegevens te selecteren.
PromQL-query
Prometheus biedt een functionele querytaal met de naam PromQL. De ingebouwde functies zijn beschikbaar in PromQl (bijv. Sum(), by(), count() etc) laat ons bepaalde tijdreeksgegevens selecteren in een grafisch of tabelformaat.
Voorbeeld:
sum(smf_service_stats{status="success"}) by (procedure_type)
In dit voorbeeld worden gegevens uit de metriek smf_service_stats geselecteerd op procedure_type waarbij status = "succes"
Som (Som over dimensies berekenen)
(Groepen van de uitvoer op labels)
Filters kunnen binnen de som worden gebruikt met behulp van Label-sleutel / waarde paren om de grafieken verder te filteren.
Voorbeeld 1:
sum(smf_disconnect_stats{namespace="smf-data",reason=~"disc_eutra.*"})by(reason, rat_type)
Hier wordt namespace smf-data geselecteerd en als reden wordt alle reden voor het verbreken van de verbinding die begint met disk_eutra (d.w.z. redenen voor 4G-verbreken) in aanmerking genomen.

Voorbeeld 2:
sum(smf_restep_http_msg{namespace="smf-data", api_name=~"sdm_.*"}) by(api_name,message_direction,response_status,response_cause)
Deze query zal SMF - UDM sdm-abonnementsberichten plotten met de oorzaak van de respons.

Hoe maak je een dashboard en paneel te maken?
Om een nieuw dashboard toe te voegen.
Stap 1. Navigeer naar Aanmaken > Dashboard, zoals weergegeven in deze afbeelding.

Om nieuw paneel toe te voegen - Query toevoegen.
Stap 2. Navigeer naar de optie Paneel toevoegen bovenaan om een nieuw paneel toe te voegen.
Stap 3. Selecteer de knop Query toevoegen.

Selecteer Query Type- Prometheus hi-res.
Stap 4. Selecteer de optie Prometheus hi-res in de vervolgkeuzelijst Query.
Stap 5. Voeg vervolgens de promql-query toe in het gegeven vak.
Stap 6. Sla het paneel op.

Voorbeeld: gebruik de aangepaste query en grafieken om problemen op te lossen
Fout bij instellen van PDU-sessie – N1N2-respons
Stap 1. KPI-dip-observatie en identificeren van de fout bij het maken van de PDU-sessie.

Query: sum by (procedure_type, pdu_type, status, reason) (smf_service_stats{namespace="smf",procedure_type="pdu_sess_create"})
Stap 2. De oorzaak van de storing is "n1n2_transfer_failure_rsp_code". Laten we eens kijken naar de Disconnect Redenen:

Query: sum(smf_disconnect_stats{namespace=”smf"}) by (reason)
Stap 3. De reden "disconnect_disk_pdusetup_n1n2_transfer_rsp_failure" geeft een negatieve reactie van AMF peer aan. Aangezien SMF-AMF-interactie via een op HTTP-services gebaseerde interface plaatsvindt, moet verder worden gekeken naar HTTP-statussen (metriek: smf_restep_http_msg)
De HTTP-statistieken geven aan dat SMF tijdens de Fout een HTTP-statuscode 401 heeft ontvangen - Niet-geautoriseerd van AMF

Query: sum(smf_restep_http_msg{namespace="smf"}) by(api_name,message_direction,response_status)
Belangrijke statistieken voor het oplossen van problemen:
smf_disconnect_stats
smf_proto_pfcp_msg_total
smf_service_stats
smf_restep_http_msg
smf_n1_message_stats
smf_proto_pfcp_msg_total
nodemgr_msg_stats
nodemgr_gtpc_msg_stats
chf_message_stats
policy_msg_processing_status
procedure_protocol_total
procedure_service_total
Meer informatie over SMF Metrics:
Zoals aangetoond in deze voorbeelden, kan men hun eigen aangepaste grafieken plotten als en wanneer dat nodig is voor het specifieke faalscenario om verschillende berichten te correleren en de mislukking te isoleren. Dergelijke query's kunnen ook worden uitgevoerd in lokale systemen nadat de metrische gegevens van Tac_debug_pkg zijn gekoppeld aan lokale grafana.