Einführung
In diesem Dokument wird beschrieben, wie Sie mithilfe von Grafana/Prometheus in Cisco SMF benutzerdefinierte Abfragen erstellen, um Probleme im Zusammenhang mit dem Anrufablauf zu beheben.
Abkürzungen
SMF |
Sitzungsverwaltungsfunktion |
UDM |
Einheitliches Datenmanagement |
AMF |
Zugriffs- und Mobilitätsfunktion |
PDU |
Protokolldateneinheit |
Warum können Abfragen zum Beheben von Problemen mit dem SMF-Anrufablauf angepasst werden?
Während die integrierten Dashboards hervorragende Diagramme zu wichtigen KPIs und Knotenstatusstatistiken liefern, um das volle Potenzial von PromQL-Abfragen und Pfropfen für die Fehlerbehebung in regulären Problemszenarien zu nutzen, spielen benutzerdefinierte Abfragen eine wichtige Rolle. Benutzerdefinierte Anfragen und Diagramme erhöhen die Flexibilität und Benutzerfreundlichkeit, um einen bestimmten Fehler zu isolieren.
Vorteile integrierter Dashboards:
- Grafana bietet eine einfach zu bedienende und grafische Oberfläche zum Durchsuchen von SMF Statistiken.
- Es stehen integrierte Graphana-Dashboards zur Verfügung, um die meisten KPIs und Statistiken zu überprüfen.
Beispiel:
5G SMF-Dashboard
- 5G PDU für Ausfallrate/Erfolgsrate
- 4G PDN Create Failure/Success Rate
- Erfolgsrate pro Verfahren
- Prozentanteil der Fehlerursache pro Verfahren.
- Prozentanteil des Trennungsgrunds.
- Prozentanteil der HTTP-Anforderung und der zugehörigen Antwortursache.
So beheben Sie weitere Probleme:
- Das verfügbare Dashboard und die zugehörigen Panels beinhalten in erster Linie Prozentsätze und Kennzahlen. Während Sie weiter untersuchen, müssen Sie möglicherweise detaillierte Details prüfen, um das jeweilige Szenario und die Meldung zu identifizieren, die diesen Fehler ausgelöst haben.
- Die angepassten Abfragen mit spezifischen regulären Ausdrücken sollen dabei helfen, diese Statistiken zu korrelieren und den Trigger zu isolieren.
- Diese Abfragen können verwendet werden, um Graphen in SMF Pfropfana oder in der Offline-Pfropfe mit den Kennzahlen-Dump aus dem tac-debug Paket zu plotten.
- Zur Fehlerbehebung für das jeweilige Szenario kann der Bereich von Kennzahlen für verschiedene Services verwendet und auch über Label-Schlüssel-Wert-Paare gefiltert werden.
Grafana und Prometheus
Grafana
"Grafana ist eine Open Source Visualisierungs- und Analysesoftware. Sie können Ihre Kennzahlen abfragen, visualisieren, warnen und erkunden, egal wo sie gespeichert sind."
Cisco SMF nutzt die integrierte Pfropfung, um die Echtzeitdaten von Anwendungscontainern zu zeichnen.
Prometheus
Prometheus bietet ein mehrdimensionales Datenmodell mit Zeitreihendaten, die durch metrische Name- und Schlüssel/Wert-Paare identifiziert werden, sowie eine flexible Abfragesprache mit dem Namen PromQL, um auf diese Daten zuzugreifen.
Prometheus wird zum Sammeln von Statistiken/Zählern aus den Mikrodiensten verwendet.
Metrics (Metriken): Sie sind die Bezeichner der Statistiken der Zeitreihen.
Labels - Metriken bestehen aus Labels. Was sind im Grunde die Schlüsselwert-Paare? Die Labelkombinationen für eine bestimmte Metrik identifizieren eine bestimmte Instanz von Zeitreihendaten.
Beispiel:
Die Metrik "smf_service_stats" ist grün hervorgehoben und weist viele Bezeichnungen auf, die gelb hervorgehoben sind.
Mithilfe dieser Schlüssel-Wert-Paare können Sie eine bestimmte Datenreihe auswählen.
PromQL-Abfrage
Prometheus stellt eine funktionale Abfragesprache mit dem Namen PromQL bereit. Die integrierten Funktionen sind in PromQl (z.B. Sum(), by(), count() etc) ermöglicht es uns, bestimmte Zeitreihendaten in grafischer oder tabellarischer Form auszuwählen.
Beispiel:
sum(smf_service_stats{status="success"}) by (procedure_type)
In diesem Beispiel werden Daten aus der Metrik smf_service_stats nach Procedure_type ausgewählt, wobei Status = "Erfolg" lautet.
Summe (Summe über Dimensionen berechnen)
by(Gruppiert die Ausgabe nach Beschriftungen)
Zur weiteren Filterung der Diagramme können Filter innerhalb einer Summe mit Label-Schlüssel/Wert-Paaren verwendet werden.
Beispiel 1:
sum(smf_disconnect_stats{namespace="smf-data",reason=~"disc_eutra.*"})by(reason, rat_type)
Hier wird Namespace smf-data ausgewählt, und als Grund werden alle Disconnect-Gründe, die mit disk_eutra beginnen (d.h. 4G-Disconnect-Gründe) berücksichtigt.
Beispiel 2:
sum(smf_restep_http_msg{namespace="smf-data", api_name=~"sdm_.*"}) by(api_name,message_direction,response_status,response_cause)
Diese Abfrage zeigt SMF - UDM sdm-Abonnementmeldungen mit der Antwortursache an.
Erstellen eines Dashboards und eines Bereichs
So fügen Sie ein neues Dashboard hinzu.
Schritt 1: Navigieren Sie zu Erstellen > Dashboard, wie in diesem Bild gezeigt.
So fügen Sie neue Anzeige hinzu: Abfrage hinzufügen.
Schritt 2: Navigieren Sie oben zur Option Add Panel (Bereich hinzufügen), um einen neuen Bereich hinzuzufügen.
Schritt 3: Wählen Sie die Schaltfläche Abfrage hinzufügen aus.
Wählen Sie Abfragetyp - Prometheus Hi-res aus.
Schritt 4: Wählen Sie in der Dropdown-Liste Abfrage die Option Prometheus HI-RES aus.
Schritt 5: Fügen Sie dann die Abfrage promql in das angegebene Feld ein.
Schritt 6: Speichern Sie den Bereich.
Beispiel: Verwenden der angepassten Abfrage und Diagramme zur Fehlerbehebung
Fehler bei PDU-Sitzungseinrichtung - N1N2-Antwortfehler
Schritt 1: KPI Dip Observation und Identifizieren der PDU-Sitzung verursacht Fehler.
Query: sum by (procedure_type, pdu_type, status, reason) (smf_service_stats{namespace="smf",procedure_type="pdu_sess_create"})
Schritt 2: Die Fehlerursache lautet "n1n2_transfer_failure_rsp_code". Die Gründe für die Trennung:
Query: sum(smf_disconnect_stats{namespace=”smf"}) by (reason)
Schritt 3: Der Disconnect-Grund "disk_pdusetup_n1n2_transfer_rsp_failure" gibt eine negative Antwort vom AMF-Peer an. Da die SMF-AMF-Interaktion über eine HTTP-Service-basierte Schnittstelle erfolgt, müssen HTTP-Statistiken genauer betrachtet werden (Metrik: smf_restep_http_msg)
Die HTTP-Statistiken zeigen an, dass SMF während des Ausfalls einen HTTP-Statuscode 401 erhalten hat - Unauthorized from AMF (Unautorisiert von AMF)
Query: sum(smf_restep_http_msg{namespace="smf"}) by(api_name,message_direction,response_status)
Wichtige Kennzahlen zur Fehlerbehebung:
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
Weitere Informationen zu SMF-Metriken:
Wie in diesen Beispielen gezeigt, kann man eigene benutzerdefinierte Diagramme nach Bedarf für das spezifische Fehlerszenario zeichnen, um verschiedene Meldungen zu korrelieren und den Fehler zu isolieren. Solche Abfragen können auch in lokalen Systemen ausgeführt werden, nachdem die metrischen Daten von Tac_debug_pkg auf der lokalen Pfropfanlage montiert wurden.