Configurar alertas de expiração

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

Use um alerta de expiração de TLS para gerar uma notificação quando o certificado TLS em um ambiente estiver prestes a expirar.

Sobre certificados TLS

O Transport Layer Security (TLS) é a tecnologia de segurança padrão para estabelecer um link criptografado entre um servidor da Web e um cliente da Web, como um navegador ou um app. Um link criptografado garante que todos os dados transmitidos entre o servidor e o cliente permaneçam particulares.

Um certificado TLS é um arquivo digital que identifica uma entidade em uma transação TLS. O Edge usa um certificado TLS para configurar o TLS para:

  • Acesso aos seus proxies de API por clientes de API. Use hosts virtuais para configurar o TLS.
  • Acesso aos serviços de back-end pelo Edge. Use endpoints e servidores de destino no processador de mensagens de borda para configurar o TLS.

Um certificado TLS contém uma data de validade. Se um certificado TLS expirar, a conexão TLS falhará até que você atualize o certificado. Isso significa que todas as solicitações para a API vão falhar até que você atualize o certificado.

Sobre os alertas de expiração

Em vez de esperar que um certificado expire e que as solicitações feitas à API falhem, use um alerta de expiração para enviar uma notificação quando qualquer certificado TLS em um ambiente estiver prestes a expirar. Depois que o alerta é acionado, é possível atualizar o certificado para que seus clientes não vejam nenhuma interrupção no serviço.

Ao configurar o alerta, não especifique um certificado individual, mas um ambiente específico. O alerta é acionado quando qualquer certificado implantado está programado para expirar dentro do intervalo de tempo especificado.

É possível definir que o alerta de expiração ocorra:

  • 1 dia antes da expiração de um certificado
  • 14 dias antes da expiração de qualquer certificado
  • 30 dias antes da expiração do certificado
Para saber mais, consulte Configurar alertas e notificações.

Adicionar notificações e alertas de expiração

Para adicionar notificações e alertas de expiração:
  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 Validade do TLS. 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

    Configure o intervalo de tempo para os certificados que estão prestes a expirar. Você pode enviar um alerta quando um certificado estiver prestes a expirar:

    • 1 dia
    • 14 dias
    • 30 dias
    Dimensão As dimensões são fixadas com o valor Todos os certificados TLS correspondente a qualquer certificado TLS no ambiente.
  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 outras 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 expiração

A maioria das APIs usadas para criar e gerenciar alertas de expiração é a mesma usada com alertas fixos. As APIs de alerta abaixo funcionam da mesma forma para alertas fixos e de expiração:

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 expiração

Para criar ou atualizar um alerta de expiração, use as mesmas APIs usadas atualmente para um alerta fixo. O corpo da chamada de API para criar ou atualizar um alerta de expiração é o mesmo usado para um alerta fixo, com as seguintes mudanças:

  • Adicione as novas propriedades a seguir para especificar que o alerta é um alerta de expiração:

    "alertType": "cert"
    "alertSubType": "certfixed"

    Os valores padrão dessas propriedades são:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • Na matriz conditions:

    • A propriedade metrics usa apenas os valores de expiration.
    • Use a propriedade gracePeriodSeconds para especificar o período de expiração do certificado em segundos, até a duração máxima de 30 dias.
    • As propriedades threshold, durationSeconds e comparator não são compatíveis.
  • No elemento dimensions da matriz conditions:
    • Defina o valor da propriedade certificate como ANY.
    • Defina o valor da propriedade proxy como ALL.
    • As propriedades statusCode, developerApp, collection, faultCodeCategory, faultCodeSubCategory e faultCodeName não têm suporte.
  • A propriedade reportEnabled não é compatível com alertas de expiração.

A chamada de API de exemplo a seguir cria um alerta de expiração que será acionado quando qualquer Cery no ambiente de produção expirar nos próximos 30 dias. Uma notificação é enviada ao endereço de e-mail 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 Cert Expiry Alert",
  "description":"My Cert Expiry Alert",
  "environment":"prod",
  "enabled":true,
  "alertType": "cert",
  "alertSubType": "certfixed",
  "conditions":[
  {
    "description":"My Cert Expiry Alert",
    "dimensions":{
      "org":"myorg",
      "env":"prod",
      "proxy":"ALL",
      "certificate": "ANY"
    },
    "metric":"expiration",
    "gracePeriodSeconds": 2592000
  }],
  "notifications":[{
    "channel":"email",
    "destination":"ops@acme.com"
  }],
  "playbook":"http://acme.com/pb.html",
  "throttleIntervalSeconds":3600,
  "reportEnabled":false
}'

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.

Receber alertas de expiração

Por padrão, a API Get Alerts retorna informações sobre todos os alertas definidos, fixos e de expiração. 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. Especifique certfixed para retornar alertas de expiração.

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 expiração, ativados e desativados:

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

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.