Managed Service for Prometheus permite coletar métricas no nível do sistema operacional de hosts Linux ou Windows do Elastic Compute Service (ECS) usando o node_exporter. Além disso, coleta dados de monitoramento relacionados a processos com o process_exporter e recupera métricas de monitoramento personalizadas que você grava em arquivos por meio do coletor textfile.
Pré-requisitos
O Managed Service for Prometheus está ativado.
O Hybrid Cloud Monitoring está ativado.
Benefícios do monitoramento de hosts
O monitoramento de hosts oferece uma solução de observabilidade automatizada para instâncias do Alibaba Cloud ECS. Essa solução abrange a descoberta de hosts, a instalação de agentes, a coleta de métricas e a geração de alertas.
Há suporte para instâncias do Alibaba Cloud ECS, servidores de data center autogerenciados e servidores de cloud de terceiros. Para instâncias do ECS, o service instala automaticamente os exporters e gera as configurações de coleta. Um agente gerenciado do Prometheus cuida da coleta, armazenamento, visualização e alertas das métricas. Para hosts que não são do Alibaba Cloud e não têm suporte à descoberta automática, instale manualmente o agente do Alibaba Cloud para enviar os dados.
Benefício | Descrição |
Descoberta de hosts quase em tempo real |
|
Instalação de agente quase em tempo real |
|
Coleta de métricas quase em tempo real |
Um host é integrado em 30 a 60 segundos após a criação. Os intervalos de coleta podem ser ajustados de 1 a 60 segundos. |
Agente serverless |
|
Rótulos de métricas inteligentes |
|
Coleta e armazenamento de dados em grande escala |
|
Dados de monitoramento abrangentes de upstream e downstream |
|
Monitoramento no nível do processo |
|
Painéis do Grafana de nível especializado incluídos por padrão |
|
Etapa 1: Integrar dados de monitoramento de hosts
Acesse o console do ARMS. No painel de navegação à esquerda, clique em Integration Center.
-
Na página Integration Center, clique em Infrastructure no painel de navegação à esquerda e, em seguida, clique em Host Monitoring.
NotaO Managed Service for Prometheus usa o Resource Center para descobrir VPCs e instâncias do ECS. Se o Resource Center não estiver ativado, o processo de integração orientará você a ativá-lo. Activate Resource Center.
A ativação do Resource Center é uma operação assíncrona. Se o status não for atualizado, aguarde de 10 a 20 segundos e clique em Redetect.
-
No painel exibido, selecione a VPC de destino e configure as Configuration Information conforme descrito na tabela a seguir.
Parâmetro
Descrição
Nome da política
Opcional. Nome para esta integração.
Observações
Este recurso coleta métricas sem agente para o ECS a partir do Cloud Monitor. Você também pode instalar exporters, como Node-Exporter, Process-Exporter ou Windows-Exporter, para coletar métricas do agente do host.
A instalação de um agente em um host em ambiente de produção é considerada uma mudança de produção. Envie uma solicitação de mudança de acordo com os padrões da sua organização.
Se o acesso entre regiões estiver ativado, não será possível usar um agente para coletar métricas de nó, processo ou Windows.
Atualmente, não há suporte para a instalação do exporter no LifseaOS. As instâncias que executam o LifseaOS são ignoradas automaticamente.
Uso de recursos: o agente é executado como um service do systemd com GOMAXPROCS=1, limite de CPU de 30% e limite de memória de 256 MB. O uso de recursos é baixo em condições normais. A sobrecarga de coleta aumenta conforme o número de processos no host.
Aviso de risco: ativar o recurso Collect Process PSS Memory Metrics lê o arquivo smaps para cada processo e retém brevemente o mmap_lock. Isso pode introduzir falhas de latência para processos que usam grandes quantidades de memória ou executam operações mmap frequentes. Se você não precisar de métricas de Proportional Set Size (PSS), desative este recurso.
Node-exporter installation mode
Automatic Installation (Recommended): instala o node-exporter automaticamente nas instâncias do ECS selecionadas. Não requer etapas manuais.
Self-installation: instale o node-exporter por conta própria.
Host discovery mode
Stain label selection: mecanismo de lista de bloqueios. Instâncias com rótulos correspondentes são excluídas. Por padrão, os nós do service de monitoramento de contêineres não são coletados.
Unconditional: instala exporters e coleta métricas de monitoramento de todos os hosts do ECS na VPC atual.
Tag selection: mecanismo de lista de permissões. Apenas instâncias com tags correspondentes são integradas.
IP CIDR selection: integra instâncias cujo IP esteja dentro do bloco CIDR especificado. Insira o bloco CIDR da VPC para selecionar todas as instâncias na VPC.
Instance ID: especifique os IDs das instâncias, separados por vírgulas (,).
ECS stain label
Cada stain label é um par chave-valor. Você pode definir vários rótulos.
Collect TextFile
Define se as métricas do Prometheus devem ser coletadas de um arquivo especificado.
Collect process status metrics
Coleta dados de monitoramento de processos por padrão.
Collect Process PSS Memory Metrics
Quando ativado, lê o arquivo
smapspara cada processo a fim de coletar o PSS (memória residente de tamanho proporcional) e métricas relacionadas.Node-Exporter Service Port
A porta padrão é 9100. Se o arms-prometheus e o ack-prometheus-operator estiverem instalados no mesmo cluster ACK, ambos os conjuntos de node-exporter usarão a porta 9100 por padrão, o que pode causar um conflito de porta e resultar em erros de service.
Metric scrape interval (seconds)
Intervalo de coleta. Padrão: 15 segundos.
Automatically configure security groups
Ativado por padrão.
Custom ECS tag injection
Especifique uma chave de tag do ECS. O sistema injeta o par chave-valor da tag nas métricas do Prometheus como rótulos.
Clique em OK. Aguarde de 1 a 2 minutos para que a integração seja concluída.
Se nenhum dado aparecer no painel após a integração, verifique se as regras de entrada do grupo de segurança do ECS permitem que os blocos CIDR 100.64.0.0/10 e 192.168.0.0/18 acessem as portas 9100 e 9256 (portas padrão para node-exporter e process-exporter). View security group rules. Se você usar portas diferentes, ajuste as regras de acordo.
Solucionar e resolver conflitos de porta do node-exporter
Quando o arms-prometheus e o ack-prometheus-operator são implantados no mesmo cluster ACK, seus respectivos DaemonSets do node-exporter competem pela hostPort 9100. Isso impede que um dos conjuntos de pods do node-exporter seja iniciado. Para resolver isso, altere a porta de um dos DaemonSets do node-exporter para 9101.
-
Agora, execute os seguintes comandos e confirme quais pods do node-exporter do DaemonSet falharam no agendamento:
kubectl get pods -A | grep node-exporter kubectl describe pod <pod-name> -n <namespace> -
A seguir, edite o DaemonSet em conflito:
kubectl edit daemonset <daemonset-name> -n <namespace> -
No YAML do DaemonSet, localize o argumento
--secure-listen-addresse altere a porta de9100para9101e atualize também os valores decontainerPortehostPortpara9101:args: - --secure-listen-address=0.0.0.0:9101 ... ports: - containerPort: 9101 hostPort: 9101 name: https -
Salve e saia. Verifique se os pods do node-exporter foram reiniciados e estão em execução na nova porta.
NotaSe o componente foi instalado originalmente usando o Helm, um
helm upgradesubsequente pode sobrescrever suas alterações. Antes de fazer o upgrade, faça backup da configuração modificada ou bloqueie a versão do chart.
Configurar um ServiceMonitor para monitoramento personalizado
Após resolver o conflito de porta, crie um ServiceMonitor no console do ARMS para coletar métricas da instância do node-exporter na nova porta.
Acesse o console do ARMS.
No painel de navegação à esquerda, escolha Prometheus Monitoring > Service Discovery.
Clique em Create ServiceMonitor. No painel de criação, selecione YAML Mode.
-
Insira uma configuração do ServiceMonitor que tenha como alvo o seu service do node-exporter na porta 9101. Veja um exemplo:
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: node-exporter-custom namespace: <namespace> spec: endpoints: - port: https interval: 15s scheme: https tlsConfig: insecureSkipVerify: true namespaceSelector: matchNames: - <namespace> selector: matchLabels: app.kubernetes.io/name: node-exporterSubstitua
<namespace>pelo namespace onde o seu node-exporter está implantado. Clique em OK. O ServiceMonitor entra em vigor em alguns minutos.
Etapa 2: Visualizar painéis de monitoramento
No painel de navegação à esquerda, clique em Integration Management.
Na página Integration Management, clique na guia Integrated Environments e selecione ECS Environment.
Na lista ECS Environment, clique no nome do ambiente de destino para abrir sua página de detalhes.
Na guia Component Management, na seção Addon Type, clique em Dashboard e visualize os painéis integrados do Grafana.
Etapa 3: Configurar alertas
Acesse o console do Managed Service for Prometheus. No painel de navegação à esquerda, clique em Integration Management.
Na página Integration Management, clique na guia Integrated Environments e selecione ECS Environment.
Na lista ECS Environment, clique no nome do ambiente de destino para abrir sua página de detalhes.
Na guia Component Management, na seção Addon Type, clique em Alarm Rules e visualize as regras de alerta integradas.
As regras de alerta integradas geram eventos, mas não enviam notificações. Para enviar notificações, clique em Edit para configurar um método de notificação. Você também pode personalizar limiares, duração e conteúdo. Create alert rules for a Prometheus instance.
No Simple Mode, defina os destinatários da notificação, o período de notificação e a política de repetição.
Exemplos de painéis do Grafana
Painel ECS Overview

Painel ECS Detail
