Criar uma configuração do gerenciador de alertas no Amazon Managed Service for Prometheus para gerenciar e encaminhar alertas
Para usar o gerenciador de alertas e a modelagem no Amazon Managed Service for Prometheus, você cria um arquivo YAML de configuração do gerenciador de alertas. Um arquivo do gerenciador de alertas do Amazon Managed Service for Prometheus tem duas seções principais:
-
template_files:
contém os modelos utilizados para mensagens enviadas pelos destinatários. Para obter mais informações, consulte Referência de modeloe Exemplos de modelos na documentação do Prometheus. -
alertmanager_config:
contém a configuração do gerenciador de alertas. Utiliza a mesma estrutura de um arquivo de configuração do gerenciador de alertas no Prometheus autônomo. Para obter mais informações, consulte Configuraçãona documentação do Alertmanager. nota
A configuração
repeat_interval
descrita na documentação do Prometheus acima tem uma limitação adicional no Amazon Managed Service for Prometheus. O valor máximo permitido é de cinco dias. Se você definir um período maior que cinco dias, será tratado como cinco dias e as notificações serão enviadas novamente após o término do período de cinco dias.
nota
Você também pode editar o arquivo de configuração diretamente pelo console do Amazon Managed Service for Prometheus, mas ele ainda deve seguir o formato especificado aqui. Para obter mais informações sobre como carregar ou editar um arquivo de configuração, consulte Carregar seu arquivo de configuração do gerenciador de alertas no Amazon Managed Service for Prometheus.
No Amazon Managed Service for Prometheus, seu arquivo de configuração do gerenciador de alertas deve ter todo o seu conteúdo de configuração do gerenciador de alertas dentro de uma chave alertmanager_config
na raiz do arquivo YAML.
Veja a seguir um exemplo básico de arquivo de configuração do gerenciador de alertas:
alertmanager_config: | route: receiver: 'default' receivers: - name: 'default' sns_configs: - topic_arn: arn:aws:sns:us-east-2:123456789012:My-Topic sigv4: region: us-east-2 attributes: key: key1 value: value1
No momento, o único receptor suportado é o Amazon Simple Notification Service (Amazon SNS). Se você tiver outros tipos de receptores listados na configuração, a mesma será rejeitada.
Aqui está outro exemplo de arquivo de configuração do gerenciador de alertas que utiliza o bloco template_files
e o bloco alertmanager_config
.
template_files: default_template: | {{ define "sns.default.subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]{{ end }} {{ define "__alertmanager" }}AlertManager{{ end }} {{ define "__alertmanagerURL" }}{{ .ExternalURL }}/#/alerts?receiver={{ .Receiver | urlquery }}{{ end }} alertmanager_config: | global: templates: - 'default_template' route: receiver: default receivers: - name: 'default' sns_configs: - topic_arn: arn:aws:sns:us-east-2:accountid:My-Topic sigv4: region: us-east-2 attributes: key: severity value: SEV2
Bloco de modelos padrão do Amazon SNS
A configuração padrão do Amazon SNS usa o modelo a seguir, a menos que você o substitua expressamente.
{{ define "sns.default.message" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }} {{ if gt (len .Alerts.Firing) 0 -}} Alerts Firing: {{ template "__text_alert_list" .Alerts.Firing }} {{- end }} {{ if gt (len .Alerts.Resolved) 0 -}} Alerts Resolved: {{ template "__text_alert_list" .Alerts.Resolved }} {{- end }} {{- end }}