Integre o Managed Service for Prometheus para coletar métricas do plano de controle, dos nós e das aplicações do seu cluster ACK de forma abrangente. Melhore a eficiência do gerenciamento de desempenho do cluster por meio de painéis visuais e alertas em tempo real.
Escolha uma edição
O Managed Service for Prometheus integra-se totalmente ao ecossistema open source do Prometheus e oferece um service de monitoramento totalmente gerenciado. Não é necessário gerencie o armazenamento de dados subjacente, a visualização de dados ou as operações e manutenção (O&M).
Pro Edition (Recomendada): Oferece período de retenção de métricas de 90 dias, coletores totalmente gerenciados e SLA de nível de produção de 99,95%. Inclui painéis do Grafana personalizáveis e regras de alerta pré-configuradas para componentes do Container Service for Kubernetes (ACK). Para mais informações, consulte Use Container Monitoring Pro Edition.
Basic Edition: Disponibiliza retenção de métricas por 7 dias. A manutenção dos coletores é de sua responsabilidade e apenas painéis básicos são fornecidos.
Ative o monitoramento do Prometheus
Cluster existente
(Opcional) Para um cluster dedicado do ACK, primeiro conceda permissões de monitoramento ao cluster.
Na página Clusters, clique em no nome do cluster desejado. No painel de navegação à esquerda da página de detalhes do cluster, escolha .
-
Na página Prometheus Monitoring, selecione uma edição de monitoramento de contêineres e clique em Install.
Após ative o monitoramento, as métricas básicas padrão são coletadas automaticamente. Para coletar métricas personalizadas, consulte Coletar métricas personalizadas . É possível visualize diversos painéis pré-configurados na página atual, como Cluster Overview , Node Monitoring , Application Monitoring , Network Monitoring e Storage Monitoring .
Novo cluster
-
Cluster gerenciado do ACK (Pro Edition):
Na etapa Component Configurations do assistente de criação de cluster, na seção Container Monitoring, selecione Container Cluster Monitoring Pro Edition ou Container Cluster Monitoring Basic Edition. Para mais informações, consulte Crie an ACK managed cluster.
O Auto Mode usa como padrão a Container Cluster Monitoring Basic Edition.
-
Cluster gerenciado do ACK (Basic Edition), clusters ACS e clusters ACK Serverless:
Na etapa Component Configurations do assistente de criação de cluster, na seção Container Monitoring, selecione Enable Managed Service for Prometheus. Essa ação instale a Container Cluster Monitoring Basic Edition.
Após ative o monitoramento, as métricas básicas padrão são coletadas automaticamente. Para coletar métricas personalizadas, consulte Coletar métricas personalizadas . Diversos painéis pré-configurados estão disponíveis, como Cluster Overview , Node Monitoring , Application Monitoring , Network Monitoring e Storage Monitoring . Para acessá-los, escolha no painel de navegação à esquerda da página de detalhes do cluster.
Configure notificações de alerta
Configure regras de alerta para métricas essenciais e envie notificações automaticamente por canais como e-mail, SMS ou DingTalk sempre que ocorrerem anomalias.
Faça login no ARMS console. No painel de navegação à esquerda, escolha .
Na página Notification Objects, selecione um método de notificação e crie uma política de notificação.
No painel de navegação à esquerda do ARMS console, escolha .
-
Na página Prometheus alert rules, clique em Create Prometheus Alert Rule.
Para instruções detalhadas de configuração, consulte Criar uma regra de alerta do Prometheus .
Coletar métricas personalizadas
O Managed Service for Prometheus oferece suporte a vários métodos para coletar métricas personalizadas, como consultas por segundo (QPS) e latência de processamento. Para mais informações, consulte Gerencie regras de coleta personalizada para ambientes de contêiner.
Desative o monitoramento do Prometheus
No painel de navegação à esquerda da página de detalhes do cluster, clique em Add-ons.
Na página Add-ons, localize o add-on ack-arms-prometheus e clique em . Na caixa de diálogo de confirmação, clique em OK.
Faturamento
Taxas de monitoramento de cluster: A Basic Edition é gratuita. A Pro Edition utiliza o modelo de pagamento conforme o uso, com base no número de nós do cluster.
Taxas de instância do Prometheus: A coleta de métricas básicas é gratuita por padrão. Já a coleta de métricas personalizadas segue o modelo de pagamento conforme o uso, considerando fatores como volume de escrita, volume de relatórios, volume de armazenamento e período de retenção.
Para regras de faturamento e preços detalhados, consulte Faturamento do Monitoramento de Contêiner.
Métricas básicas padrão
Ao ative o monitoramento do Prometheus, as métricas básicas para monitoramento de contêineres passam a ser coletadas automaticamente. Para descrições detalhadas dessas métricas, consulte Métricas.
Métricas básicas de recursos de contêineres provenientes do kubelet.
Métricas de estado de aplicações dos clusters obtidas via kube-state-metrics.
Métricas básicas de recursos dos nós do cluster coletadas pelo node-exporter.
Métricas de GPU dos nós do cluster fornecidas pelo ack-gpu-exporter.
Métricas para componentes do plano de controle de clusters gerenciados, incluindo API server, etcd, kube-scheduler, kube-controller-manager e cloud-controller-manager.
Métricas básicas de monitoramento do CoreDNS no cluster.
Métricas básicas de monitoramento dos controladores de Ingress no cluster.
-
As seguintes métricas básicas são relatadas automaticamente após a ativação dos recursos correspondentes:
Ao ative o Monitoramento de Armazenamento de Contêiner, o add-on csi-plugin inicia o relato de métricas.
Ao ative o Cost Insight, o add-on ack-cost-exporter inicia o relato de métricas.
Ao ative o monitoramento de colocalização de carga de trabalho e o Resource Profiling, o add-on ack-koordinator inicia o relato de métricas.
Perguntas frequentes
A página Prometheus Monitoring não exibe nenhum painel
Caso visualize o aviso No related monitoring dashboard found na página após ative o monitoramento do Prometheus, siga estas etapas para resolver o problema.
-
Reinstale o add-on de monitoramento do Prometheus.
-
Reinstale o componente:
Após confirme que o componente foi desinstalado, clique em Install. Na caixa de diálogo de confirmação, clique em OK.
-
Após a conclusão da instalação, retorne à página Prometheus Monitoring para verificar se o problema foi resolvido.
Se o problema persistir, prossiga com as etapas a seguir.
-
Verifique a integração da instância do Prometheus.
No painel de navegação à esquerda do ARMS console, clique em Integration Management.
-
Na aba Integrations, verifique a lista Container Service em busca de um ambiente de contêiner com o mesmo nome do seu cluster.
Se não existir tal ambiente de contêiner, consulte Integrar um service no console do ARMS ou do Prometheus.
-
Se tal ambiente de contêiner existir, clique em Settings na coluna Actions do ambiente de contêiner desejado para acesse a página Settings.
Verifique se o agente instalado está funcionando conforme esperado.
Como ajustar o período de retenção de métricas
Para mais informações, consulte Ajustar o período de retenção de métricas.
Como visualize a versão do add-on ack-arms-prometheus
Na página Clusters, clique em no nome do cluster desejado. No painel de navegação à esquerda, clique em Add-ons.
-
Na página Add-ons, localize o add-on ack-arms-prometheus.
A versão atual é exibida abaixo do nome do componente. Se uma versão posterior estiver disponível e você quiser atualizar o componente, clique em Upgrade ao lado do número da versão.
NotaA opção Upgrade é exibida apenas se a versão instalada não for a mais recente.
Por que a implantação do monitoramento de GPU falha?
A implantação do monitoramento de GPU pode falhar se o nó de GPU tiver taints. Para resolver esse problema, verifique primeiro os taints do nó.
-
Execute o comando a seguir para verificar os taints do nó de GPU de destino.
Se o nó de GPU tiver taints personalizados, você poderá encontrar as entradas relacionadas. Este exemplo usa um taint com uma
keydetest-key, umvaluedetest-valuee umeffectdeNoSchedule:kubectl describe node cn-beijing.47.100.***.***Saída esperada:
Taints:test-key=test-value:NoSchedule -
Lide com os taints do nó de GPU de uma das duas maneiras a seguir:
-
Execute o comando a seguir para remover o taint do nó de GPU.
kubectl taint node cn-beijing.47.100.***.*** test-key=test-value:NoSchedule- -
Declare uma tolerância para o taint para permitir que pods sejam agendados no nó.
# 1. Run the following command to edit the ack-prometheus-gpu-exporter DaemonSet. kubectl edit daemonset -n arms-prom ack-prometheus-gpu-exporter # 2. Add the following fields to the YAML file to declare the toleration for the taint. # Other fields are omitted. # The `tolerations` field is added above the `containers` field and at the same level. tolerations: - key: "test-key" operator: "Equal" value: "test-value" effect: "NoSchedule" containers: # Other fields are omitted.
-
Como desinstalar completamente o ARMS Prometheus
Exclua apenas o namespace do Managed Service for Prometheus deixa configurações residuais após a exclusão dos recursos. Isso afeta a reinstalação. Você pode execute as operações a seguir para exclua completa e manualmente as configurações residuais do ARMS-Prometheus.
-
Exclua o namespace arms-prom.
kubectl delete namespace arms-prom -
Exclua os ClusterRoles.
kubectl delete ClusterRole arms-kube-state-metrics kubectl delete ClusterRole arms-node-exporter kubectl delete ClusterRole arms-prom-ack-arms-prometheus-role kubectl delete ClusterRole arms-prometheus-oper3 kubectl delete ClusterRole arms-prometheus-ack-arms-prometheus-role kubectl delete ClusterRole arms-pilot-prom-k8s kubectl delete ClusterRole gpu-prometheus-exporter kubectl delete ClusterRole o11y:addon-controller:role kubectl delete ClusterRole arms-aliyunserviceroleforarms-clusterrole -
Exclua os ClusterRoleBindings.
kubectl delete ClusterRoleBinding arms-node-exporter kubectl delete ClusterRoleBinding arms-prom-ack-arms-prometheus-role-binding kubectl delete ClusterRoleBinding arms-prometheus-oper-bind2 kubectl delete ClusterRoleBinding arms-kube-state-metrics kubectl delete ClusterRoleBinding arms-pilot-prom-k8s kubectl delete ClusterRoleBinding arms-prometheus-ack-arms-prometheus-role-binding kubectl delete ClusterRoleBinding gpu-prometheus-exporter kubectl delete ClusterRoleBinding o11y:addon-controller:rolebinding kubectl delete ClusterRoleBinding arms-kube-state-metrics-agent kubectl delete ClusterRoleBinding arms-node-exporter-agent kubectl delete ClusterRoleBinding arms-aliyunserviceroleforarms-clusterrolebinding -
Exclua os Roles e RoleBindings.
kubectl delete Role arms-pilot-prom-spec-ns-k8s kubectl delete Role arms-pilot-prom-spec-ns-k8s -n kube-system kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s -n kube-system
Como desinstalar usando o Helm
Use este método para desinstalar o service se você o implantou manualmente usando o Helm ou se houver recursos residuais devido a problemas de ambiente ou versão do Helm.
Na página Clusters, clique em no nome do cluster desejado. No painel de navegação à esquerda, escolha .
Na página Helm, localize o release ack-arms-prometheus, clique em Delete na coluna Actions, selecione Clear Release Records e exclua a aplicação conforme solicitado.
Erro "xxx in use" durante a instalação
Na página Clusters, clique em no nome do cluster desejado. No painel de navegação à esquerda, escolha .
-
Na página Helm, verifique se o ack-arms-prometheus existe.
Se existir, exclua o ack-arms-prometheus na página Helm e reinstale-o na página Add-ons. Para mais informações sobre como instale o ack-arms-prometheus, consulte Gerencie componentes.
-
Se não existir:
O release Helm do ack-arms-prometheus pode ter recursos residuais. Desinstale o ARMS Prometheus completamente de forma manual.
Erro "Component Not Installed" durante a instalação
-
Verifique se o add-on ack-arms-prometheus está instalado.
Na página Clusters, clique em no nome do cluster desejado. No painel de navegação à esquerda, escolha .
-
Na página Helm, verifique se o ack-arms-prometheus existe.
Se existir, exclua o ack-arms-prometheus na página Helm e reinstale-o na página Add-ons. Para mais informações sobre como instale o ack-arms-prometheus, consulte Gerencie componentes.
-
Se não existir:
O release Helm do ack-arms-prometheus pode ter recursos residuais. Desinstale o ARMS Prometheus completamente de forma manual.
-
Verifique se há erros nos logs do ack-arms-prometheus.
No painel de navegação à esquerda da página de detalhes do cluster, escolha .
No topo da página Deployments, defina o Namespace como arms-prom e clique em arms-prometheus-ack-arms-prometheus.
Clique em na aba Logs para verificar se há erros nos logs.
-
Verifique se ocorreu algum erro durante a instalação do agente.
Faça login no ARMS console. No painel de navegação à esquerda, clique em Integration Management.
Na aba Integrations, verifique a lista Container Service. Na coluna Actions do ambiente de contêiner desejado, clique em Settings para acesse a página Settings.
Como conceder permissões de monitoramento para clusters dedicados do ACK
Na página Clusters, clique em no nome do cluster desejado. No painel de navegação à esquerda, clique em Cluster Information.
Na aba Basic Information, clique em no link KubernetesWorkerRole-*** ao lado de Worker RAM Role e mude para a aba Trust Policy na página da função do RAM.
Na aba Trust Policy, clique em Edit Trust Policy.
-
No editor de scripts, adicione a seguinte regra de autorização ao campo Statement e clique em OK.
{ "Statement": [ { "Action": [ "arms:Describe*", "arms:List*", "arms:Get*", "arms:Search*", "arms:Check*", "arms:Query*", "arms:ListEnvironments", "arms:DescribeAddonRelease", "arms:InstallAddon", "arms:DeleteAddonRelease", "arms:ListEnvironmentDashboards", "arms:ListAddonReleases", "arms:CreateEnvironment", "arms:UpdateEnvironment", "arms:InitEnvironment", "arms:DescribeEnvironment", "arms:InstallEnvironmentFeature", "arms:ListEnvironmentFeatures", "cms:GetIntegrationVersionForCS", "cms:CreateIntegrationPolicy", "cms:ListAddonReleases", "cms:UpdateAddonRelease", "cms:CreateAddonRelease", "cms:GetPrometheusInstance", "cms:ListIntegrationPolicyStorageRequirements", "log:PostLogStoreLogs" ], "Resource": "*", "Effect": "Allow" } ], "Version": "1" }
Tópicos relacionados
Atualizar o Managed Service for Prometheus da Basic Edition para a Pro Edition