Configurar alertas de trânsito

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Use um alerta de tráfego para gerar uma notificação quando o tráfego de um ambiente, proxy ou região mudar em uma porcentagem especificada ao longo de um período.

Você definiu o período como:

  • 1 hora
  • 1 dia
  • 7 dias
  • 15 dias (somente API)
  • 30 dias (somente API)

O alerta compara o tráfego do período atual com o do período anterior. Por exemplo, você especifica um período de uma hora. Em seguida, o alerta compara o tráfego da hora mais recente com o da hora anterior para calcular a alteração percentual no tráfego:

percentChange = ((currentTraffic - previousTraffic) / previousTraffic) * 100

Um valor positivo significa que o tráfego aumentou, e um valor negativo significa que o tráfego diminuiu.

Em seguida, defina o limite que aciona um alerta de tráfego como um aumento ou redução percentual no tráfego da API para o período especificado.

Antes de definir essa porcentagem, verifique se ela está alinhada com seus padrões de tráfego normais. Por exemplo, se o tráfego da API normalmente oscila ao longo do dia com picos de tráfego por hora de até 100% em determinados horários de pico, esses picos são normais e não acionam um alerta. No entanto, se você configurar um alerta para ser acionado para qualquer aumento de 50% no tráfego por hora, receberá alertas desnecessários para o tráfego normal.

Para saber mais, consulte Configurar alertas e notificações.

Adicionar alertas e notificações de trânsito

Para adicionar alertas e notificações de trânsito:
  1. Clique em Analisar > Regras de alerta na interface do usuário do Edge.
  2. Clique em +Alerta.
  3. Digite as seguintes informações gerais sobre o alerta:
    Campo Descrição
    Nome do alerta Nome do alerta. Use um nome que descreva o acionador e que seja significativo para você. O nome não pode ter mais de 128 caracteres.
    Descrição Descrição do alerta.
    Tipo de alerta Selecione Tráfego total. Consulte Sobre os tipos de alerta para saber mais.
    Ambiente Selecione o ambiente na lista suspensa.
    Status Alterne para ativar ou desativar o alerta.
  4. Defina o limite e a dimensão da condição que acionará o alerta.
    Campo de condição Descrição
    Limite

    Especifique para acionar o alerta quando o tráfego aumentar ou diminuir uma porcentagem específica em comparação com um intervalo de tempo anterior.

    Defina a porcentagem de aumentado por como um valor maior ou igual a 0%. Defina a porcentagem de diminuido em como um valor maior ou igual a 0% e menor ou igual a 100%.

    Você pode escolher um intervalo de tempo de:

    • 1 hora
    • 1 dia
    • Em uma semana
    Dimensão

    Clique em + Adicionar dimensão e especifique os detalhes da dimensão para os quais retornar resultados, incluindo o proxy e a região de API.

    Definir uma dimensão específica para:

    • Proxy: defina como um proxy específico ou como Todos os proxies. O Proxy não é compatível com valores Any. Em vez disso, adicione um alerta separado para cada proxy em que você tem interesse.
    • Região: defina como uma região específica ou como Todas as regiões. Region não é compatível com valores Any. Em vez disso, adicione um alerta separado para cada região em que você tem interesse.
  5. Clique em + Notificação para adicionar uma notificação de alerta.
    Detalhes da notificação Descrição
    Canal Selecione o canal de notificação que você quer usar e especifique o destino: Email, Slack, PagerDuty ou Webhook.
    Destino Especifique o destino com base no tipo de canal selecionado:
    • E-mail: endereço de e-mail, como joe@company.com
    • Slack: URL do canal do Slack, como https://hooks.slack.com/services/T00000000/B00000000/XXXXX
    • PagerDuty: código do PagerDuty, como o abcd1234efgh56789
    • Webhook: URL do webhook, como https://apigee.com/test-webhook

      Observação: é possível especificar apenas um destino por notificação. Para especificar vários destinos para o mesmo tipo de canal, adicione mais notificações.

  6. Para adicionar outras notificações, repita a etapa anterior.
  7. Se você adicionou uma notificação, configure os seguintes campos:
    Campo Descrição
    Playbook (Opcional) Campo de texto em formato livre para fornecer uma breve descrição das ações recomendadas para resolver os alertas quando eles forem disparados. Também é possível especificar um link para a wiki interna ou para a página da comunidade em que você vai consultar as práticas recomendadas. As informações neste campo serão incluídas na notificação. O conteúdo nesse campo não pode exceder 1.500 caracteres.
    Limitar Frequência de envio das notificações. Selecione um valor na lista suspensa.
  8. Clique em Salvar.

Conferir alertas no painel de eventos

Quando o Edge detecta uma condição de alerta, ele a registra automaticamente no painel Eventos na IU do Edge. A lista de eventos exibida no painel "Eventos" inclui todos os alertas, fixos e certificados.

Para ver um alerta:

  1. Clique em Analisar > Eventos na IU do Edge. O novo painel "Eventos" é exibido:

  2. Filtre o painel "Eventos" por:

    • Ambiente
    • Região
    • Período
  3. Selecione uma linha no painel do evento para mostrar o Keystore que contém o certificado prestes a expirar para investigar melhor o alerta. Na página do Keystore, você pode fazer upload de um novo certificado e excluir o que vai expirar.

Usar as APIs de alerta com alertas de tráfego

A maioria das APIs usadas para criar e gerenciar alertas de tráfego é a mesma usada com outros tipos de alerta:

No entanto, algumas APIs têm mais prioridades usadas para oferecer suporte a alertas de anomalias. Veja abaixo alguns exemplos:

Criar ou atualizar um alerta de trânsito

Para criar ou atualizar um alerta de trânsito, use as mesmas APIs utilizadas para outros tipos de alerta. O corpo da chamada de API para criar ou atualizar um alerta de tráfego é o mesmo usado para outros alertas, com as seguintes alterações:

  • Adicione estas novas propriedades para especificar que o alerta é um alerta de trânsito:

    "alertType": "runtime"
    "alertSubType": "trafficfixed"

    Os valores padrão dessas propriedades são:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • No elemento dimensions da matriz conditions:
    • Defina os valores das propriedades org, env, proxy e region. Somente essas propriedades são compatíveis. É possível definir proxy e region como ALL.
    • Defina o valor da propriedade traffic como total.
  • Na matriz conditions:

    • A propriedade metrics precisa ter o valor de trafficChange.
    • A propriedade comparator precisa ser definida como increasedBy ou decreasedBy.
    • A propriedade threshold contém um valor positivo que especifica um aumento ou redução percentual no tráfego, em que um valor de 1.0 corresponde a 100%. Para increasedBy, o valor precisa ser maior ou igual a 0,0 (0%). Para decreasedBy, o valor precisa ser maior ou igual a 0,0 (0%) e menor ou igual a 1,0 (100%).
    • A propriedade durationSeconds precisa ser definida como um destes valores: 3600 (1 hora), 86400 (1 dia), 604800 (7 dias), 1296000 (15 dias), 2592000 (30 dias) .
  • A propriedade reportEnabled não é compatível com alertas de trânsito.
No exemplo a seguir, mostramos como configurar um alerta que é acionado quando o tráfego de uma organização e um ambiente aumenta 50% em um período de uma hora. Uma notificação é enviada ao código PagerDuty especificado quando o alerta é acionado.
curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
  -X POST \
  -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
     "organization":"myorg",
     "name":"My Traffic Alert",
     "description":"My traffic alert",
     "environment":"prod",
     "enabled":true,
     "alertType":"runtime",
     "alertSubType":"trafficfixed",
     "conditions":[
     {
        "description":"",
        "dimensions": {
            "org":"nyorg",
            "env":"prod",
            "proxy":"ALL",
            "region":"ALL",
            "traffic":"total"
        },
        "metric": "trafficChange",
        "threshold": 0.5,
        "durationSeconds": 3600,
        "comparator": "increasedBy"
     }
     ],
     "notifications":[{ "channel":"pagerduty", "destination":"abcd1234efgh56789"}],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
}'

Defina $ACCESS_TOKEN como token de acesso do OAuth 2.0, conforme descrito em Receber um token de acesso do OAuth 2.0. Para informações sobre as opções de cURL usadas neste exemplo, consulte Usar cURL.

Consulte Visualizar eventos para mais informações sobre como usar essa API.

Receber alertas de trânsito

Por padrão, a API Receber alertas retorna informações sobre todos os alertas definidos. Agora, essa API usa parâmetros de consulta para que você filtre os resultados:

  • enabled: se true especifica que são retornados apenas alertas ativados. O valor padrão é false.
  • alertType: especifica o tipo de alerta a ser retornado. Os valores permitidos são runtime, o padrão, e cert.
  • alertSubType: especifica o subtipo de alerta a ser retornado. O valor padrão não é definido, o que significa que todos os subtipos de alerta serão retornados.

Por exemplo, use a seguinte chamada de API para retornar apenas alertas de ativação para a organização chamada myorg:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'

A chamada a seguir retorna apenas alertas de trânsito, ativados e desativados:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=runtime&alertSubType=trafficfixed'

Defina $ACCESS_TOKEN como token de acesso do OAuth 2.0, conforme descrito em Receber um token de acesso do OAuth 2.0. Para informações sobre as opções de cURL usadas neste exemplo, consulte Usar cURL.