Sommario

Introduzione

Abbreviazioni

Perché personalizzare le query per risolvere i problemi relativi al flusso di chiamate SMF?

Grafana e Prometeo

Grafana

Prometeo

Query PromQL

Come creare un dashboard e un pannello?

Esempio: Utilizzare query e grafici personalizzati per risolvere i problemi

Introduzione

Questo documento descrive come usare Grafana/Prometheus in Cisco SMF per creare query personalizzate al fine di risolvere i problemi relativi al flusso di chiamate.

Abbreviazioni

SMF

Funzione di gestione delle sessioni

UDM

Gestione unificata dei dati

AMF

Funzione di accesso e mobilità

PDU

Protocol Data Unit

Perché personalizzare le query per risolvere i problemi relativi al flusso di chiamate SMF?

Sebbene i dashboard integrati forniscano ottimi grafici relativi agli indicatori KPI e alle statistiche sullo stato dei nodi importanti, per sfruttare appieno il potenziale delle query PromQL e di grafana per risolvere i problemi relativi a scenari regolari, le query personalizzate svolgono un ruolo importante. Le query e i grafici promql personalizzati offrono maggiore versatilità e praticità per isolare un errore specifico.

Vantaggi dei dashboard integrati:

- Grafana fornisce un'interfaccia grafica di facile utilizzo per sfogliare le statistiche SMF.

- Sono disponibili dashboard Grafana incorporati per controllare la maggior parte degli indicatori KPI e delle statistiche.

Esempio:

Dashboard 5G SMF

- Frequenza errori/operazioni riuscite di creazione PDU 5G

- Frequenza errori/operazioni riuscite creazione PDN 4G

- Frequenza operazioni riuscite per procedura

- Percentuale di causa di errore per procedura.

- Percentuale motivo disconnessione.

- Richiesta HTTP e percentuale della causa della risposta corrispondente.

Per ulteriori informazioni sulla risoluzione dei problemi:

- Il pannello di controllo e i pannelli disponibili sono per lo più costituiti da percentuali e indicatori KPI. Mentre si indaga ulteriormente, potrebbe essere necessario esaminare i dettagli granulari per identificare lo scenario e il messaggio particolare che ha attivato questo errore.

- Le interrogazioni personalizzate che utilizzano espressioni regolari specifiche contribuiscono a correlare queste statistiche e a isolare il trigger.

- Queste query possono essere utilizzate per tracciare grafici in Grafana SMF o in Grafana offline con il dump delle metriche del pacchetto tac-debug.

- È possibile utilizzare l'intervallo di metriche associato ai diversi servizi e filtrarlo tramite coppie chiave/valore etichetta per risolvere i problemi dello scenario specifico.

Grafana e Prometeo

Grafana

"Grafana è un software di visualizzazione e analisi open source. Consente di eseguire query, visualizzare, avvisare ed esplorare le metriche, indipendentemente dalla posizione in cui sono memorizzate".

Cisco SMF utilizza grafana incorporata per tracciare i dati statistici in tempo reale dai contenitori delle applicazioni.

Prometeo

Prometheus fornisce un modello di dati multidimensionale con dati delle serie temporali identificati da coppie nome metrica e chiave/valore e un linguaggio di query flessibile denominato PromQL per accedere a questi dati.

Prometheus viene utilizzato per raccogliere statistiche/contatori dai microservizi.

Metriche: identificatori delle statistiche delle serie temporali.

Etichette: le metriche sono costituite da Etichette. Quali sono fondamentalmente le coppie chiave-valore? Le combinazioni di etichette per una particolare metrica identificano una particolare istanza dei dati della serie temporale

Esempio:

La metrica "smf_service_stats" evidenziata in verde presenta molte etichette, evidenziate in giallo.

Utilizzando queste coppie chiave/valore di etichetta, è possibile selezionare una particolare serie di dati.

Query PromQL

Prometheus fornisce un linguaggio di query funzionale chiamato PromQL. Le funzioni incorporate sono disponibili in PromQl (ad es. Sum(), by(), count() e così via consentono di selezionare dati di serie temporali particolari in formato grafico o tabulare.

Esempio:

sum(smf_service_stats{status="success"}) by (procedure_type)

In questo esempio vengono selezionati i dati dalla metrica smf_service_stats in base a procedure_type dove status = "success"

somma (calcola la somma sulle dimensioni)

by(Raggruppa l'output in base alle etichette)

I filtri possono essere utilizzati all'interno della somma utilizzando coppie chiave/valore Label per filtrare ulteriormente i grafici.

Esempio 1:

sum(smf_disconnect_stats{namespace="smf-data",reason=~"disc_eutra.*"})by(reason, rat_type)

In questo caso è selezionato lo spazio dei nomi smf-data e, come motivo, deve essere preso in considerazione tutto il motivo di disconnessione a partire da disk_eutra (cioè motivi di disconnessione 4G).

Esempio 2:

sum(smf_restep_http_msg{namespace="smf-data", api_name=~"sdm_.*"}) by(api_name,message_direction,response_status,response_cause)

Questa query traccia i messaggi di sottoscrizione SMF - UDM sdm con la causa della risposta.

Come creare un dashboard e un pannello?

Per aggiungere un nuovo dashboard.

Passaggio 1. Passare a Crea > Dashboard, come mostrato in questa immagine.

Per aggiungere Nuovo pannello - Aggiungi query.

Passaggio 2. Passare all'opzione Aggiungi pannello nella parte superiore per aggiungere un nuovo pannello.

Passaggio 3. Selezionare il pulsante Aggiungi query.

Selezionare Tipo di query - Prometeo ad alta risoluzione.

Passaggio 4. Selezionare l'opzione Prometeo ad alta risoluzione nell'elenco a discesa Query.

Passaggio 5. Aggiungere quindi la query promql nella casella specificata.

Passaggio 6. Salvare il pannello.

Esempio: Utilizzare query e grafici personalizzati per risolvere i problemi

Errore di definizione della sessione PDU - Risposta N1N2 non riuscita

Passaggio 1. Osservazione Dip KPI e identificazione del problema di creazione della sessione PDU.

Query: sum by (procedure_type, pdu_type, status, reason) (smf_service_stats{namespace="smf",procedure_type="pdu_sess_create"})

Passaggio 2.  La causa dell'errore è "n1n2_transfer_failure_rsp_code". Esaminiamo i motivi della disconnessione:

Query: sum(smf_disconnect_stats{namespace=”smf"}) by (reason)

Passaggio 3. Il motivo della disconnessione "disk_pdusetup_n1n2_transfer_rsp_failure" indica una risposta negativa dal peer AMF. Poiché l'interazione SMF-AMF avviene tramite un'interfaccia basata su servizi HTTP, è necessario esaminare ulteriormente gli stati HTTP (metrica: smf_restep_http_msg

Le statistiche HTTP indicano che durante l'errore SMF ha ricevuto il codice di stato HTTP 401 - Non autorizzato da AMF

Query: sum(smf_restep_http_msg{namespace="smf"}) by(api_name,message_direction,response_status)

Metriche importanti per la risoluzione dei problemi:

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

Ulteriori informazioni sulle metriche SMF:

Come dimostrato in questi esempi, è possibile tracciare i propri grafici personalizzati come e quando necessario per lo scenario di errore specifico per correlare messaggi diversi e isolare il fallimento. Tali query possono essere eseguite anche nei sistemi locali dopo il montaggio dei dati di metrica da Tac_debug_pkg su grafana locale.