Configurar alertas de trânsito

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X. info

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ê define o período como:

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

O alerta funciona comparando 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 mudança percentual no tráfego:

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

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

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

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

Para mais informações sobre alertas, 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 mais informações.
    Ambiente Selecione o ambiente na lista suspensa.
    Status Opção para ativar ou desativar a política.
  4. Defina o limite e a dimensão para a condição que vai acionar o alerta.
    Campo de condição Descrição
    Limite

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

    Defina a porcentagem aumentada em como um valor maior ou igual a 0%. Defina a porcentagem diminuída em com um valor maior ou igual a 0% e menor ou igual a 100%.

    É possível escolher um intervalo de tempo de:

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

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

    Definir uma dimensão específica como:

    • Proxy: defina como um proxy específico ou como Todos os proxies. Proxy não aceita o valor "Any". Em vez disso, adicione um alerta separado para cada proxy de seu interesse.
    • Região: defina como uma região específica ou Todas as regiões. A região não aceita o valor "Qualquer". Em vez disso, adicione um alerta separado para cada região de seu interesse.
  5. Clique em + Notificação para adicionar uma notificação de alerta.
    Detalhes da notificação Descrição
    Channel Selecione o canal de notificação que você quer usar e especifique o destino: E-mail, 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, defina os campos a seguir:
    Campo Descrição
    Manual (Opcional) Campo de texto 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 o wiki interno ou a página da comunidade em que você indica 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.
    Throttle Frequência de envio das notificações. Selecione um valor na lista suspensa.
  8. Clique em Salvar.

Ver alertas no painel "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, tanto fixos quanto de certificado.

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 "Eventos" para mostrar o keystore que contém o certificado expirando e investigar mais o alerta. Na página "Keystore", é possível fazer upload de um novo certificado e excluir o certificado expirado.

Usar as APIs de alerta com alertas de trânsito

A maioria das APIs usadas para criar e gerenciar alertas de trânsito é igual àquelas usadas 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

Use as mesmas APIs para criar ou atualizar um alerta de trânsito como é feito atualmente para outros tipos de alerta. O corpo da chamada de API para criar ou atualizar um alerta de trânsito é o mesmo usado para outros alertas, com as seguintes mudanças:

  • Adicione as novas propriedades a seguir para especificar que o 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 aceitas. Você pode definir proxy e region como ALL.
    • Defina o valor da propriedade traffic como total.
  • Na matriz conditions:

    • A propriedade metrics precisa ter o valor trafficChange.
    • A propriedade comparator precisa ser definida como increasedBy ou decreasedBy.
    • A propriedade threshold contém um valor positivo que especifica um aumento ou uma diminuição percentual no tráfego. 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 dos seguintes 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.
O exemplo a seguir mostra como configurar um alerta que é acionado quando o tráfego de uma organização e um ambiente aumenta em 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 (em inglês).

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

Receber alertas de trânsito

Por padrão, a API Get Alerts 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 retorna todos os subtipos de alerta.

Por exemplo, use a seguinte chamada de API para retornar apenas os alertas 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 (em inglês).