Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Monitor Kubernetes cluster events

Última atualização: Sep 21, 2026

O monitoramento de eventos complementa o monitoramento de recursos ao oferecer maior capacidade de resposta em tempo real, precisão e cobertura de cenários — por exemplo, quando um pod é removido, o pull de uma imagem falha ou um nó relata uma exceção de hardware. Por padrão, o Kubernetes retém esses eventos por apenas uma hora. Para detectar anomalias antes que os dados expirem, o ACK oferece monitoramento de eventos de ponta a ponta, que coleta, armazena, gera alertas e arquiva os eventos do cluster.

Por padrão, o ACK direciona os eventos do cluster para o Simple Log Service e os armazena gratuitamente por 90 dias. Consulte Create and use an event center.

Como funciona

O ACK usa duas ferramentas de código aberto:

  • node-problem-detector (NPD) — Diagnostica os nós do Kubernetes. O NPD detecta exceções nos nós, como travamentos do motor do docker, travamentos do kernel do Linux, exceções de tráfego de saída e exceções de descritores de arquivo, gera eventos de nó e trabalha com o kube-eventer para fechar o ciclo de gerenciamento de alertas. Consulte NPD.

  • kube-eventer — Emissor de eventos de código aberto mantido pelo ACK. O kube-eventer encaminha eventos do Kubernetes para destinos como DingTalk, Simple Log Service e EventBridge, filtra eventos por nível de gravidade e permite a coleta em tempo real, a geração de alertas e o arquivamento assíncrono. Consulte kube-eventer.

image

O Kubernetes emite dois tipos de eventos:

Tipo

Quando gerado

Exemplos

Normal

A máquina de estados transita para um estado esperado

Pod agendado, contêiner iniciado

Warning

A máquina de estados transita para um estado inesperado

Pod removido, falha no pull da imagem, CrashLoopBackOff

Casos de uso

Selecione um cenário com base nas suas necessidades de monitoramento:

Cenário

Quando usar

Cenário 1: Usar o NPD com o centro de eventos do Simple Log Service

Comece rapidamente. Direcione todos os eventos do cluster para o Simple Log Service para visualização, consulta e geração de alertas em um só lugar.

Cenário 2: Execute o diagnóstico de nó do NPD

Detecte exceções no nível do nó, como pressão de disco, problemas de rede e falhas no daemon do docker, e acione o gerenciamento de alertas em ciclo fechado.

Cenário 3: Enviar alertas para o DingTalk

Encaminhe eventos de Warning para um grupo do DingTalk para notificações de ChatOps em tempo real.

Cenário 4: Arquivar eventos no Simple Log Service

Persista eventos do Kubernetes em um Logstore dedicado para armazenamento de longo prazo, indexação e análise offline.

Cenário 5: Encaminhar eventos para o EventBridge

Crie uma arquitetura orientada a eventos para acionar remediações automatizadas ou fluxos de trabalho downstream a partir de eventos do cluster.

Cenário 1: Usar o NPD com o centro de eventos do Simple Log Service

O NPD funciona com plug-ins de terceiros para detectar exceções nos nós e gerar eventos do cluster. O centro de eventos do Simple Log Service coleta, armazena e visualiza esses eventos com recursos integrados de consulta e geração de alertas.

Etapa 1: Instale o componente ack-node-problem-detector

Se você selecionou Install node-problem-detector and Create Event Center ao criar o cluster, pule para Step 2: View the event center. Para instalar durante a criação do cluster, consulte Create an ACK managed cluster.

Caso contrário, instale o componente manualmente:

  1. Faça login no console do ACK. No painel de navegação à esquerda, escolha Clusters.

  2. Na página Clusters, encontre o cluster e clique em seu nome. No painel de navegação à esquerda, clique em Add-ons.

  3. Na aba Observability, localize e instale o ack-node-problem-detector.

Etapa 2: Visualize o centro de eventos

  1. Faça login no console do ACK. No painel de navegação à esquerda, escolha Clusters.

  2. Na página Clusters, encontre o cluster e clique em seu nome. No painel de navegação à esquerda, escolha Operations > Event Center.

  3. Na página Event Center, clique na aba Event Overview (Event Center) para visualizar todos os eventos do Kubernetes, seus detalhes e o ciclo de vida dos pods. Consulte Collect Kubernetes events.

Cenário 2: Execute o diagnóstico de nó do NPD

O NPD, em conjunto com o kube-eventer, fornece gerenciamento de alertas em ciclo fechado para eventos de nó. Quando o NPD detecta uma exceção, o kube-eventer encaminha o evento para os destinos configurados e gera um alerta.

Pré-requisitos

Antes de começar:

Verifique se o DaemonSet está em execução

  1. Na página Clusters, encontre o cluster e clique em seu nome. No painel de navegação à esquerda, escolha Workloads > DaemonSets.

  2. Na aba DaemonSets, selecione o namespace kube-system e verifique se o ack-node-problem-detector-daemonset está em execução. Quando o NPD e o kube-eventer estão em execução, o sistema direciona os eventos para os destinos e gera alertas de acordo com a configuração do kube-eventer.

Plug-ins de diagnóstico de nó

A partir do NPD 1.2.29, o plug-in de detecção de anomalias de GPU é implantado como um DaemonSet separado chamado ack-accel-health-monitor.

Plug-in

O que verifica

Limiar padrão

Habilitado por padrão

ntp_check

Se os relógios do sistema estão sincronizados via Network Time Protocol (NTP)

—

Sim

network_problem_check

Se o uso da tabela de rastreamento de conexões (conntrack) excede o limiar

90%

Sim

inodes_usage_check

Se o uso de inodes no disco do sistema excede o limiar (ajustável)

80%

Sim

pid_pressure_check

Se a proporção de processos PID excede o limiar máximo do kernel

85%

Sim

docker_offline_check

Se o daemon do docker está em execução

—

Sim

fd_check

Se o uso de descritores de arquivo excede o limiar (ajustável).

Nota

Este plug-in consome recursos significativos. Ative-o apenas quando necessário.

80%

Não

ram_role_check

Se os nós têm a função do RAM e o AccessKey ID/Secret necessários configurados

—

Não

nvidia_gpu_check

Se as GPUs NVIDIA podem gerar mensagens Xid

—

Não

csi_hang_check

Se o plug-in Container Storage Interface (CSI) está em execução

—

Não

ps_hang_check

Se há processos no estado de sono ininterrupto (D)

—

Não

public_network_check

Se os nós podem acessar a Internet

—

Não

irqbalance_check

Se o daemon irqbalance está em execução

—

Não

Cenário 3: Enviar alertas para o DingTalk

Receber alertas de eventos do Kubernetes por meio de um chatbot do DingTalk é um padrão típico de ChatOps. Quando ocorre um evento de nível Warning, o kube-eventer envia uma mensagem para o grupo do DingTalk via webhook.

Pré-requisitos

Antes de começar:

Etapa 1: Adicionar um chatbot do DingTalk

  1. Clique em Group settings no canto superior direito da janela de chat para abrir Group Settings.

  2. Clique em Bot > Add Robot. Selecione Custom como o tipo de chatbot.

  3. Na página Robot details, clique em Add para abrir a página Add Robot. Defina os parâmetros abaixo, aceite os Termos de Serviço do DingTalk Custom Robot e clique em Finished:

    Parâmetro

    Descrição

    Edit profile picture

    Avatar do chatbot. Opcional.

    Chatbot name

    Nome de exibição do chatbot.

    Add to Group

    Grupo do DingTalk ao qual o chatbot será adicionado.

    Security settings

    Três opções: Custom Keywords, assinaturas adicionais e endereços IP (ou blocos CIDR). Apenas Custom Keywords filtram alertas de eventos do cluster. Selecione Custom Keywords e insira Warning. Adicione até 10 palavras-chave para restringir o filtro.

  4. Clique em Copy para copiar a URL do webhook.

    Na página ChatBot , clique em Settings button ao lado do chatbot para modificar seu avatar e nome, ativar ou desativar o envio de mensagens, redefinir a URL do webhook ou remover o chatbot.

Etapa 2: Configure o kube-eventer para enviar eventos ao DingTalk

  1. Na página Clusters, encontre o cluster e clique em seu nome. No painel de navegação à esquerda, escolha Applications > Helm.

  2. Na página Helm, localize o ack-node-problem-detector e clique em Update na coluna Actions.

  3. Defina os parâmetros abaixo e clique em OK:

    • Na seção npd, defina enabled como false.

    • Defina eventer.sinks.dingtalk.enabled como true.

    • Insira o token da URL do webhook copiada.

Resultado

O kube-eventer passa a vigorar 30 segundos após a implantação. Eventos de nível Warning acionam alertas no grupo do DingTalk.

Message notification

Cenário 4: Arquivar eventos no Simple Log Service

Direcione eventos do Kubernetes para o Simple Log Service para armazenamento persistente, indexação e auditoria. Para retenção de longo prazo ou arquivamento offline, configure o Logstore e o envio opcional de dados para o MaxCompute ou Object Storage Service (OSS). Consulte Create and use an event center.

Pré-requisitos

Antes de começar:

Etapa 1: Crie um projeto e um Logstore do Simple Log Service

  1. Faça login no console do Simple Log Service.

  2. Na seção Projects, clique em Create Project. No painel Create Project, defina os parâmetros e clique em Create.

    Crie o projeto do Simple Log Service na mesma região do seu cluster. A transmissão na mesma região usa a rede interna, o que reduz a latência e elimina os custos de largura de banda entre regiões. Este exemplo cria um projeto chamado k8s-log4j em China (Hangzhou).
  3. Na seção Projects, clique em k8s-log4j para abrir a página de detalhes do projeto.

  4. No painel Logstores, clique em + para abrir o painel Create Logstore.

  5. Defina os parâmetros e clique em OK. Este exemplo cria um Logstore chamado k8s-logstore.

    No painel Create Logstore, os principais itens de configuração incluem:

    • Logstore Type: Standard

    • Data Retention Period: 30 dias (número fixo de dias)

    • Number of Shards: 2

    • Automatic Shard Split: ativado, com um máximo de 64 divisões

    • Record Public IP: ativado

    • WebTracking: desativado por padrão

  6. Após a criação do Logstore, clique em Data Import Wizard para abrir a caixa de diálogo Import Data.

  7. Selecione Log4j 1/2 e conclua a configuração. Este exemplo usa as configurações padrão.

    Na área Log Description da página de configuração da fonte de dados, o Log4j é descrito como composto por três componentes: níveis de prioridade (ERROR, WARN, INFO, DEBUG), destino de saída e formato de saída. O Alibaba Cloud Log Log4j Appender pode enviar logs para o Simple Log Service (SLS) (para o endereço de download e instruções de uso, consulte o GitHub). Na área Usage Notes, clique no link View Help para obter orientações detalhadas sobre a ingestão e, em seguida, clique em Next.

Etapa 2: Configure o kube-eventer para enviar eventos ao Simple Log Service

  1. Na página Clusters, encontre o cluster e clique em seu nome. No painel de navegação à esquerda, escolha Applications > Helm.

  2. Na página Helm, localize o ack-node-problem-detector e clique em Update na coluna Actions.

  3. Defina os parâmetros abaixo e clique em OK:

    • Na seção npd, defina enabled como false.

    • Defina eventer.sinks.sls.enabled como true.

Etapa 3: Verifique a coleta de eventos e configure a indexação

  1. Acione um evento do cluster — por exemplo, exclua um pod ou crie uma aplicação.

  2. Faça login no console do Simple Log Service para visualizar os eventos coletados. Consulte Consume log data by using Simple Log Service SDK.

    Na caixa de diálogo Consumption Preview, selecione um nome de índice (por exemplo, k8s-event), defina o Shard e o intervalo de tempo e clique em Preview. Se os dados de log forem carregados com sucesso, a tabela exibirá registros de log em formato JSON dos eventos do Kubernetes, incluindo campos como level, eventId, namespace, reason e message.

  3. Configure a indexação para consulta e análise. Consulte Create indexes.

    1. Na seção Projects, clique no nome do projeto.

    2. Clique em Logstore management icon ao lado do nome do Logstore e selecione Search & Analysis.

    3. No canto superior direito, clique em Enable Index.

    4. No painel Search & Analysis, defina os parâmetros e clique em OK. > Note: A configuração do índice entra em vigor em até 1 minuto e se aplica apenas aos dados ingeridos após a ativação ou modificação do índice.

    5. (Opcional) Para arquivar eventos para análise offline, envie dados do Logstore para o MaxCompute ou Object Storage Service (OSS). Consulte Create a data shipping job of the new version to ship data to MaxCompute e Create an OSS data shipping job (new version).

Cenário 5: Encaminhar eventos para o EventBridge

O EventBridge é um serviço de eventos serverless que conecta serviços da Alibaba Cloud, aplicações personalizadas e aplicações de software como serviço (SaaS) de forma padronizada e centralizada. Encaminhar eventos do ACK para o EventBridge permite criar uma arquitetura fracamente acoplada e orientada a eventos — por exemplo, para acionar remediações automatizadas quando eventos específicos ocorrem. Consulte What is EventBridge?

Pré-requisitos

Antes de começar:

Ative o EventBridge como destino de eventos

  1. Na página Clusters, encontre o cluster e clique em seu nome. No painel de navegação à esquerda, escolha Applications > Helm.

  2. Na página Helm, localize o ack-node-problem-detector e clique em Update na coluna Actions.

  3. Defina eventer.sinks.eventbridge.enabled como true e clique em OK.

    
    eventer:
      accessKeyId: ""
      accessKeySecret: ""
      enabled: true
      env:
      - TZ: Asia/Shanghai
      image:
        pullPolicy: Always
        repository: registry-cn-hangzhou-vpc.ack.aliyuncs.com/acs/kube-eventer
        tag: v1.2.11-0620284-aliyun
      othersinks: null
      resources:
        limits:
          cpu: "1.0"
          memory: 1024Mi
        requests:
          cpu: 100m
          memory: 200Mi
      sinks:
        dingtalk:
          enabled: false
          label: ""
          level: Warning
          monitorkinds: Node,Pod
          monitornamespaces: ""
          token: ""
        eventbridge:
          enabled: false
    

Visualize eventos do Kubernetes no EventBridge

  1. Faça login no console do EventBridge.

  2. No painel de navegação à esquerda, clique em Event Buses.

  3. Na página Event Buses, clique no barramento de eventos de destino.

  4. No painel de navegação à esquerda, clique em Event Tracking.

  5. Selecione um método de consulta, defina as condições e clique em Query.

  6. Encontre o evento e clique em Details na coluna Actions. Consulte Query events by event ID.

Reinstale o componente ack-node-problem-detector

Reinstale o componente ao alterar o destino (por exemplo, do Simple Log Service para o DingTalk) ou atualize a configuração do componente.

  1. Faça login no console do ACK. No painel de navegação à esquerda, escolha Clusters.

  2. Na página Clusters, encontre o cluster e clique em seu nome. No painel de navegação à esquerda, escolha Workloads > Jobs.

  3. Na página Jobs, clique em More ao lado de kube-eventer-init-v1.7-xxxx e clique em Delete.

  4. Na página Clusters, encontre o cluster e clique em seu nome. No painel de navegação à esquerda, escolha Applications > Helm.

  5. Na página Helm, exclua o componente ack-node-problem-detector.

  6. Na página Clusters, encontre o cluster e clique em seu nome. No painel de navegação à esquerda, escolha Operations > Add-ons.

  7. Na aba Observability, localize e reinstale o ack-node-problem-detector.