Saiba como criar uma regra de alerta no Managed Service for Prometheus usando uma PrometheusRule.
Informações gerais
Uma PrometheusRule é uma Custom Resource Definition (CRD) do Prometheus Operator usada para gerenciar alertas. Uma PrometheusRule define um grupo de regras de alerta ou de gravação do Prometheus. Em um cluster Kubernetes com o Prometheus Operator instalado, você pode usar uma PrometheusRule para criar alertas. Como implementação do conceito de Monitoring as Code, a PrometheusRule é ideal para construir sistemas de desenvolvimento e operações (DevOps) baseados em GitOps.
Você também pode usar uma PrometheusRule para criar uma regra de alerta no Managed Service for Prometheus. O Managed Service for Prometheus oferece uma interface amigável para gerencie alertas e é compatível com a criação de alertas por meio de uma PrometheusRule no Prometheus Operator.
Notas de uso
O Managed Service for Prometheus oferece suporte a dois métodos para crie e gerencie regras de alerta usando uma PrometheusRule.
Método 1: importe uma PrometheusRule como modelo de regra de alerta para crie e atualize alertas visualmente em lote. Este método é ideal para usuários que preferem usar uma interface para gerencie com eficiência diversas regras de alerta no console da Alibaba Cloud. Para mais informações, consulte Método 1: Importar uma PrometheusRule como modelo de regra de alerta.
Método 2: ative o agente do Managed Service for Prometheus para sincronizar PrometheusRules automaticamente. Isso permite continuar usando suas configurações de alerta de código source. Este método é indicado para usuários habituados a práticas de código source que desejam construir um sistema de operações baseado em Monitoring as Code. Para mais informações, consulte Método 2: Ativar o agente para sincronizar regras de alerta da PrometheusRule.
Por padrão, o Managed Service for Prometheus não lê PrometheusRules criadas no Kubernetes. Portanto, escolha qualquer um dos métodos para crie e gerencie alertas usando uma PrometheusRule de acordo com os requisitos do seu negócio.
Método 1: Importar uma PrometheusRule como modelo
Benefícios
O Managed Service for Prometheus disponibiliza o recurso de modelo de regra de alerta para simplificar a configure de alertas em múltiplas regiões e clusters. Após configure um modelo de regra de alerta uma única vez, você pode aplicá-lo a diferentes clusters ao redor do mundo, reduzindo significativamente o esforço de configure e aumentando a eficiência.
O Managed Service for Prometheus permite importar configurações de PrometheusRule como modelos de regra de alerta em lote, eliminando a necessidade de crie uma PrometheusRule separada para cada cluster.
Procedimento
Acesse o console do ARMS.
No painel de navegação à esquerda, escolha Prometheus Monitoring > Prometheus Alert Rule Templates.
Acesse o console do Cloud Monitor.
No painel de navegação à esquerda, clique em Alert Rule Template.
Na página Prometheus Alert Rule Templates, clique em Import Templates no canto inferior esquerdo.
-
Na caixa de diálogo Import, cole o conteúdo do campo
specda sua PrometheusRule na caixa de texto e clique em Import Alert Rule Template.Exemplo: a figura a seguir exibe o conteúdo do campo
spec(marcado com ①) em uma PrometheusRule de exemplo:
Cole o conteúdo de
spec(marcado com ①) na caixa de diálogo Import e clique em Import Alert Rule Template, conforme mostrado na figura a seguir:
Após a importação bem-sucedida, selecione o novo modelo e clique em Apply Templates no canto inferior esquerdo da página Prometheus Alert Rule Templates para aplicá-lo em lote.
Método 2: Ativar o agente do Managed Service for Prometheus para sincronizar PrometheusRules
Casos de uso
Você utiliza sistemas como GitOps e deseja continuar configurando regras de alerta pela abordagem de Monitoring as Code.
Você deseja criar alertas usando uma PrometheusRule para um cluster ACK conectado ao Managed Service for Prometheus. Este método não se aplica a clusters ACS.
Procedimento
Acesse o console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, localize o cluster desejado e clique em Applications na coluna Actions.
-
Na página Deployments, selecione arms-prom na lista suspensa Namespace. Na coluna Name, localize o Deployment cujo nome começa com
arms-prometheus, comoarms-prometheus-ack-arms-prometheus. Em seguida, clique em Edit na coluna Actions.
-
Na página Edit, na seção Lifecycle, configure o Parameter para Start. Adicione o argumento
--alert=trueao campo Parameter. Em seguida, no canto superior direito da página Edit, clique em Update.
Após a atualização do agente do Managed Service for Prometheus, aguarde de 3 a 5 minutos. Todos os alertas aparecerão no estado running na página Prometheus Alert Rules no console do ARMS.
Após a atualização do agente do Managed Service for Prometheus, aguarde de 3 a 5 minutos. O status de todos os alertas será exibido como running na página Alert Rule List no console do Managed Service for Prometheus.
Após ative a sincronização automática de PrometheusRules para o seu cluster, não modifique as regras de alerta sincronizadas no console do Managed Service for Prometheus. Isso pode causar comportamentos inesperados — por exemplo, não será possível renomear ou exclua regras de alerta pelo console. Além disso, modificar essas regras no console do Managed Service for Prometheus compromete o mecanismo de Monitoring as Code, impedindo que as regras modificadas sejam sincronizadas com sistemas externos, como o GitOps.
Próximos passos
Após ative a sincronização de alertas para o agente do Managed Service for Prometheus, o agente do Managed Service for Prometheus crie um conjunto de regras de alerta integradas no namespace arms-prom, conforme mostrado na figura a seguir. Para mais informações sobre essas regras de alerta integradas criadas automaticamente, consulte Criar uma regra de alerta do Prometheus.
Caso não queira essas regras de alerta integradas, desative a criação automática delas modificando o parâmetro defaultAlert do agente do Managed Service for Prometheus conforme descrito a seguir:
O parâmetro defaultAlert controla a criação automática de alertas padrão. Por padrão, esse parâmetro está defina como true. Para impedir a criação de alertas padrão, defina-o como false.
-
Defina o parâmetro
defaultAlertdo agente do Managed Service for Prometheus comofalse.Acesse o console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, localize o cluster de destino e clique em Applications na coluna Actions.
Na página Deployments, selecione arms-prom na lista suspensa Namespace. Na coluna Name, localize o Deployment cujo nome começa com
arms-prometheus. Em seguida, clique em Edit na coluna Actions.Na página Edit, na seção Lifecycle, configure o parâmetro para Start. Adicione
--defaultAlert=falseà caixa de texto Parameter. Em seguida, no canto superior direito da página Edit, clique em Update.
NotaApós a atualização do agente do Managed Service for Prometheus, aguarde de 3 a 5 minutos. O Managed Service for Prometheus não criará mais alertas padrão para o cluster.
-
Opcional: Exclua as regras de alerta padrão.
Acesse o console do ARMS.
No painel de navegação à esquerda, escolha .
No painel de navegação à esquerda, clique em Instances.
Clique no nome da instância do Prometheus referente ao cluster Kubernetes de destino.
No painel de navegação à esquerda, clique em Alert Rules. Na página Prometheus Alert Rules, localize a regra de alerta que deseja exclua, clique em Delete na coluna Actions e, em seguida, clique em OK na caixa de diálogo exibida.