Skip to main content
A porta de gerenciamento carrega profundidades de fila, nomes de fornecedores, estado de binds e os controles que param um fornecedor. Ela é guardada por dois segredos compartilhados:

A divisão

Dessa forma um dashboard ou sistema de monitoramento pode manter o token de leitura sem também ser capaz de parar um fornecedor.
Eles precisam ser diferentes. Configurar ambos com o mesmo valor é tratado como se não houvesse separação — os controles desligam e o gateway loga o porquê.Deixar o token admin sem definir faz o mesmo, que é a direção segura: você perde os controles em vez de expô-los.

Um token não definido responde 404, não 401

Configuração ausente desabilita o endpoint em vez de deixá-lo aberto. Um token errado recebe o mesmo 404 em vez de um 401, então um chamador não pode dizer se há algo aqui para o qual valha descobrir um token.
Se seu dashboard reporta 404, cheque o token dos dois lados antes de assumir que o gateway está fora. Essa confusão é o custo de não vazar a existência do endpoint, e vale saber sobre ela antes de um incidente e não durante um.

Deliberadamente não está sob /secure

Esse prefixo é autenticado com credenciais de mensageria, que pertencem aos clientes. Profundidades de fila, nomes de fornecedores e estado de binds são de todo o gateway, então publicá-los ali daria a todo cliente que pode enviar um SMS uma visão do gateway inteiro. A porta de gerenciamento carrega seu próprio token, e uma credencial de mensageria não a abre.

Mantenha a porta fora da rede pública

Mantenha a 9000 numa rede admin e não a publique. O token é uma segunda linha, não a primeira.

Ausente não é zero

Esta regra atravessa todo campo em /ops/health, e lê-la errado produz conclusões erradas confiantes:
tps_measured é o que pega as pessoas. Zero é um valor real significando uma sessão conectada que não está enviando nada — que é um stall que vale alerta. Ausente significa que o gateway ainda não mediu, porque uma leitura de um contador cumulativo é um baseline e ainda não uma taxa.Um alerta que trata ausente como zero dispara a cada restart.

cdr.failed é dado de billing perdido

Um batch falho nunca é retentado e esses registros se foram. Não é transitório. Alerta em qualquer valor não-zero. Isto é receita que você não consegue faturar, e nada mais vai te dizer.

Uma busca por substring não é uma checagem de identidade

q=ACME no endpoint de sessões também retorna ACMEINTL. Qualquer coisa agindo em um resultado — desconectando os binds de um login, digamos — precisa comparar system_id exatamente em vez de confiar no match.

Relacionado

The management port

Cada endpoint e seu token.

Live health

Lendo o payload que esses tokens destravam.