Todos os produtos
Search
Central de documentação

Managed Service for Prometheus:Personalize destinatários de alertas com um webhook

Última atualização: Aug 27, 2026

Ao criar uma política de notificação, você pode enviar notificações de alerta para uma URL de webhook personalizada. O recurso de gerenciamento de alertas permite enviar alertas para serviços de terceiros por meio de uma integração de webhook. Este tópico usa o Lark como exemplo para demonstrar como criar e configurar um webhook para alertas.

Etapa 1: Obter uma URL de webhook

  1. Abra o Lark e faça login.

  2. Clique no ícone + e, em seguida, clique em Create Group para crie um grupo destinado ao recebimento de alertas.

  3. Clique no ícone de configurações do grupo e selecione a aba Bots.

  4. Na aba Bots, clique em Add Bot.

  5. No painel Add Bot, selecione Custom Bot.

  6. Na página de configuração, defina o Display name e a Description e clique em Add.

  7. Na seção Webhook URL, clique em Copy Link e, depois, em Finish.

    Na seção Security Settings, marque a caixa de seleção Custom Keywords e adicione a palavra-chave alert.

Etapa 2: Criar uma integração de webhook

  1. Faça login no console do Managed Service for Prometheus. No painel de navegação à esquerda, escolha Alert Management > Notification Objects.

  2. Selecione a aba Webhook integration, clique em Create webhook no canto superior direito e configure os parâmetros a seguir no painel Create webhook.

    Parâmetro

    Descrição

    Webhook name

    Insira um nome personalizado para o webhook.

    Request method

    Selecione o método de solicitação (POST ou GET) e insira uma URL que comece com http:// ou https://. A URL não pode exceder 100 caracteres.

    Neste exemplo, selecione POST e cole a URL do webhook obtida na Etapa 1: Obter uma URL de webhook na caixa de texto à direita.

    Header, param

    Defina o cabeçalho da solicitação e os parâmetros. Cada cabeçalho e parâmetro não pode ultrapassar 200 caracteres.

    Clique em + Add para adicionar mais informações de cabeçalho ou parâmetro. O cabeçalho de solicitação padrão é Content-Type: text/plain; charset=UTF-8. O número total de cabeçalhos e parâmetros não pode exceder seis.

    Neste exemplo, defina os dois cabeçalhos a seguir:

    • Arms-Content-Type : json

    • Content-Type : application/json

    Se você selecionar POST como método de solicitação, também deverá configurar os parâmetros abaixo.

    Notification template

    Modelo para notificações de alertas disparados. Use o placeholder $content para gerar o conteúdo da notificação. O modelo não pode exceder 500 caracteres. Para mais informações, consulte Configure notification templates and webhook templates.

    Veja a seguir um exemplo de modelo de notificação:

    {
    "Alert name":"{{ .commonLabels.alertname }}{{if .commonLabels.clustername }}",
    "Cluster name":"{{ .commonLabels.clustername }} {{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}",
    "Application name":"{{ .commonLabels._aliyun_arms_involvedObject_name }} {{ end }}",
    "Notification policy":"{{ .dispatchRuleName }}",
    "Alert time":"{{ .startTime }}",
    "Alert content":"{{ for .alerts }} {{ .annotations.message }} {{ end }}"
    }

    Para o exemplo do Lark, use o seguinte formato de texto:

    {
      "msg_type": "text",
      "content": {
        "text": "Alert name: {{ .commonLabels.alertname }}\n{{if .commonLabels.clustername }}Cluster name: {{ .commonLabels.clustername }}\n{{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}Application name: {{ .commonLabels._aliyun_arms_involvedObject_name }}\n{{ end }}Notification policy: {{ .dispatchRuleName }} \nAlert time: {{ .startTime }} \nAlert content: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}"
      }
    }

    Template to Clear Alerts

    Modelo para notificações enviadas quando um alerta é resolvido. Use o placeholder $content para gerar o conteúdo da notificação. O modelo não pode exceder 500 caracteres. Para mais detalhes, consulte Configure notification templates and webhook templates.

    Confira um exemplo abaixo:

    {
    "Alert name":"{{ .commonLabels.alertname }}{{if .commonLabels.clustername }}",
    "Cluster name":"{{ .commonLabels.clustername }} {{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}",
    "Application name":"{{ .commonLabels._aliyun_arms_involvedObject_name }} {{ end }}",
    "Notification policy":"{{ .dispatchRuleName }}",
    "Recovery time":"{{ .endTime }}",
    "Alert content":"{{ for .alerts }} {{ .annotations.message }} {{ end }}"
    }

    No exemplo do Lark, defina o seguinte formato de texto:

    {
      "msg_type": "text",
      "content": {
        "text": "Alert name: {{ .commonLabels.alertname }}\n{{if .commonLabels.clustername }}Cluster name: {{ .commonLabels.clustername }}\n{{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}Application name: {{ .commonLabels._aliyun_arms_involvedObject_name }}\n{{ end }}Recovery time: {{ .startTime }} \nNotification policy: {{ .dispatchRuleName }} \nResolved alert content: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}"
      }
    }
  3. (Opcional) Clique em Test para verifique sua configuração.

  4. Clique em OK.

Etapa 3: Configurar uma política de notificação

Crie ou edite uma política de notificação. Em Notification objects, selecione Universal webhook e escolha a integração de webhook criada anteriormente. Para mais informações, consulte Notification policy.

Nota

O tempo limite para uma solicitação de webhook é de 5 segundos. Se o endpoint não responder dentro desse período, a entrega da notificação falhará.