Introdução
Este documento descreve como usar Grafana/Prometheus no Cisco SMF para criar consultas personalizadas a fim de resolver problemas relacionados ao fluxo de chamadas.
Abreviaturas
| SMF |
Função de Gerenciamento de Sessão |
| UDM |
Gerenciamento unificado de dados |
| AMF |
Função de acesso e mobilidade |
| PDU |
Unidade de dados de protocolo |
Por que personalizar consultas para solucionar problemas de fluxo de chamada SMF?
Embora os painéis incorporados forneçam grandes gráficos com relação a KPIs importantes e estatísticas de integridade de nó, para usar todo o potencial das consultas do PromQL e do grafana para solucionar problemas de cenários de problemas regulares, as consultas personalizadas desempenham um papel importante. Consultas e gráficos proql personalizados adicionam mais versatilidade e conveniência para isolar uma falha específica.
Benefícios dos painéis integrados:
- Grafana fornece uma interface gráfica e fácil de usar para navegar estatísticas SMF.
- Há painéis de grafana incorporados disponíveis para verificar a maioria dos KPIs e estatísticas.
Exemplo:
Painel 5G SMF
- Taxa de Falha/Êxito de Criação de PDU 5G
- Taxa de Falha/Êxito de Criação de PDN 4G

- Taxa de Êxito por Procedimento

- Porcentagem de causa de falha por procedimento.
- Percentual do Motivo da Desconexão.
- Solicitação HTTP e percentual de causa de resposta correspondente.

Para fazer troubleshooting adicional:
- O painel e os painéis disponíveis tratam principalmente de porcentagens e KPIs. Enquanto você investiga mais, pode ser necessário examinar detalhes granulares para identificar o cenário específico e a mensagem que disparou essa falha.
- As consultas personalizadas que utilizem expressões regulares específicas ajudarão a correlacionar estas estatísticas e a isolar o fator desencadeador.
- Essas consultas podem ser usadas para plotar gráficos no grafana SMF ou no grafana off-line com o dump de métricas do pacote tac-debug.
- O intervalo de métricas associadas a diferentes serviços pode ser usado e também pode ser filtrado por pares de chave/valor de rótulo para solucionar problemas do cenário específico.
Grafana e Prometeu
Grafana
"O Grafana é um software de visualização e análise de código aberto. Ele permite consultar, visualizar, alertar e explorar suas métricas, independentemente de onde estejam armazenadas."
O Cisco SMF usa o grafana integrado para plotar os dados de estatísticas em tempo real dos contêineres de aplicativos.
Prometeu
O Prometheus fornece um modelo de dados multidimensional com dados de série temporal identificados por nome de métrica e pares chave/valor e uma linguagem de consulta flexível chamada PromQL para acessar esses dados.
Prometeu é usado para coletar estatísticas/contadores dos microsserviços.
Métricas- São os identificadores das estatísticas das séries cronológicas.
Rótulos - As métricas consistem em rótulos. Quais são basicamente os pares chave-valor? As combinações de labels para uma métrica específica identificam uma instância específica de dados de série de tempo
Exemplo: 
A métrica "smf_service_stats" destacada em verde tem vários rótulos, que estão destacados em amarelo.
Usando esses pares chave/valor do rótulo, pode-se selecionar uma série específica de dados.
Consulta PromQL
Prometheus fornece uma linguagem de consulta funcional chamada PromQL. As funções incorporadas estão disponíveis no PromQl (por exemplo, Sum(), by(), count() etc) nos permite selecionar dados de séries temporais específicos em um formato gráfico ou tabular.
Exemplo:
sum(smf_service_stats{status="success"}) by (procedure_type)
Este exemplo seleciona dados da métrica smf_service_stats por procedure_type onde status = "sucesso"
soma (calcular a soma sobre as dimensões)
by(Agrupa a saída por rótulos)
Os filtros podem ser usados dentro da soma usando pares de chave/valor de Rótulo para filtrar ainda mais os gráficos.
Exemplo 1:
sum(smf_disconnect_stats{namespace="smf-data",reason=~"disc_eutra.*"})by(reason, rat_type)
Aqui o namespace smf-data é selecionado e como razão, toda a razão de desconexão começando com disk_eutra (isto é, razões de desconexão 4G) deve ser considerada.

Exemplo 2:
sum(smf_restep_http_msg{namespace="smf-data", api_name=~"sdm_.*"}) by(api_name,message_direction,response_status,response_cause)
Essa consulta deve plotar mensagens SMF - UDM sdm-subscription com a causa da resposta.

Como criar um painel e um painel?
Para adicionar um novo painel.
Etapa 1. Navegue até Criar > Painel, conforme mostrado nesta imagem.

Para adicionar New Panel- Add Query.
Etapa 2. Navegue até a opção Add Panel na parte superior para adicionar um novo painel.
Etapa 3. Selecione o botão Add Query.

Selecione o tipo de consulta - Prometheus hi-res.
Etapa 4. Selecione a opção Prometheus hi-res na lista suspensa Consulta.
Etapa 5. Em seguida, adicione a consulta prompt na caixa fornecida.
Etapa 6. Salve o painel.

Exemplo: Use a consulta personalizada e os gráficos para solucionar problemas
Falha de Estabelecimento de Sessão de PDU - Falha de Resposta N1N2
Etapa 1. KPI Dip Observation e identificar a falha de criação da sessão de PDU.

Query: sum by (procedure_type, pdu_type, status, reason) (smf_service_stats{namespace="smf",procedure_type="pdu_sess_create"})
Etapa 2. A causa da falha é "n1n2_transfer_failure_rsp_code". Vejamos os motivos da desconexão:

Query: sum(smf_disconnect_stats{namespace=”smf"}) by (reason)
Etapa 3. O motivo da desconexão "disk_pdusetup_n1n2_transfer_rsp_failure" indica uma resposta negativa do peer AMF. Como a interação SMF-AMF é por interface baseada em serviço HTTP, as estatísticas HTTP precisam ser examinadas mais detalhadamente (métrica: smf_restep_http_msg)
As estatísticas HTTP indicam que, durante a falha, o SMF recebeu um código de status HTTP 401 - Não autorizado do AMF

Query: sum(smf_restep_http_msg{namespace="smf"}) by(api_name,message_direction,response_status)
Métricas importantes para solucionar problemas:
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
Mais informações sobre Métricas SMF:
Como demonstrado nesses exemplos, é possível plotar seus próprios gráficos personalizados conforme e quando necessário para o cenário de falha específico para correlacionar mensagens diferentes e isolar a falha. Tais consultas podem ser executadas em sistemas locais também depois que os dados de métrica de Tac_debug_pkg são montados em grafana local.