O Managed Service for Prometheus oferece monitoramento de containers nas edições Basic e Pro. Este tópico aborda como ativar a Pro Edition, seu modelo de faturamento, a comparação de recursos com a Basic Edition, os painéis compatíveis e as regras de alerta padrão.
Tipos de cluster compatíveis
ACK Pro cluster
ACK Lingjun cluster
ACK Dedicated cluster
Pré-requisitos
Antes de usar o Container Monitoring Pro Edition, ative o Managed Service for Prometheus (faturado por volume de dados ingeridos link de ativação ou por quantidade de amostras ingeridas link de ativação) e, em seguida, ative o Container Monitoring Pro Edition.
Faturamento do Container Monitoring Pro Edition
|
Item de faturamento |
Descrição |
Método de faturamento |
Ciclo de faturamento |
|
Taxa de monitoramento de escala do cluster |
O uso de OCU é calculado com base no número de nós no cluster Kubernetes. Uma OCU equivale a 10 nós do cluster. Nota
OCU: A Observability Capacity Unit (OCU) é uma unidade de faturamento da Observabilidade Nativa da Alibaba Cloud. O sistema calcula automaticamente o uso de OCU com base no consumo horário de recursos. O preço é USD 0,023 por OCU. |
Pagamento conforme o uso: Taxa diária de monitoramento de escala do cluster = Soma da contagem horária de OCUs × Preço unitário da OCU Nota
Contagem horária de OCUs = ceil(Número máximo de nós no ciclo de faturamento atual / 10) |
O ciclo de faturamento é horário. Após as 00:00 de cada dia, o Managed Service for Prometheus calcula a taxa diária determinando a contagem máxima de nós por hora no dia anterior, convertendo cada contagem para OCUs, somando todas as OCUs horárias e multiplicando pelo preço unitário da OCU. |
|
Taxa de instância do Prometheus |
Para mais informações, consulte Prometheus instance billing. |
||
Ativar o Container Monitoring Pro Edition
Método 1: Selecionar a versão Pro durante a integração
Na página Integration Center, selecione Kubernetes Cluster Monitoring.
No painel Kubernetes Cluster Monitoring, selecione o cluster Container Service for Kubernetes (ACK) desejado, escolha Container Monitoring Pro Edition e clique em OK.
Método 2: Atualizar para a Pro Edition
Após atualizar para o Container Monitoring Pro Edition, não é possível fazer downgrade para a Basic Edition.
Na página Integration Management, escolha Integrated Environments > Container Service.
Localize a integração de monitoramento de containers que deseja atualizar e, na coluna Actions, clique em Upgrade. Na caixa de diálogo de confirmação exibida, clique em OK.
Verificar agente coletor não gerenciado residual após a atualização
O Container Monitoring Basic Edition implanta um agente coletor não gerenciado, o Deployment arms-prometheus-ack-arms-prometheus, no cluster. Após a atualização para a Pro Edition, esse Deployment pode permanecer no cluster. Nesse caso, ele coleta métricas (como as de GPU) em paralelo com o agente coletor gerenciado. Consequentemente, uma única métrica aparece como duas séries temporais que diferem apenas no rótulo job, o que duplica os dados de monitoramento.
Para detectar e remover um agente coletor não gerenciado residual, execute as etapas a seguir:
-
Verifique se ainda existe um agente coletor não gerenciado no namespace
arms-prom:kubectl -n arms-prom get deployments.appsSe a saída incluir
arms-prometheus-ack-arms-prometheus, o agente coletor não gerenciado ainda está em execução. -
Confirme a coleta duplicada usando PromQL. Na página de consulta de métricas da instância do Prometheus ou no Grafana, execute a seguinte consulta. A métrica total de framebuffer da GPU serve como exemplo:
count(DCGM_CUSTOM_DEV_FB_TOTAL)Um resultado maior que 1 indica que a métrica possui múltiplas séries temporais, sinalizando coleta duplicada. Para confirmar, verifique se as séries reportam o mesmo valor, mas possuem rótulos
jobdiferentes. Por exemplo,job=gpu-exporterrefere-se ao agente coletor gerenciado, enquantojob=node-gpu-exportercorresponde ao caminho de coleta do agente não gerenciado. É possível verificar outras métricas de GPU, comoDCGM_FI_DEV_GPU_UTIL, da mesma forma. -
Reduza o agente coletor não gerenciado residual para zero réplicas:
kubectl -n arms-prom scale deployment arms-prometheus-ack-arms-prometheus --replicas=0 -
Aguarde cerca de 5 minutos para respeitar a janela de obsolescência de métricas e execute novamente a consulta
count. Verifique se a consulta retorna 1 e se apenas a série temporal do agente coletor gerenciado permanece. Depois que os dados de monitoramento retornarem ao normal, exclua o Deployment:kubectl -n arms-prom delete deployment arms-prometheus-ack-arms-prometheus
Basic Edition vs. Pro Edition
|
Categoria |
Basic Edition |
Pro Edition |
|
Metric retention para métricas básicas de cluster de containers |
7 dias |
90 dias |
|
Coletor do Prometheus |
Implanta um agente no cluster sob sua gestão. Esse agente consome recursos do cluster (3 núcleos de CPU e 4 GB de memória por réplica, por padrão). |
Utiliza um agente coletor totalmente gerenciado que elimina custos de recursos no cluster e oferece um SLA de nível de produção de 99,95%. |
|
Painéis |
Painéis integrados básicos. |
Conjunto abrangente de painéis integrados. |
|
Sincronização automática de |
Compatível. Defina recursos |
Não compatível. A Pro Edition é um service totalmente gerenciado cujo agente coletor é administrado pela Alibaba Cloud; portanto, não é possível modificar parâmetros dos componentes subjacentes. Gerencie as regras de alerta na página de regras de alerta do Prometheus no console, que oferece dois tipos de detecção: limiares estáticos e PromQL personalizado. |
Painéis compatíveis no Container Monitoring Pro Edition
|
Tipo |
Painel |
|
Visão geral do monitoramento |
Visão geral do monitoramento do cluster |
|
Painel de Namespace do cluster |
|
|
Componentes principais do cluster |
Servidor de API do ACK Pro |
|
ETCD do ACK Pro |
|
|
Scheduler do ACK Pro |
|
|
Cloud Controller Manager do ACK Pro |
|
|
Kube Controller Manager do ACK Pro |
|
|
Monitoramento de nós |
Visão geral do pool de nós |
|
Detalhes do monitoramento de nós do cluster |
|
|
Monitoramento de aplicações |
Monitoramento de Deployments |
|
Monitoramento de StatefulSets |
|
|
Monitoramento de DaemonSets |
|
|
Monitoramento de Pods do cluster |
|
|
Monitoramento de rede |
Monitoramento do componente CoreDNS |
|
Monitoramento de tráfego Ingress do cluster |
|
|
Monitoramento de armazenamento |
Monitoramento do componente de armazenamento CSI (nível de cluster) |
|
Monitoramento do componente de armazenamento CSI (nível de nó) |
|
|
Monitoramento de IO de Pod (nível de Pod) |
|
|
Monitoramento de IO de armazenamento frontend (nível de cluster) |
|
|
Monitoramento de GPU |
Monitoramento de GPU do cluster (nível de cluster) |
|
Monitoramento de GPU do cluster (nível de nó) |
|
|
Monitoramento de GPU do cluster (por Pod de aplicação) |
|
|
Análise de custos/Otimização de recursos |
Perfil de recursos |
|
Outros |
Monitoramento de IO de armazenamento backend (nível de cluster) |
|
k8s-reclaimed-resource |
|
|
Automonitoramento do Prometheus do cluster |
|
|
Visão geral de nó virtual (ECI) |
Regras de alerta padrão
|
Nome da regra de alerta |
Grupo de alertas |
Modelo |
|
Uso de CPU do nó superior a 75% |
node |
O uso de CPU do nó {{ $labels.instance }} é superior a 75%. Uso atual: {{ printf "%.2f" $value }}% |
|
Uso de CPU do nó superior a 85% |
node |
O uso de CPU do nó {{ $labels.instance }} é superior a 85%. Uso atual: {{ printf "%.2f" $value }}% |
|
Uso de memória do nó superior a 75% |
node |
O uso de memória do nó {{ $labels.instance }} é superior a 75%. Uso atual: {{ printf "%.2f" $value }}% |
|
Uso de memória do nó superior a 85% |
node |
O uso de memória do nó {{ $labels.instance }} é superior a 85%. Uso atual: {{ printf "%.2f" $value }}% |
|
Anomalias no nó |
node |
O nó {{$labels.node}} está indisponível há mais de 10 minutos. |
|
Uso de disco superior a 95% |
node |
O uso do disco {{ $labels.device }} no nó {{ $labels.instance }} excedeu 95%. Uso atual: {{ printf "%.2f" $value }}% |
|
Disponibilidade de Pods do Deployment inferior a 50% |
workload |
Namespace: {{$labels.namespace}} / Deployment: {{$labels.deployment}} A disponibilidade de Pods é inferior a 50%. Número atual de Pods indisponíveis: {{ $value }} |
|
Falha na execução do Job |
workload |
Namespace: {{$labels.namespace}}/Job: {{$labels.job_name}} falha na execução. |
|
Timeout de inicialização do Pod |
workload |
Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}} falhou ao iniciar há mais de 15 minutos. Motivo da espera: {{$labels.reason}} |
|
Status anormal do Pod |
workload |
Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}} está no estado {{$labels.phase}} há mais de 10 minutos. |
|
Reinicializações frequentes de Pod |
workload |
Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}} reiniciou mais de {{ $labels.metrics_params_value}} vezes nos últimos {{$labels.metrics_params_time}} minutos. Contagem atual de reinicializações: {{ $value }} |
|
Uso de CPU do container excede 85% |
workload |
No Namespace {{$labels.namespace}}, o uso de CPU do container {{$labels.container}} no Pod {{$labels.pod_name}} excede 85%. Uso atual: {{ printf "%.2f" $value }}% |
|
Uso de CPU do container excede 75% |
workload |
No Namespace {{$labels.namespace}}, o uso de CPU do container {{$labels.container}} no Pod {{$labels.pod_name}} excede 75%. Uso atual: {{ printf "%.2f" $value }}% |
|
Uso de memória do container excede 75% |
workload |
No Namespace {{$labels.namespace}}, o uso de memória do container {{$labels.container}} no Pod {{$labels.pod_name}} excede 75%. Uso atual: {{ printf "%.2f" $value }}% |
|
Uso de memória do container excede 85% |
workload |
No Namespace {{$labels.namespace}}, o uso de memória do container {{$labels.container}} no Pod {{$labels.pod_name}} excede 85%. Uso atual: {{ printf "%.2f" $value }}% |