Assinantes VIP: Saúde dos Assinantes Monitorados
Assinantes VIP monitora uma lista escolhida de assinantes continuamente e informa, para cada um, se seu serviço está ativo: registrado no IMS, anexado ao EPC e acessível em seu endereço UE. A lista é gerenciada na página, por site, e cada verificação é exportada para o Prometheus, de modo que gráficos e alertas do Grafana sejam gerados exatamente sobre os assinantes que a equipe de operações escolheu.
O que é
Alguns assinantes são mais importantes do que a média: serviços de emergência, hospitais, o roteador do site de um cliente, os telefones IP de uma conta chave. Quando um deles perde o serviço, os gráficos da frota não se movem, e o primeiro relatório vem do cliente. Esta página transforma essa lista de nomes em uma verificação contínua.
Tudo funciona dentro do serviço OmniWeb. Não há exportador para instalar, nenhuma lista YAML no inventário de implantação e nenhuma necessidade de reimplantação para adicionar um nome.
Tipos de serviço
Um assinante é monitorado pelo que se espera que ele faça. O tipo decide a regra de saúde; as outras verificações ainda são mostradas, mas não decidem o veredicto.
| Tipo | Saudável quando | Uso típico |
|---|---|---|
| Voz + dados | Um S-CSCF está atribuído e um MME mantém o assinante | Um aparelho |
| Apenas dados | Um MME mantém o assinante | Um roteador, um dispositivo IoT, um sensor |
| Apenas voz | Um S-CSCF está atribuído | Uma conta VoIP sem SIM, um telefone IP |
Um assinante que está desativado no HSS, ou cujo HSS não pode ser alcançado, é considerado não saudável, independentemente de seu tipo.
Anexação ao EPC vem do MME. O poller pergunta a cada MME do site sobre o contexto UE; o assinante está anexado quando um deles o mantém em emm_registered. O HSS mantém last_seen_mme até que esse MME envie sua purga, muitas vezes dias após o UE ter saído, então o veredicto do HSS é mostrado ao lado da linha quando os dois discordam, e decide por conta própria apenas em um site sem MME no inventário. Registro IMS é o S-CSCF atribuído do HSS. Para uma entrada apenas de voz, o identificador pode ser o nome de assinatura IMS (o nome de usuário SIP) de uma conta que não tem SIM; o HSS é consultado por um assinante por esse valor primeiro, e depois por uma assinatura IMS desse nome.
Os PGW-Cs também são consultados, e suas sessões são comparadas com o que o MME diz que está ativo. Uma sessão em um PGW-C que o MME não aponta para aquele APN foi deixada para trás quando o bearer se moveu, e a linha diz isso. Essas sessões obsoletas não transportam tráfego; seus endereços nunca respondem a um ping.
Acessibilidade do UE
O contexto UE no MME também carrega o endereço de cada PDN que o UE mantém. O poller pega o endereço do APN internet, já que esse é o bearer que um ping prova, ou qualquer outro endereço que o UE tenha. A sessão ativa do PGW-C fornece isso quando nenhum MME pode ser consultado, e o registro do HSS apenas depois disso. O endereço é pingado, e a perda e o tempo de ida e volta são relatados ao lado do veredicto de saúde, como um smokeping faria.
O ping tem que vir de algum lugar que roteie para o pool de UEs. O host OAM geralmente não faz isso, então o painel Probing escolhe um host de sondagem do inventário do site: qualquer host em que a implantação execute o exportador blackbox (P-CSCF, PGW-C, SGW-C, o host de monitoramento). Este host OmniWeb pinga diretamente, para uma implantação onde o próprio OmniWeb tem a rota. Não pingar ignora completamente o teste. Até que um host de sondagem seja escolhido, o endereço UE é mostrado, mas não testado.
A acessibilidade nunca muda o veredicto de saúde. Um UE que descarta ICMP ainda está em serviço.
Usando a página
Assinantes VIP está na barra lateral sob Monitoramento. A lista pertence ao site selecionado; troque de site para ver outra lista.
- Monitorar um assinante: insira o IMSI (ou nome de usuário SIP para voz apenas), um rótulo que as pessoas reconhecerão em um alerta, o tipo de serviço e, quando o site tiver mais de um, o HSS a ser consultado. A entrada é verificada assim que é adicionada, então a linha retorna com um veredicto.
- Saúde é o veredicto para o tipo. IMS e EPC mostram o registro, com o nome do S-CSCF ou MME e há quanto tempo. Endereço UE mostra o endereço e o resultado do ping.
- Verificar agora executa uma verificação de um assinante sem esperar pela próxima sondagem.
- Pausar suspende uma entrada. Um assinante pausado é mantido, mostrado em tom mais claro, e excluído das métricas, para que uma interrupção conhecida não mantenha um alerta ativo.
- Abrir em… salta para o mesmo assinante na página que possui cada fato: o registro do HSS, o contexto UE do MME, a sessão do PGW-C, os registros SIP capturados e o Rastro de Chamadas por MSISDN.
- Editar altera qualquer campo de uma entrada: rótulo, identificador, tipo de serviço, HSS, notas, link do ticket e expiração.
- Link do ticket é uma URL http ou https, geralmente o ticket de suporte que solicitou a monitorização. A linha mostra isso como seu número de ticket (a última parte do endereço) e o abre em uma nova aba.
- Expira remove a entrada automaticamente naquele horário. Está vazio por padrão, o que monitora o assinante até que alguém o remova. Uma entrada expirada sai das métricas imediatamente e é excluída em cerca de dez segundos. O horário é definido e mostrado no próprio fuso horário do navegador.
- Histórico de registro (ícone de relógio, serviços de voz) lista o que o sniffer VoIPmonitor viu para o assinante na última hora, 6 horas, dia ou semana: cada mudança de estado de registro com o endereço UE, o sensor que a viu e a perna, além de explosões de REGISTER falhadas. As contagens somam as mudanças de estado e o distintivo indica se está registrado agora. Ele procura o assinante pelo identificador, depois pelo MSISDN quando o identificador não encontra nada.
- Parar de monitorar remove a entrada.
- Probing define o host de sondagem, quantos pings cada verificação envia, seu tempo limite e com que frequência o site é rechecado.
Ver a página requer acesso de leitura ao elemento HSS; adicionar, alterar e remover entradas, e mudar as configurações de sondagem, requerem acesso de gravação a ele. O acesso ao site se aplica como em qualquer outro lugar: um usuário restrito a um site vê apenas a lista desse site.
Grafana
A exposição mantém os nomes das métricas do exportador anterior por site, então os painéis Assinantes VIP e Assinantes IMS VIP, e o alerta Serviço de Assinante VIP Não Saudável, funcionam sem alterações. Dois rótulos são novos, customer e site, porque um OmniWeb pode monitorar vários sites.
| Métrica | Significado |
|---|---|
vip_subscriber_service_healthy | O veredicto para o tipo de serviço, 1 ou 0. Alerta sobre este. |
vip_subscriber_ims_registered | Um S-CSCF está atribuído. |
vip_subscriber_epc_registered | Um MME mantém o assinante. |
vip_subscriber_hss_reachable | O HSS respondeu. |
vip_subscriber_enabled | A conta está habilitada no HSS. |
vip_subscriber_ims_registration_age_seconds, vip_subscriber_epc_registration_age_seconds | Tempo desde o último registro ou Atualização de Localização; -1 quando nenhum. |
vip_subscriber_ue_ip_reachable, vip_subscriber_ping_loss_percent, vip_subscriber_ping_rtt_avg_ms, _min_ms, _max_ms, vip_subscriber_ping_packets_sent, _received | O resultado do ping. Presente apenas quando um host de sondagem está definido e o UE tem um endereço. |
vip_subscriber_info | Sempre 1; carrega o S-CSCF, MME, endereço UE, APN e qualquer erro como rótulos. |
vip_subscriber_last_check_timestamp_seconds | Quando a linha foi verificada pela última vez. |
Cada série carrega customer, site, hss, imsi, label, msisdn (do HSS) e type.
Scraping
GET /api/vip-subscribers/metrics retorna a exposição de texto do Prometheus. Ele nomeia assinantes, portanto não é acessível pela rede: o nginx admite apenas chamadores de loopback para esse caminho, e o Prometheus coleta o serviço OmniWeb no mesmo host.
- job_name: vip_subscribers
metrics_path: /api/vip-subscribers/metrics
static_configs:
- targets: ["127.0.0.1:5001"]
API
| Endpoint | Propósito |
|---|---|
GET /api/vip-subscribers/ | A lista do site selecionado, cada uma com sua última verificação. |
POST /api/vip-subscribers/ | Adiciona um; é verificado antes da resposta. |
PATCH /api/vip-subscribers/<id> | Altera qualquer campo: rótulo, identificador, tipo, HSS, notas, ticket_url, expires_at (null = nunca) ou a flag habilitada. |
DELETE /api/vip-subscribers/<id> | Remove um. |
POST /api/vip-subscribers/<id>/check | Verifica um agora. |
GET /api/vip-subscribers/options | As instâncias HSS do site, hosts de sondagem e configurações. |
GET, PUT /api/vip-subscribers/settings | As configurações de sondagem do site. |
GET /api/sip-trace/registrations/subscriber/<identity>?range=1h|6h|24h|7d | O histórico de registro que a página mostra. |
GET /api/vip-subscribers/metrics | Exposição do Prometheus, apenas loopback. |
O site viaja no cabeçalho X-Omniweb-Site, como para cada endpoint por site.