Criando novas políticas de Runtime Alerts
Veja abaixo como configurar uma política para monitoramentos e notificações em tempo de execução.
Opções de instruções:
Leia também sobre como funciona o conceito de políticas e as definições e especificidades de cada campo dos passos acima.
Descrição detalhada
Clique nos links acima para ver os detalhes de cada campo nos passos para criar uma política.
1 POLICY
-
Policy info (informações da política)
-
Policy name: dê um nome para a política;
-
Classification: escolha uma classificação (Neutral (neutro), Success (sucesso), Warning (atenção) ou Critical (crítico)) e
-
Tag: se desejar, defina uma tag (etiqueta). As tags auxiliam na organização das suas políticas e podem ser utilizadas para encontrar alertas mais facilmente.
-
-
Monitored Event Details: (Detalhes do evento monitorado)
-
Type: defina o parâmetro que deseja monitorar, podendo ser:
-
Total Calls: quando a quantidade total de chamadas em um dado período é atingida (ou não, dependendo das configurações);
-
Availability: referente à disponibilidade de uma dada operação a um recurso.
Uma API é considerada disponível se não retorna um erro da família 5xx; -
Latency: latência média em dado período; ou
-
HTTP Response Status: código de estado retornado de uma chamada. Você pode informar o código específico (ex.:
504
) ou família (ex.:5xx
).
O código resposta deve estar entre 100 e 599 ou igual a1xx
,2xx
,3xx
,4xx
,5xx
.Você pode adicionar mais de uma família (ex.: 5xx, 4xx
) ou código (ex.: 401, 403).
Se uma família for informada, ela será considerada em detrimento de um código específico (ex.:5xx
será considerado em detrimento de504
).
-
-
Threshold: limiares do monitoramento. Escolha um operador de comparação (Comparison Operator), que pode ser "maior que" (more than) ou menor que (less than) e seu valor (Amount):
-
Total Calls: número total de chamadas;
-
Availability: valor em percentual da disponibilidade;
-
Latency: total em milissegundos;
-
HTTP Response Status: defina o valor e escolha se o valor é percentual ou quantidade de chamadas.
-
-
Period: intervalo de tempo a ser considerado para a contabilização do valor inserido.
-
Amount: defina um valor entre 1 a 1440 (para minutos) ou entre 1 a 2 (para horas);
-
Unit: escolha entre minutes (minutos) e hours (horas);
-
Past period: para habilitar este campo, selecione a caixa "Compare with past period" e informe o intervalo passado com o qual deseja comparar.
COMPARE WITH PAST PERIOD permite comparar os valores de referência cadastrados para monitoramento com períodos passados para o disparo de notificação. Nesse caso, os valores inseridos nos campos da seção MONITORED OPERATION não dispararão uma notificação quando atingidos de forma absoluta, mas sim quando atingidos em relação a uma performance passada.
Há três opções disponíveis de período para comparação, nesta ordem:
1. último <período> <unidade> (se o período configurado for 2 e a unidade referência for minutos, será últimos 2 minutos, se o período for 5 e a unidade for horas, últimas 5 horas);
2. mesmo período no dia anterior; e
3. mesmo período na semana anterior.
-
-
Minimum amount of requests to trigger actions (quantidade mínima de requisições para disparar as ações)
-
Especifique quantas chamadas com as configurações definidas precisam acontecer para que as ações (envio de alertas pelos meios escolhidos) sejam ativadas.
-
Campo válido apenas para os tipos Availability e Latency.
Para Total Calls e HTTP Response Status, a quantidade de chamadas é definida em Threshold, selecionando a unidade Calls (chamadas).
-
-
-
Schedule: (Agendamento)
Frequência de checagem do estado para a gerar notificações. Selecione:-
Predefined: para predefinir o período (1, 5, 10, ou 30 minutos; 1 hora; ou todos os dias às 00h) ou
-
Cron Expression: para inserir uma expressão de agendamento do tipo Cron (quadro a seguir).
-
Silent interval
É possível silenciar uma notificação por um tempo pré-determinado ao habilitar a opção SILENT INTERVAL. Isso é útil, por exemplo, quando você sabe que existe um problema de indisponibilidade com sua API e quer desabilitar uma notificação apenas temporariamente (veja como desabilitar alertas permanentemente).
Para configurar o tempo de silêncio, preencha o campo que aparecerá com o intervalo desejado, composto por um número e uma unidade (minutos ou horas).
O tempo máximo que pode ser configurado é de 24 horas (ou 1440 minutos).
Se a opção permanecer sempre ligada, o alerta será habilitado depois do intervalo configurado. Então, a próxima notificação que for disparada por um evento será enviada normalmente e acionará um novo período de silêncio.
-
2 MONITORED ITEMS
-
Adicionar API
Defina os itens que serão monitorados.
Selecione:-
API Name: uma API. Aqui serão listadas as APIs que estão disponível no catálogo da API Platform;
-
Environment: um ou mais ambientes disponíveis para a API selecionada;
-
Resources: um ou mais recursos;
-
Operation: uma ou mais operações.
Para Environment, Resources e Operation é possível também optar por:
Select All: para que todos os ambientes sejam considerados para monitoramento (fixo) ou
Any environment: para que todo e qualquer ambiente seja considerado para monitoramento (dinâmico).
Veja a diferença entre All e Any
-
-
Lista de políticas
Os itens adicionados para a política ficarão disponíveis nesta lista, com as colunas:-
API Name: nome da API;
-
Summary: quantidade de ambientes, recursos e operações selecionadas para monitoramento.
A quantidade não é exibida para itens com monitoramento dinâmico — eles são descritos como "any" (qualquer).
Itens com monitoramento fixo são apresentados com o número que representa a quantidade total disponível (do ambiente, recurso ou operação) no momento da criação da política. -
Actions: ações de editar ou deletar o item.
-
3 ACTIONS
A ação de enviar uma notificação pode ser configurada e personalizada nesta etapa da configuração.
Siga os passos abaixo para configurar uma ação. Clique nos links para mais detalhes.
Quando esta ação é configurada, um e-mail de notificação é enviado sempre que algum evento que aciona um alerta acontece.
Siga os passos abaixo para configurar uma ação de envio por e-mail.
Depois de um destinatário ter sido incluído, ele receberá um e-mail para que autorize o recebimento das notificações. O link de confirmação contido no e-mail será válido por 24 horas após o envio.
Será enviado apenas 1 e-mail de notificação por política (e não por operação). |
Slack
Quando esta ação é configurada, uma notificação é enviada para um canal do Slack sempre que algum evento que aciona um alerta acontece.
Siga os passos abaixo para configurar uma ação de envio por Slack:
Microsoft Teams
Quando esta ação é configurada, uma notificação é enviada para o Microsoft Teams sempre que algum evento que aciona um alerta acontece.
Siga os passos abaixo para configurar uma ação de envio por Microsoft Teams
Webhook
Quando esta ação é configurada, sempre que algum evento que aciona um alerta acontece, uma requisição HTTP POST é enviada para o endpoint que você determinar.
Com esse alerta, você consegue acionar uma API específica. O payload dessa requisição incluirá os parâmetros monitorados do alerta e uma mensagem adicional (opcional).
Siga os passos abaixo para configurar um webhook:
Quando esta ação é configurada, sempre que algum evento que aciona um alerta acontece, uma mensagem é enviada por WhatsApp para um ou mais números.
Siga os passos abaixo para configurar uma ação de envio por WhatsApp:
Para utilizar o WhatsApp como meio de notificação, é necessário ativar o plano para seu ambiente. Entre em contato conosco para mais detalhes. |
4 REVIEW
Confira os detalhes e parâmetros da política.
Se precisar editar, volte aos passos anteriores, clicando na trilha de navegação (breadcrumble) no topo da página.
Ao terminar, clique em SAVE para salvar a política.
É necessário clicar em SAVE para que as configurações sejam salvas. |
A política criada fica na lista de políticas.
Funcionamento
Após uma política ter sido criada, o evento de monitoramento será executado conforme os parâmetros indicados para todos os itens (APIs/Operations) selecionados e, caso seja detectado que determinada API/operation se enquadra nesse evento, a notificação escolhida na política será acionada individualmente para cada API/operation.
Acompanhe um exemplo (por vídeo ou texto).
Criei uma política para ser executada a cada 5 minutos para as seguintes APIs/Operations (Monitored Items):
-
1. API Pedidos 1.0, Environment Production, Resource Pedidos, Operation GET/lista e GET/itens
-
2. API Delivery 1.0, Environment Any, Resource Any, Operation Any
-
3. API Tokens 1.0, Environment All, Resource Tokens, Operation All
Essa política vai monitorar se a quantidade de chamadas ultrapassa 10 chamadas com status code 200 nos últimos 5 minutos.
Imagine os seguintes cenários:
1. API Pedidos 1.0, Environment Production, Resource Pedidos, Operation GET /lista e GET /itens
Suponha que:
-
para a Operation GET/lista, a condição seja verdadeira, ou seja, ela teve mais que 10 chamadas com status code 200 nos últimos 5 minutos no momento da verificação e
-
para a Operation GET/itens, a condição seja falsa.
→ Então a notificação será enviada apenas para a operation GET/lista. Note que apenas o deployment da API no Environment Production será monitorado.
2. API Delivery 1.0, Environment Any, Resource Any, Operation Any
Suponha que:
-
para Operation (Any), alguma operação ultrapassou 10 chamadas com status code 200 nos últimos 5 minutos no momento da verificação
→ Então será disparada notificação para cada operation individualmente. Note que, como a verificação é realizada em qualquer (Any) Environment, as notificações serão enviadas individualmente também para cada Environment e Operation.
3. API Tokens 1.0, Environment All, Resource Tokens, Operation All
Suponha que:
-
houve alguma operação do Resource Tokens que ultrapassou 10 chamadas com status code 200 nos últimos 5 minutos no momento da verificação.
→ Então será disparada notificação para cada uma dessas operações que tiveram a condição verdadeira da política.
→ As operações desse recurso que não ultrapassaram 10 chamadas com status code 200 não serão incluídas nas notificações.
→ Com a seleção de "All" para ambientes e operações, serão considerados somente os ambientes e operações existentes no momento da criação ou edição da política. Se novos ambientes ou operações forem criados depois disso, eles não serão incluídos no monitoramento.
Por outro lado, ao escolher "Any" em algum critério da API (Environments, Resources, Operations), todas as opções dessa API serão consideradas no monitoramento, inclusive aquelas criadas após a criação ou edição da política. Veja mais detalhes em Configurações fixas ou dinâmicas.
Situações de exemplo
Condição: quantidade de chamadas ultrapassa 10 E status code 200 E últimos 5 minutos | ||
---|---|---|
Itens monitorados |
Condição verdadeira? |
Quantidade de notificações |
1. API Pedidos 1.0, Environment Production, Resource Pedidos, Operation GET /list e GET /items |
GET /list: Sim |
Apenas 1 para GET/list que está no ambiente de produção. Mesmo que esta operação exista em outro ambiente, ela não será monitorada. |
2. API Delivery 1.0, Environment Any, Resource Any, Operation Any |
Sim para qualquer operação |
Uma notificação por operação e por ambiente |
3. API Tokens 1.0, Environment All, Resource Tokens, Operation All |
Sim para todas as operações do Resource Token em todos os ambientes existentes no momento da criação da política |
Uma notificação por operação e por ambiente, para itens existentes no momento da criação da política |
Configurações fixas ou dinâmicas (all ou any)
As opções All e Any definem se a política é fixa (os parâmetros que disparam o alerta são sempre os mesmos que você configurou/editou) ou dinâmica (os parâmetros são atualizados automaticamente com a API).
-
All: ao selecionar todos (all) os ítens (em Environment, Resource e Operation) para serem monitorados por uma política, todos os itens da API selecionados no momento da criação ou edição da política serão considerados para o disparo do alerta. Itens criados depois dessa definição, não entrarão no monitoramento.
-
Any: selecionando qualquer (any) item (em Environment, Resource e Operation) para ser monitorado por uma política, todo e qualquer item da API será considerado para monitoramento, incluindo adições à API que ocorram após a definição da política.
Usar a opção Any concede maior dinamicidade ao monitoramento, pois será atualizado automaticamente quando novas operações forem adicionadas à API.
Já a opção All permite que você mantenha fixos os parâmetros do monitoramento tal como foi configurado inicialmente. Novas adições às APIs deverão ser configuradas manualmente para que sejam incluídas nos disparos de alertas.
Veja um exemplo de como essas opções funcionam em um cenário de monitoramento de uma API no vídeo (aos 02:00).
Ficam temporariamente indisponíveis com esta atualização:
|
Share your suggestions with us!
Click here and then [+ Submit idea]