Criando Novos Alertas: HTTP Response Status

O alerta de tipo HTTP Response Status refere-se à quantidade retornada de um dado código de estado HTTP (em porcentagem ou número total).

Na etapa EVENT de criação do alerta, você define o que deve ser monitorado e com que frequência. Estas são as seções de cadastro:

O cadastro padrão de alertas é feito a partir de valores absolutos que, quando ultrapassados ou não ultrapassados em um determinado período (a depender da configuração), dispararão uma notificação.

Mas também é possível incluir alertas que disparam notificações quando os valores cadastrados são atingidos em relação a um período passado. Nesse caso, os valores não são absolutos, mas indicam uma referência de comparação entre performance atual e passada. Essa comparação é configurada no campo COMPARE WITH PAST PERIOD.

Overview

A primeira seção de cadastro é a OVERVIEW, que compreende estas informações iniciais a serem completadas:

  • Name: nome para ajudar a identificar o alerta (não precisa ser único).

  • Classification: classificação, que representa o nível de criticidade. Opções: Neutral (neutro), Success (sucesso), Warning (atenção) e Critical (crítico).

    A classificação não tem um significado pré-definido. O usuário pode definir a criticidade de cada ação como julgar melhor, seguindo suas regras de negócio.
  • Tags: campo para incluir tags (ou etiquetas) opcionais que podem ser utilizadas para encontrar alertas mais facilmente (tanto na tela Runtime Alerts quanto em Triggered Alerts). É possível incluir até 50 tags por alerta e cada uma pode ter até 70 caracteres.

    As etiquetas servem para categorizar os alertas seguindo os rótulos que fizerem sentido para o seu negócio. Por exemplo, você pode adicionar etiquetas para identificar APIs por unidade de negócio, para distinguir ambientes de desenvolvimento ou testes relacionados ao monitoramento, ou mesmo para apontar os desenvolvedores responsáveis pelos alertas. A ideia é pensar em categorias úteis para que depois você encontre os alertas que precisar mais rapidamente!
  • Notification Type: tipo de notificação. Opções: Total Calls, Availability, Latency e HTTP Response Status.

Após escolher o tipo, as seções restantes de cadastro serão exibidas.

runtime alerts event overview
Campos da seção "Overview"

Event Details

Os campos da seção EVENT DETAILS compreendem as informações centrais do evento a ser monitorado. Aqui, você deve informar o recurso de API e a operação que quer checar e os valores de referência que farão disparar a notificação.

Para manter o monitoramento o mais focado possível, e assim conseguir visualizar os pontos de atenção, os alertas são configurados a nível de operação. Mas lembre-se que você pode criar alertas para todas as operações que necessitar (bem como para quantos recursos de uma API quiser).

Estes são os campos:

  • API Name: campo para inserir o nome da API que se deseja monitorar, com função autocompletar a partir das suas APIs na Plataforma da Sensedia.

  • Environment: ambiente em que a API escolhida está implantada.

  • Resource: recurso da API a ser monitorado.

  • Operation: operação a ser monitorada para o recurso escolhido.

  • returned <Operator> <Quantity> <Unit> with <Response Status> over the last <Period> <Unit>: campo para configuração do número total ou porcentagem de retornos de um determinado código de estado HTTP por período a serem considerados para o alerta. Ele é composto por:

    • Operator: qualifica o valor inserido com as opções mais de (more than) ou menos de (less than).

    • Quantity: valor de quantidade total ou porcentagem de respostas cuja ultrapassagem (ou não ultrapassagem, vide o operador escolhido no item anterior) disparará o alerta.

    • Unit: unidade selecionável do valor anterior. Opções: Percent (porcentagem) ou Calls (número de chamadas).

      Se a unidade escolhida for porcentagem, uma nova seção se abrirá abaixo de EVENT DETAILS: MINIMUM REQUEST AMOUNT TO TRIGGER ACTIONS.
    • Response Status: código HTTP que deverá ser considerado. É possível incluir um código específico (ex.: 504) ou família, utilizando xx (ex.: 5xx).

    • Period / Unit: campos que compõem o período de tempo a ser considerado para a contabilização do valor inserido. Em Period, incluir o número e em Unit a unidade de tempo (opções: minutos e horas).

      Tempo máximo que pode ser configurado: 24 horas (ou 1440 minutos).
Quando habilitado, o botão ONLY DEPLOYED REVISIONS mostra apenas os recursos das revisões de APIs implantadas.
runtime event details http
Campos da seção "Event Details"

Minimum Request Amount To Trigger Actions

Se a unidade escolhida for porcentagem, uma nova seção se abrirá abaixo de EVENT DETAILS. Na seção MINIMUM REQUEST AMOUNT TO TRIGGER ACTIONS você pode incluir, opcionalmente, uma quantidade mínima de chamadas com erro para que o alerta seja disparado. Nesse caso, o alerta só será disparado se a porcentagem e o número mínimo de requisições respondidas com erro tiverem sido atingidos.

runtime min
Campo para configuração de número mínimo de chamadas

Compare with Past Period (comparando com tempo passado)

A seção 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 EVENT DETAILS não dispararão uma notificação quando atingidos de forma absoluta, mas sim quando atingidos em relação a uma performance passada.

Exemplo

Imagine um alerta de total de chamadas (Total Calls) que envia uma notificação quando há mais de 100 requisições utilizando uma dada operação a um dado recurso por um período de um minuto. Se não habilitarmos a comparação com um período passado, a notificação será enviada sempre que mais de 100 requisições em um minuto forem feitas.

Entretanto, se configurarmos uma comparação com o mesmo período na semana passada, a notificação só será enviada quando foram contabilizadas mais de 100 requisições por minuto em relação ao mesmo período na semana passada.

Isso significa que, se forem contabilizadas 120 requisições em um dado minuto, mas no mesmo período da semana anterior haviam sido contabilizadas 80 requisições por minuto, não haverá disparo de notificação, pois a comparação de requisições revela 40 requisições a mais, menor que o valor de referência configurado (que é de 100 requisições).

compare with

três opções disponíveis de período para comparação, nesta ordem:

  • ú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);

  • mesmo período no dia anterior; e

  • mesmo período na semana anterior.

Silent Interval (silenciando uma notificação temporariamente)

É 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 aqui sobre 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).
silent interval

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.

Um exemplo para esclarecer esse funcionamento:

Imagine que você estabeleça um período de silêncio de 4 horas para um alerta que envia uma notificação quando mais de 20% das requisições a uma dada API retornarem um status HTTP de erro. Durante 4 horas, seu alerta não gerará notificações. Imagine que, passadas 5 horas, o campo SILENT INTERVAL continue habilitado e aconteça de 30% das requisições obterem status de erro. Nesse caso, uma notificação será enviada e essa notificação desencadeará um novo período de silêncio de 4 horas (a partir desta última notificação).

Schedule (programando a checagem de estado)

A seção SCHEDULE define a frequência de checagem de estado para geração dos alertas. Ela contém duas opções:

  • Pre-defined (pré-definida). Nesse caso, completar o campo Check every <Period> com a frequência desejada. Opções: 1 minuto; 5, 10 ou 30 minutos; 1 hora; ou todos os dias às 00h.
    schedule pre defined

  • Cron Expression. Nesse caso, uma expressão de agendamento do tipo Cron (ver quadro abaixo) deve ser inserida no campo Expression.
    schedule cron

Uma Cron Expression é uma string que define um agendamento periódico seguindo um formato específico. O campo Cron Expression aceita agendamentos compostos por cinco campos:

<minuto> <hora> <dia do mês> <mês> <dia da semana>

Para completar os campos, podem ser usados números e alguns caracteres especiais:

  • * significa "todos";

  • ? significa "qualquer" e pode ser utilizado em mês e dia de semana;

  • L significa "último" e pode ser utilizado em mês e dia de semana;

  • três letras iniciais de dias de semana em inglês (como MON e TUE);

  • , e - indicam cortes (o primeiro considera só os pontos indicados e o segundo considera todo o intervalo entre eles).

Alguns exemplos:

30 10 ? * *: checagem todos os dias às 10:30 da manhã.
0 14 ? * MON-FRI: checagem de segunda a sexta, às 14:00.
0 14 ? * MON,FRI: checagem às 14:00, somente às segundas e às sextas.
0 8 * JUN ?: checagem às 8:00 da manhã em todos os dias do mês de junho.
10 17 L * ?: checagem às 17:10 no último dia de cada mês.

Depois de inserir todos os dados, o botão NEXT será habilitado e levará à próxima etapa.

As etapas restantes do processo de criação (ACTIONS e REVIEW) são as mesmas para todos os tipos de alerta.

Thanks for your feedback!
EDIT
How useful was this article to you?