Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-11-28 GMT+08:00

Alarm Assistant

Com base no Application Operations Management (AOM), o Alarm Assistant pode detectar prontamente falhas de cluster e gerar alarmes para ajudá-lo a manter a estabilidade do serviço. Alarm Assistant fornece regras de alarme incorporadas, que podem liberá-lo da configuração manual de regras de alarme no AOM. Essas regras são estabelecidas com base na extensa experiência de O&M de cluster de nossa equipe de contêineres da Huawei Cloud e podem cobrir exceções de serviços de contêineres, alarmes de métricas importantes de recursos básicos de cluster e alarmes de métrica de aplicações em um cluster para atender aos seus requisitos de O&M de rotina.

Restrições

  • A versão do cluster deve ser v1.17 ou posterior.
  • Somente contas da Huawei Cloud, HUAWEI IDs ou usuários do IAM com permissões CCE administrator ou FullAccess podem executar todas as operações usando Alarm Assistant. Os usuários do IAM com a permissão CCE ReadOnlyAccess só podem visualizar todos os recursos.

Obter permissões de recursos

Alarm Assistant trabalha em estreita colaboração com os serviços em nuvem para monitoramento de clusters, relatórios de alarmes e notificações. Quando você acessa o Alarm Assistant pela primeira vez, o Alarm Assistant e o AOM solicitam automaticamente permissões para acessar esses serviços de nuvem na região onde você executa suas aplicações.

Alarm Assistant obtém as seguintes permissões de serviço:

  • Permissões do CCE

    Alarm Assistant precisa acessar o CCE para obter informações sobre clusters, nós e cargas de trabalho para verificações de integridade.

  • Permissões do SWR

    Alarm Assistant precisa acessar o SWR para obter informações de imagem.

  • Permissões somente leitura rm serviços de nuvem

    Alarm Assistant precisa acessar o CCE para obter informações sobre recursos de computação, rede e armazenamento para verificações de integridade.

  • Permissões somente leitura no IAM

    Alarm Assistant precisa acessar o IAM para obter informações da agência.

Para obter detalhes sobre as permissões de serviço de nuvem solicitadas pelo AOM, consulte Autorização de serviço de nuvem do AOM.

Depois de concordar com a autorização, as agências são criadas automaticamente no IAM para delegar outras permissões de operação de recursos na sua conta para o CCE e AOM. Para obter detalhes sobre a agência, consulte Delegação do serviço de muvem. As agências criadas automaticamente no IAM são as seguintes:

  • cia_admin_trust
  • aom_admin_trust

A agência cia_admin_trust tem as permissões Tenant Guest e IAM ReadOnlyAccess em projetos globais, bem como as permissões Tenant Guest, CCE Administrator e SWR Administrator em projetos regionais. Essas permissões são exigidas pelo Alarm Assistant para acessar outros serviços em nuvem.

Para usar o Alarm Assistant em várias regiões, você precisa solicitar as permissões Tenant Guest, CCE Administrator e SWR Administrator em cada região. Você pode acessar o console do IAM, escolher Agencies e clicar em cia_admin_trust para exibir os registros de delegação de cada região.

O Alarm Assistant pode não funcionar normalmente se as permissões necessárias não forem atribuídas. Ao usar o Alarm Assistant, não exclua ou modifique a agência cia_admin_trust.

Para obter detalhes sobre a agência aom_admin_trust, consulte Autorização de serviço de nuvem do AOM.

Habilitar o Alarm Assistant

O Alarm Assistant pode ser habilitado para clusters do CCE e do CCE Turbo.

  1. Clique no nome do cluster de destino e escolha Alarm assistant no painel de navegação.
  2. Na guia Alarm Rules, clique em Enable. Na janela que desliza para fora da direita, selecione um ou mais grupos de contatos para gerenciar pontos de extremidade de assinatura e receber mensagens de alarme por grupo. Se nenhum grupo de contatos estiver disponível, crie um fazendo referência a Criar um grupo de contatos.
  3. Clique em OK.

    As regras de alarme de métrica no Alarm Assistant dependem do complemento kube-prometheus-stack para relatar métricas para uma instância de Prometheus do AOM. Se você não tiver instalado este complemento no cluster ou conectado o complemento instalado a uma instância de Prometheus do AOM, não será possível criar regras de alarme de métrica usando o Alarm Assistant. Para obter detalhes sobre o complemento, consulte Monitoramento de cluster da nuvem nativa.

Configuração de regras de alarme

Depois que o Alarm Assistant estiver habilitado para clusters do CCE e do CCE Turbo, você poderá configurar e gerenciar regras de alarme.

  1. Efetue logon no console do CCE.
  2. Na página da lista de clusters, clique no nome do cluster de destino para ir para a página de detalhes.
  3. No painel de navegação, escolha Alarm assistant. Na página exibida, clique na guia Alarm Rules, na qual você pode configurar e gerenciar regras de alarme.

    Por padrão, o assistente de alarme gera regras de alarme para contêineres. As regras são destinadas a alarmes, incluindo alarmes de eventos e alarmes métricos para exceções. As regras de alarme são classificadas em vários conjuntos. Você pode associar um conjunto de regras de alarme a vários grupos de contatos e ativar ou desativar itens de alarme. Um conjunto de regras de alarme consiste em várias regras de alarme. Uma regra de alarme corresponde aos itens de verificação para uma única exceção. Tabela 1 lista as regras de alarme padrão.

Tabela 1 Regras de alarme padrão

Tipo de regra

Item de alarme

Descrição

Tipo de alarme

PromQL

Carregar conjunto de regras

Pod anormal

Verifique se o pod está funcionando corretamente.

Métrica

sum(min_over_time(kube_pod_status_phase{phase=~"Pending|Unknown|Failed"}[10m]) and count_over_time(kube_pod_status_phase{phase=~"Pending|Unknown|Failed"}[10m]) > 18 )by (namespace,pod, phase, cluster_name, cluster) > 0

Reinicializações frequentes de pods

Verifique se o pod é reiniciado com frequência.

Métrica

increase(kube_pod_container_status_restarts_total[5m]) > 3

Número inesperado de réplicas de Implementação

Verifique se o número de réplicas de Implementação é o mesmo que o valor esperado.

Métrica

(kube_deployment_spec_replicas != kube_deployment_status_replicas_available ) and ( changes(kube_deployment_status_replicas_updated[5m]) == 0)

Número inesperado de réplicas de StatefulSet

Verifique se o número de réplicas de StatefulSet é igual ao valor esperado.

Métrica

(kube_statefulset_status_replicas_ready != kube_statefulset_status_replicas) and (changes(kube_statefulset_status_replicas_updated[5m]) == 0)

Uso de CPU de contêiner superior a 80%

Verifique se o uso da CPU do contêiner é maior que 80%.

Métrica

100 * (sum(rate(container_cpu_usage_seconds_total{image!="", container!="POD"}[1m])) by (cluster_name,pod,node,namespace,container, cluster) / sum(kube_pod_container_resource_limits{resource="cpu"}) by (cluster_name,pod,node,namespace,container, cluster)) > 80

Uso de memória de contêiner superior a 80%

Verifique se o uso de memória do contêiner é maior que 80%.

Métrica

(sum(container_memory_working_set_bytes{image!="", container!="POD"}) BY (cluster_name, node,container, pod , namespace, cluster) / sum(container_spec_memory_limit_bytes > 0) BY (cluster_name, node, container, pod , namespace, cluster) * 100) > 80

Contêiner anormal

Verifique se o contêiner está funcionando corretamente.

Métrica

sum by (namespace, pod, container, cluster_name, cluster) (kube_pod_container_status_waiting_reason) > 0

Falhou ao atualizar um balanceador de carga

Verifique se um balanceador de carga está atualizado.

Evento

N/D

Conjunto de regras de recursos de nó

Alta utilização do PV do Kubernetes

Verifique se o uso de PV em um nó é muito alto.

Métrica

(kubelet_volume_stats_available_bytes{job="kubelet"} / kubelet_volume_stats_capacity_bytes{job="kubelet"}) < 0.03 and kubelet_volume_stats_used_bytes{job="kubelet"} > 0

PVC de Kubernetes anormal

Verifique se a PVC está funcionando corretamente.

Métrica

kube_persistentvolumeclaim_status_phase{phase=~"Failed|Pending|Lost"} > 0

PV de Kubernetes anormal

Verifique se o PV está funcionando corretamente.

Métrica

kube_persistentvolume_status_phase{phase=~"Failed|Pending"} > 0

Uso da CPU do nó superior a 80%

Verifique se o uso da CPU do nó é superior a 80%.

Métrica

100 - (avg by(node, cluster_name, cluster) (rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100) > 80

Memória de nó disponível inferior a 10%

Verifique se a memória de nó disponível é inferior a 10%.

Métrica

node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10

Espaço em disco disponível no nó inferior a 10%

Verifique se o espaço em disco disponível do nó é inferior a 10%.

Métrica

avg((node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes) by (device, node, cluster_name, cluster) < 10

Espaço em disco de nó insuficiente

Verifique se o espaço em disco do nó é suficiente.

Evento

N/D

Erro do pool de armazenamento emptyDir

Verifique se o pool de armazenamento de EV do nó está funcional.

Métrica

problem_gauge{type="EmptyDirVolumeGroupStatusError"} >= 1

Memória de nó insuficiente

Verifique se a memória geral do nó é suficiente.

Métrica

problem_gauge{type="MemoryProblem"} >= 1

Erro do pool de armazenamento de PV

Verifique se o pool de armazenamento de PV do nó está funcional.

Métrica

problem_gauge{type="LocalPvVolumeGroupStatusError"} >= 1

Ponto de montagem do nó anormal

Verifique se o ponto de montagem do nó está disponível.

Métrica

problem_gauge{type="MountPointProblem"} >= 1

Identificadores de arquivo de nó insuficientes

Verifique se os identificadores do arquivo FD são suficientes.

Métrica

problem_gauge{type="FDProblem"} >= 1

Suspensão de I/O de nó de disco

Verifique se a suspensão de I/O ocorre no disco do nó.

Métrica

problem_gauge{type="DiskHung"} >= 1

Disco de nó de somente leitura

Verifique se o disco do nó é de somente leitura.

Métrica

problem_gauge{type="DiskReadonly"} >= 1

Disco de nó anormal

Verifique o uso do disco do sistema do nó e dos discos de dados do CCE (incluindo discos lógicos de Docker e kubelet).

Métrica

problem_gauge{type="DiskProblem"} >= 1

I/O de disco de nó lenta

Verifique se ocorre I/O lenta no disco de nó.

Métrica

problem_gauge{type="DiskSlow"} >= 1

PIDs de nó insuficientes

Verifique se os PIDs são suficientes.

Métrica

problem_gauge{type="PIDProblem"} >= 1

Tabela de nó conntrack cheia

Verifique se o espaço da tabela conntrack do nó é suficiente.

Métrica

problem_gauge{type="ConntrackFullProblem"} >= 1

Conjunto de regras de status do nó

Erro de ResolvConf

Verifique se o arquivo de configuração ResolvConf está disponível.

Métrica

problem_gauge{type="ResolvConfFileProblem"} >= 1

Componente CNI de nó anormal

Verifique se o componente CNI do nó está sendo executado corretamente.

Métrica

problem_gauge{type="CNIProblem"} >= 1

Componente CRI de nó anormal

Verifique a execução do componente importante CRI (Docker ou containerd).

Métrica

problem_gauge{type="CRIProblem"} >= 1

Erro do nó kube-proxy

Verifique se o kube-proxy está funcionando corretamente.

Métrica

problem_gauge{type="KUBEPROXYProblem"} >= 1

Nó de kubelet anormal

Verifique se o kubelet está funcionando corretamente.

Métrica

problem_gauge{type="KUBELETProblem"} >= 1

Evento programado no nó

Verifique se há um evento agendado do host no nó.

Métrica

problem_gauge{type="ScheduledEvent"} >= 1

Status do nó instável

Verifique se o status do nó alterna entre normal e anormal.

Métrica

sum(changes(kube_node_status_condition{status="true",condition="Ready"}[15m])) by (cluster_name, node, cluster) > 2

Reinicializações frequentes do nó containerd

Verifique se o containerd é reiniciado com frequência.

Métrica

problem_gauge{type="FrequentContainerdRestart"} >= 1

Tarefa do nó suspensa

Verifique se uma tarefa está suspensa no nó.

Evento

N/D

Configuração incorreta do pool de armazenamento de nó

Verifique se os pools de armazenamento de EV e PV do nó estão configurados corretamente.

Evento

N/D

Nó anormal

Verifique se o nó está funcionando corretamente.

Evento

N/D

Processo de nó D anormal

Verifique se há um processo de estado D no nó.

Métrica

problem_gauge{type="ProcessD"} >= 1

Processo do nó Z anormal

Verifique se há um processo de estado Z no nó.

Métrica

problem_gauge{type="ProcessZ"} >= 1

Reinicializações frequentes da CRI do nó

Verifique se a CRI é reiniciada com frequência.

Métrica

problem_gauge{type="FrequentCRIRestart"} >= 1

Reinicializações frequentes do nó Docker

Verifique se o Docker é reiniciado com frequência.

Métrica

problem_gauge{type="FrequentDockerRestart"} >= 1

Reinicializações frequentes do nó kubelet

Verifique se o kubelet é reiniciado com frequência.

Métrica

problem_gauge{type="FrequentKubeletRestart"} >= 1

Erro do serviço NTP do nó

Verifique se o serviço de sincronização de relógio de nó ntpd ou chronyd está sendo executado corretamente.

Métrica

problem_gauge{type="NTPProblem"} >= 1

Processos interrompidos forçadamente devido à OOM do nó

Verifique se ocorreu um evento OOM no nó.

Evento

N/D

Conjunto de regras de dimensionamento de nó

Pool de nó esgotado

Verifique se os recursos do pool de nó são suficientes.

Evento

N/D

Expansão expirou o tempo limite

Verifique se a expansão de nós ao pool de nós expirou o tempo limite.

Evento

N/D

Falhou na expansão do pool de nós

Verifique se ocorreu um erro durante uma expansão do pool de nós.

Evento

N/D

Falhou na redução do pool de nós

Verifique se ocorreu um erro durante uma redução do pool de nós.

Evento

N/D

Conjunto de regras de status do cluster

Cluster indisponível

Verifique se o cluster está disponível.

Evento

N/D

Criar um grupo de contatos

Um grupo de contatos, apoiado em Simple Message Notification, permite que editores de mensagens e assinantes entrem em contato. Um grupo de contatos contém um ou mais pontos de extremidade. Você pode configurar grupos de contatos para gerenciar pontos finais que assinaram mensagens de alarme. Depois de criar um grupo de contatos, associe o conjunto de regras de alarme ao grupo. Quando um alarme é acionado, os pontos de extremidade de assinatura no grupo de contatos podem receber as mensagens de alarme.

  1. Efetue logon no console do CCE.
  2. Na página da lista de clusters, clique no nome do cluster de destino para ir para a página de detalhes.
  3. Escolha Alarm assistant no painel de navegação e clique na guia Contact Group.
  4. Clique em Create Contact Group e configure parâmetros.

    • Contact Group Name: digite o nome do grupo de contatos, que não pode ser alterado após a criação do grupo de contatos. O nome do modelo pode conter de 1 a 255 caracteres e deve começar com uma letra ou dígito. Somente letras, dígitos, hifens (-) e sublinhados (_) são permitidos.
    • Alarm message display name: digite o título da mensagem recebida pelo ponto de extremidade de assinatura especificado. Por exemplo, se você definir Terminal Type para Email e especificar um nome de exibição, o nome que você especificou será exibido como o remetente da mensagem de alarme. Se você não especificar Alarm message display name, o remetente será username@example.com. O nome de exibição de uma mensagem de alarme pode ser alterado após a criação do grupo de contatos.
    • Add Subscription Terminal: adicione um ou mais pontos de extremidade para receber mensagens de alarme. O tipo de ponto de extremidade pode ser SMS ou Email. Se você selecionar SMS, insira um número de celular válido. Se selecionar Email, introduza um endereço de e-mail válido.

  5. Clique em OK.

    Você será redirecionado para a lista de grupos de contatos. O ponto de extremidade da assinatura está no estado Unconfirmed. Envie uma solicitação de assinatura ao ponto de extremidade para verificar a validade do ponto de extremidade.

  6. Clique em Request Confirmation na coluna Operation para enviar uma solicitação de assinatura ao ponto de extremidade. Se o ponto de extremidade receber a solicitação, confirme a solicitação conforme solicitado. Após a conclusão da confirmação, o ponto de extremidade da assinatura muda para Confirmed.
  7. Clique em para habilitar o grupo de contatos para que o grupo de contatos seja vinculado ao conjunto de regras de alarme.

    Um conjunto de regras de alarme pode ser vinculado a um máximo de cinco grupos de contatos.

Visualizar alarmes

Você pode ver os últimos alarmes históricos na guia Alarm list.

  1. Efetue logon no console do CCE.
  2. Na página da lista de clusters, clique no nome do cluster de destino para ir para a página de detalhes.
  3. No painel de navegação, escolha Alarm assistant. Na página exibida, clique na guia Alarm list.

    Por padrão, todos os alarmes a serem apagados são exibidos na lista. Você pode consultar alarmes por palavra-chave do alarme, gravidade do alarme ou hora do alarme. Além disso, você pode visualizar a distribuição de alarmes que atendem aos critérios especificados em diferentes períodos.

    Se você confirmar que um alarme foi manipulado, clique em Clear na coluna Operation. Depois que o alarme for apagado, você poderá visualizá-lo na lista de alarmes históricos.

    Figura 1 Consultar alarmes