Introduction
Este documento descreve como usar o Grafana/Prometheus no Cisco SMF para criar consultas personalizadas a fim de solucionar problemas relacionados ao fluxo de chamadas.
Abreviaturas
SMF |
Função de gerenciamento de sessão |
UDM |
Gerenciamento de dados unificado |
AMF |
Função de acesso e mobilidade |
PDU |
Unidade de Dados de Protocolo |
Por que personalizar consultas para solucionar problemas de fluxo de chamadas SMF?
Embora os painéis incorporados forneçam excelentes gráficos com relação a KPIs importantes e estatísticas de integridade de nó, para usar todo o potencial das consultas PromQL e do grafana para solucionar problemas de cenários regulares, as consultas personalizadas desempenham um papel importante. As consultas e os gráficos personalizados adicionam mais versatilidade e conveniência para isolar uma falha específica.
Benefícios dos painéis incorporados:
- Grafana fornece uma interface gráfica e fácil de usar para navegar por estatísticas SMF.
- Há painéis de enxertia integrados disponíveis para verificar a maioria dos KPIs e estatísticas.
Exemplo:
Painel SMF 5G
- Taxa de falha/sucesso de criação de PDU 5G
- Taxa de falha/sucesso de criação de 4G PDN
- 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 solucionar mais problemas:
- O painel e os painéis disponíveis são principalmente sobre percentuais e KPIs. Embora você investigue mais a fundo, pode ser necessário examinar detalhes granulares para identificar o cenário e a mensagem específicos que dispararam essa falha.
- As consultas personalizadas que utilizem expressões regulares específicas devem contribuir para correlacionar essas estatísticas e isolar o acionador.
- Essas consultas podem ser usadas para plotar gráficos no enxerto SMF ou no enxerto off-line com o despejo 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 chave/valor de rótulo para solucionar problemas do cenário específico.
Grafana e Prometheus
Grafana
"Grafana é um software de análise e visualização de código aberto. Ele permite que você consulte, visualize, alerte e explore suas métricas, independentemente de onde estejam armazenadas."
O Cisco SMF usa o enxerto incorporado para traçar os dados de estatísticas em tempo real de contêineres de aplicativos.
Prometeu
Prometheus fornece um modelo de dados multidimensional com dados de séries cronológicas identificados por nome da métrica e pares chave/valor e uma linguagem de consulta flexível chamada PromQL para acessar esses dados.
O Prometheus é usado para coletar estatísticas/contadores dos microsserviços.
Métricas - São os identificadores das estatísticas das séries de tempo.
Rótulos- As métricas consistem em Rótulos. Quais são basicamente os pares chave-valor? As combinações de rótulos para uma determinada métrica identificam uma determinada instância dos dados das séries cronológicas
Exemplo:
A métrica "smf_service_stats" realçada em verde, tem muitos rótulos, que estão destacados em amarelo.
Usando esses pares chave/valor de rótulo, é possível selecionar uma série específica de dados.
Consulta PromQL
Prometeu fornece um idioma de consulta funcional chamado PromQL. As funções internas estão disponíveis em PromQl (por exemplo, Sum(), by(), count() etc.) nos permite selecionar dados de séries cronológicas 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 soma sobre 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 são selecionados os dados smf do espaço de nomes e, como razão, deve ser considerada toda a razão de desconexão começando com disk_eutra (ou seja, por razões de desconexão 4G).
Exemplo 2:
sum(smf_restep_http_msg{namespace="smf-data", api_name=~"sdm_.*"}) by(api_name,message_direction,response_status,response_cause)
Esta consulta deve programar mensagens de sdm-subscription SMF - UDM com a causa da resposta.
Como criar um painel e um painel?
Para adicionar um novo painel.
Etapa 1. Navegue até Create > Dashboard, como mostrado nesta imagem.
Para adicionar um novo painel - Adicionar consulta.
Etapa 2. Navegue até a opção Adicionar painel na parte superior para adicionar um novo painel.
Etapa 3. Selecione o botão Adicionar consulta.
Selecione 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 do prompt na caixa indicada.
Etapa 6. Salve o painel.
Exemplo: Usar a consulta personalizada e os gráficos para solucionar problemas
Falha no estabelecimento da sessão PDU - Falha na resposta N1N2
Etapa 1. Observação de Dip KPI e identifique 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". Vamos examinar 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 da AMF. Como a interação SMF-AMF é sobre a interface baseada em serviço HTTP, as estações HTTP precisam ser examinadas (métrica: smf_restep_http_msg)
As estatísticas HTTP indicam que durante a falha 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 de SMF:
Como demonstrado nesses exemplos, é possível traçar seus próprios gráficos personalizados conforme e quando necessário para o cenário de falha específica para correlacionar diferentes mensagens e isolar a falha. Tais consultas podem ser executadas em sistemas locais também depois que os dados métricos de Tac_debug_pkg são montados no enxerto local.