Criar modelos de notificações - Amazon Managed Grafana

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criar modelos de notificações

Este tópico de documentação foi desenvolvido para espaços de trabalho do Grafana compatíveis com o Grafana versão 10.x.

Para espaços de trabalho do Grafana compatíveis com o Grafana versão 9.x, consulte Trabalhar no Grafana versão 9.

Para espaços de trabalho do Grafana compatíveis com o Grafana versão 8.x, consulte Trabalhar no Grafana versão 8.

Crie modelos de notificação reutilizáveis para enviar aos pontos de contato.

Você pode adicionar um ou mais modelos ao modelo de notificação.

O nome do modelo de notificação deve ser exclusivo. Você não pode ter dois modelos com o mesmo nome no mesmo modelo de notificação ou em modelos de notificação diferentes. Evite definir modelos com o mesmo nome dos modelos padrão, como: __subject, __text_values_list, __text_alert_list, default.title e default.message.

Na guia Pontos de contato, você pode ver uma lista dos modelos de notificação.

Criar modelos de notificação

Para criar um modelo de notificação
  1. Escolha Alertas, Pontos de contato.

  2. Escolha a guia Modelos de notificação e, em seguida, + Adicionar modelo de notificação.

  3. Escolha um nome para o modelo de notificação, como email.subject.

  4. Escreva o conteúdo do modelo no campo de conteúdo.

    Por exemplo:

    {{ if .Alerts.Firing -}} {{ len .Alerts.Firing }} firing alerts {{ end }} {{ if .Alerts.Resolved -}} {{ len .Alerts.Resolved }} resolved alerts {{ end }}
  5. Salve as alterações.

    {{ define "email.subject" }} (em que email.subject é o nome do seu modelo) e {{ end }} é automaticamente adicionado ao início e ao final do conteúdo.

Para criar um modelo de notificação que contenha mais de um modelo
  1. Escolha Alertas, Pontos de contato.

  2. Escolha a guia Modelos de notificação e, em seguida, + Adicionar modelo de notificação.

  3. Insira um nome para o modelo geral de notificação. Por exemplo, email.

  4. Escreva cada modelo no campo Conteúdo, incluindo {{ define "name-of-template" }} e {{ end }} no início e no final de cada modelo. Você pode usar nomes descritivos para cada um dos modelos no modelo de notificação, por exemplo, email.subject ou email.message. Nesse caso, não reutilize o nome do modelo de notificação inserido acima.

    As seções posteriores mostram exemplos detalhados de modelos que você pode criar.

  5. Clique em Salvar.

Pré-visualização dos modelos de notificações

Pré-visualize seus modelos de notificação antes de usá-los nos pontos de contato, ajudando você a entender o resultado do modelo que está criando e dando a chance de corrigir quaisquer erros antes de salvá-lo.

nota

As pré-visualizações de notificações estão disponíveis apenas para o Grafana Alertmanager.

Para pré-visualizar os modelos de notificação
  1. Escolha Alertas, Pontos de contato.

  2. Escolha a guia Modelos de notificação e, em seguida, + Adicionar modelo de notificação, ou edite um modelo existente.

  3. Adicione ou atualize o conteúdo do modelo.

    Os dados padrão são fornecidos e você pode adicionar ou editar dados de alerta a eles, bem como às instâncias de alerta. Você pode adicionar dados de alerta diretamente na própria janela de dados da carga útil ou clicar em Selecionar instâncias de alerta ou Adicionar alertas personalizados.

  4. [Opcional] Para adicionar dados de alerta de instâncias de alerta existentes:

    1. Escolha Selecionar instâncias de alerta.

    2. Passe o mouse sobre as instâncias de alerta para ver mais informações sobre cada instância de alerta.

    3. Escolha Confirmar para adicionar a instância de alerta à carga útil.

  5. [Opcional] Para adicionar dados de alerta usando o editor de dados de alertas, escolha Adicionar dados personalizados:

    1. Adicione anotações, rótulos personalizados ou defina um dashboard ou painel.

    2. Alterne entre Disparado ou Resolvido, dependendo se você deseja adicionar alertas disparados ou resolvidos à sua notificação.

    3. Escolha Adicionar dados de alertas.

    4. Escolha Atualizar pré-visualização para ver como ficará o conteúdo do seu modelo e os dados de carga útil correspondentes.

    Se houver algum erro em seu modelo, ele será exibido na pré-visualização e você poderá corrigi-lo antes de salvá-lo.

  6. Salve as alterações.

Criar um modelo para o assunto da mensagem

Crie um modelo para o assunto de um e-mail que contenha o número de alertas disparados e resolvidos, como neste exemplo:

1 firing alerts, 0 resolved alerts
Para criar um modelo para o assunto de um e-mail
  1. Crie um arquivo denominado email.subject com o seguinte conteúdo:

    {{ define "email.subject" }} {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts {{ end }}
  2. Use o modelo ao criar sua integração de ponto de contato, colocando-a no campo Assunto com a palavra-chave template.

    {{ template "email.subject" . }}

Criar um modelo para a mensagem de um e-mail

Crie um modelo para a mensagem de um e-mail que contenha um resumo de todos os alertas disparados e resolvidos, como neste exemplo:

There are 2 firing alerts, and 1 resolved alerts Firing alerts: - alertname=Test 1 grafana_folder=GrafanaCloud has value(s) B=1 - alertname=Test 2 grafana_folder=GrafanaCloud has value(s) B=2 Resolved alerts: - alertname=Test 3 grafana_folder=GrafanaCloud has value(s) B=0
Para criar um modelo para a mensagem de um e-mail
  1. Crie um modelo de notificação denominado email com dois modelos no conteúdo: email.message_alert e email.message.

    O modelo email.message_alert é usado para imprimir os rótulos e os valores de cada alerta disparado e resolvido, enquanto o modelo email.message contém a estrutura do e-mail.

    {{- define "email.message_alert" -}} {{- range .Labels.SortedPairs }}{{ .Name }}={{ .Value }} {{ end }} has value(s) {{- range $k, $v := .Values }} {{ $k }}={{ $v }}{{ end }} {{- end -}} {{ define "email.message" }} There are {{ len .Alerts.Firing }} firing alerts, and {{ len .Alerts.Resolved }} resolved alerts {{ if .Alerts.Firing -}} Firing alerts: {{- range .Alerts.Firing }} - {{ template "email.message_alert" . }} {{- end }} {{- end }} {{ if .Alerts.Resolved -}} Resolved alerts: {{- range .Alerts.Resolved }} - {{ template "email.message_alert" . }} {{- end }} {{- end }} {{ end }}
  2. Use o modelo ao criar a integração de ponto de contato, colocando-a no campo Corpo do texto com a palavra-chave template.

    {{ template "email.message" . }}

Criar um modelo para o título de uma mensagem do Slack

Crie um modelo para o título de uma mensagem do Slack que contenha o número de alertas disparados e resolvidos, como no seguinte exemplo:

1 firing alerts, 0 resolved alerts
Para criar um modelo para o título de uma mensagem do Slack
  1. Crie um arquivo denominado slack.title com o seguinte conteúdo:

    {{ define "slack.title" }} {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts {{ end }}
  2. Execute o modelo no campo de título na integração do ponto de contato.

    {{ template "slack.title" . }}

Criar um modelo para o conteúdo de uma mensagem do Slack

Crie um modelo para o conteúdo de uma mensagem do Slack que contenha uma descrição de todos os alertas disparados e resolvidos, incluindo seus rótulos, anotações e URL do dashboard.

nota

Este modelo é apenas para alertas gerenciados pelo Grafana. Para usar o modelo para alertas gerenciados pela fonte de dados, exclua as referências a DashboardURL e SilenceURL. Para obter mais informações sobre como configurar as notificações do Prometheus, consulte a documentação do Prometheus sobre notificações.

1 firing alerts: [firing] Test1 Labels: - alertname: Test1 - grafana_folder: GrafanaCloud Annotations: - description: This is a test alert Go to dashboard: https://example.com/d/dlhdLqF4z?orgId=1 1 resolved alerts: [firing] Test2 Labels: - alertname: Test2 - grafana_folder: GrafanaCloud Annotations: - description: This is another test alert Go to dashboard: https://example.com/d/dlhdLqF4z?orgId=1
Para criar um modelo para o conteúdo de uma mensagem do Slack
  1. Crie um modelo denominado slack com dois modelos no conteúdo: slack.print_alert e slack.message.

    O modelo slack.print_alert é usado para imprimir os rótulos, as anotações e o DashboardURL, enquanto o modelo slack.message contém a estrutura da notificação.

    {{ define "slack.print_alert" -}} [{{.Status}}] {{ .Labels.alertname }} Labels: {{ range .Labels.SortedPairs -}} - {{ .Name }}: {{ .Value }} {{ end -}} {{ if .Annotations -}} Annotations: {{ range .Annotations.SortedPairs -}} - {{ .Name }}: {{ .Value }} {{ end -}} {{ end -}} {{ if .DashboardURL -}} Go to dashboard: {{ .DashboardURL }} {{- end }} {{- end }} {{ define "slack.message" -}} {{ if .Alerts.Firing -}} {{ len .Alerts.Firing }} firing alerts: {{ range .Alerts.Firing }} {{ template "slack.print_alert" . }} {{ end -}} {{ end }} {{ if .Alerts.Resolved -}} {{ len .Alerts.Resolved }} resolved alerts: {{ range .Alerts.Resolved }} {{ template "slack.print_alert" .}} {{ end -}} {{ end }} {{- end }}
  2. Execute o modelo no campo do corpo do texto na integração do ponto de contato:

    {{ template "slack.message" . }}

Criar modelos para o e-mail e Slack com modelos compartilhados

Em vez de criar modelos de notificação separados para cada ponto de contato, como e-mail e Slack, você pode compartilhar o mesmo modelo.

Por exemplo, se você quiser enviar um e-mail com esse assunto e uma mensagem do Slack com este título 1 firing alerts, 0 resolved alerts, você pode criar um modelo compartilhado.

Para criar um modelo compartilhado
  1. Crie um arquivo denominado common.subject_title com o seguinte conteúdo:

    {{ define "common.subject_title" }} {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts {{ end }}
  2. Para e-mail, execute o modelo no campo de assunto na integração do ponto de contato de e-mail:

    {{ template "common.subject_title" . }}
  3. Para o Slack, execute o modelo no campo de título na integração do ponto de contato do Slack:

    {{ template "common.subject_title" . }}