목차

소개

약어

SMF 통화 흐름 문제를 해결하기 위해 쿼리를 사용자 지정하는 이유

그라파나와 프로메테우스

그라파나

프로메테우스

PromQL 쿼리

대시보드 및 패널을 만드는 방법

예:맞춤형 쿼리 및 그래프를 사용하여 문제 해결

소개

이 문서에서는 통화 흐름 관련 문제를 해결하기 위해 Cisco SMF에서 Grafana/Prometeus를 사용하여 맞춤형 쿼리를 만드는 방법에 대해 설명합니다.

약어

SMF

세션 관리 기능

UDM

통합 데이터 관리

AMF

액세스 및 모빌리티 기능

PDU

프로토콜 데이터 단위

SMF 통화 흐름 문제를 해결하기 위해 쿼리를 사용자 지정하는 이유

그러나 내장 대시보드는 중요한 KPI 및 노드 상태 통계와 관련하여 뛰어난 그래프를 제공하며, PromQL 쿼리 및 그라파나의 잠재력을 최대한 활용하여 일반적인 문제 시나리오를 해결하기 위해 맞춤형 쿼리가 중요한 역할을 합니다.맞춤형 promql 쿼리 및 그래프는 특정 장애를 격리하기 위한 다용성과 편리성을 더합니다.

내장 대시보드의 이점:

- Grafana는 사용하기 쉬운 그래픽 인터페이스를 제공하여 SMF 통계를 찾아볼 수 있습니다.

- 대부분의 KPI 및 통계를 확인하는 데 사용할 수 있는 인베디드 그라나 대시보드가 있습니다.

예:

5G SMF 대시보드

- 5G PDU 생성 실패/성공률

- 4G PDN 생성 실패/성공률

- 절차별 성공률

- 프로시저 단위 실패 원인 백분율입니다.

- 연결 끊기 사유 백분율입니다.

- HTTP 요청 및 해당 응답 원인 백분율입니다.

추가 문제 해결:

- 사용 가능한 대시보드와 패널은 대부분 백분율과 KPI에 대한 것입니다.추가 조사를 하는 동안, 이 실패를 트리거한 특정 시나리오 및 메시지를 식별하기 위해 세부적인 세부 사항을 확인해야 할 수도 있습니다.

- 특정 정규식을 사용하는 사용자 지정 쿼리는 이러한 통계의 상관 관계를 분석하고 트리거를 격리하는 데 도움이 됩니다.

- 이러한 쿼리는 SMF 그라플라나에서 또는 tac-debug 패키지의 메트릭 덤프를 사용하여 오프라인 그라플라나에서 그래프를 플롯하는 데 사용할 수 있습니다.

- 다양한 서비스와 연관된 메트릭의 범위를 사용할 수 있으며 특정 시나리오를 해결하기 위해 레이블 키/값 쌍을 통해 필터링할 수도 있습니다.

그라파나와 프로메테우스

그라파나

"Grafana는 오픈 소스 시각화 및 분석 소프트웨어입니다.저장 위치에 관계없이 메트릭을 쿼리, 시각화, 알림 및 탐색할 수 있습니다."

Cisco SMF는 내장 그라파나를 사용하여 애플리케이션 컨테이너에서 실시간 통계 데이터를 플롯합니다.

프로메테우스

프로메테우스는 메트릭 이름 및 키/값 쌍으로 식별되는 시계열 데이터와 이러한 데이터에 액세스하기 위해 PromQL이라는 유연한 쿼리 언어가 포함된 다차원 데이터 모델을 제공합니다.

프로메테우스는 마이크로서비스에서 통계/카운터를 수집하는 데 사용됩니다.

Metrics(메트릭) - 시계열 통계의 식별자입니다.

레이블 - 메트릭은 레이블로 구성됩니다.기본적으로 키-값 쌍은 무엇입니까?특정 측정 단위에 대한 레이블 조합은 시계열 데이터의 특정 인스턴스를 식별합니다

예:

녹색으로 강조 표시된 "smf_service_stats" 메트릭에는 많은 레이블이 있으며 노란색으로 강조 표시됩니다.

이러한 레이블 키/값 쌍을 사용하여 특정 데이터 시리즈를 선택할 수 있습니다.

PromQL 쿼리

프로메테우스는 PromQL이라는 기능 쿼리 언어를 제공합니다.내장 함수는 PromQl(예:Sum(), by(), count() 등을 사용하면 그래픽 또는 표 형식으로 특정 시계열 데이터를 선택할 수 있습니다.

예:

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

이 예에서는 status = "success"인 procedure_type별로 smf_service_stats 메트릭에서 데이터를 선택합니다.

합계(차원의 합계 계산)

by(레이블을 기준으로 출력 그룹화)

필터는 Label 키/값 쌍을 사용하여 그래프를 추가로 필터링하기 위해 합계 내에서 사용할 수 있습니다.

예 1:

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

여기서 namespace smf-data를 선택했으므로 disk_eutra로 시작하는 모든 연결 끊기 사유(예: 4G 연결 끊기 이유)를 고려해야 합니다.

예 2:

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

이 쿼리는 응답 원인을 사용하여 SMF - UDM sdm-subscription 메시지를 플롯합니다.

대시보드 및 패널을 만드는 방법

새 대시보드를 추가하려면 다음을 수행합니다.

1단계. 이 이미지에 표시된 대로 Create(생성) > Dashboard(대시보드)로 이동합니다.

새 패널- 쿼리 추가를 참조하십시오.

2단계. 맨 위에서 Add Panel(패널 추가) 옵션으로 이동하여 새 패널을 추가합니다.

3단계. 질의 추가 버튼을 선택합니다.

Query Type- Prometheus hi-res를 선택합니다.

4단계. [쿼리] 드롭다운 목록에서 Prometheus hi-res 옵션을 선택합니다.

5단계. 그런 다음 지정된 상자에 promql 쿼리를 추가합니다.

6단계. 패널을 저장합니다.

예:맞춤형 쿼리 및 그래프를 사용하여 문제 해결

PDU 세션 설정 실패 - N1N2 응답 실패

1단계. KPI Dip Observation(KPI 딥 관찰) 및 PDU 세션 생성 실패를 식별합니다.

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

2단계.  실패 원인은 "n1n2_transfer_failure_rsp_code"입니다.연결 끊김 이유를 살펴보겠습니다.

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

3단계. "disk_pdusetup_n1n2_transfer_rsp_failure" 연결 해제 사유는 AMF 피어의 부정적인 응답을 나타냅니다.SMF-AMF 상호 작용이 HTTP 서비스 기반 인터페이스를 통해 이루어지므로 HTTP Stats를 자세히 살펴보아야 합니다(메트릭:smf_restep_http_msg

HTTP 통계는 Failure SMF에서 HTTP 상태 코드 401 - Unauthorized from AMF를 수신했음을 나타냅니다.

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

문제 해결을 위한 중요 메트릭:

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

SMF 메트릭스에 대한 추가 정보:

이 예에서 보여주는 것처럼, 특정 실패 시나리오에서 서로 다른 메시지의 상관관계를 분석하고 장애를 격리하기 위해 필요한 경우 자체 맞춤형 그래프를 플롯할 수 있습니다.이러한 쿼리는 로컬 시스템뿐만 아니라 Tac_debug_pkg의 메트릭 데이터가 로컬 그라나다에 마운트된 후에도 실행할 수 있습니다.