Integre o Managed Service for Prometheus para coletar de forma abrangente métricas do plano de controle, dos nós e das aplicações do seu cluster ACK, e melhore a eficiência do gerenciamento de desempenho do cluster por meio de painéis visuais e alertas em tempo real.
Escolher uma edição
O Managed Service for Prometheus integra-se totalmente ao ecossistema de código aberto do Prometheus e fornece um serviço de monitoramento totalmente gerenciado. Não é necessário gerenciar o armazenamento de dados subjacente, a visualização de dados nem a operação e manutenção.
Pro Edition (Recomendada): Oferece período de retenção de métricas de 90 dias, coletores totalmente gerenciados e SLA de produção de 99,95%. Disponibiliza painéis personalizáveis do Grafana e regras de alerta pré-configuradas para componentes do Container Service for Kubernetes (ACK). Para mais informações, consulte Usar o Container Monitoring Pro Edition.
Basic Edition: Oferece período de retenção de métricas de 7 dias. É necessário fazer a manutenção dos coletores, e apenas painéis básicos são fornecidos.
Ativar o monitoramento do Prometheus
Cluster existente
(Opcional) Para um cluster ACK dedicado, primeiro conceda permissões de monitoramento ao cluster.
Na página Clusters, clique 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êiner e clique em Install.
Após ativar o monitoramento, as métricas básicas padrão são coletadas automaticamente. Para coletar métricas personalizadas, consulte Coletar métricas personalizadas. Você pode visualizar vários painéis pré-configurados na página atual, como Cluster Overview, Node Monitoring, Application Monitoring, Network Monitoring e Storage Monitoring.
Novo cluster
ACK managed cluster (Pro Edition):
Na etapa Component Configurations do assistente de criação do cluster, na seção Container Monitoring, selecione Container Cluster Monitoring Pro Edition ou Container Cluster Monitoring Basic Edition. Para mais informações, consulte Criar um cluster gerenciado ACK.
O Auto Mode usa como padrão o Container Cluster Monitoring Basic Edition.
Cluster gerenciado ACK (Basic Edition), clusters ACS e clusters ACK Serverless:
Na etapa Component Configurations do assistente de criação do cluster, na seção Container Monitoring, selecione Enable Managed Service for Prometheus. Isso instala o Container Cluster Monitoring Basic Edition.
Após ativar o monitoramento, as métricas básicas padrão são coletadas automaticamente. Para coletar métricas personalizadas, consulte Coletar métricas personalizadas. Você pode visualizar vários painéis pré-configurados, como Cluster Overview, Node Monitoring, Application Monitoring, Network Monitoring e Storage Monitoring, acessando no painel de navegação à esquerda da página de detalhes do cluster.
Configurar notificações de alerta
Configure regras de alerta para métricas essenciais a fim de enviar notificações automaticamente por canais como e-mail, SMS ou DingTalk quando ocorrerem anomalias.
-
Log on to the ARMS console. In the left-side navigation pane, choose .
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 console ARMS, 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 Gerenciar regras de coleta personalizadas para ambientes de contêiner.
Desativar 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.
Cobrança
Taxas de monitoramento do cluster: A Basic Edition é gratuita. A Pro Edition é cobrada no modelo pay-as-you-go 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. A coleta de métricas personalizadas é cobrada no modelo pay-as-you-go com base em fatores como volume de escrita, volume de relatórios, volume de armazenamento e período de retenção.
Para regras de cobrança detalhadas e preços, consulte Cobrança do Container Monitoring.
Métricas básicas padrão
Após ativar o monitoramento do Prometheus, as métricas básicas para monitoramento de contêiner são coletadas automaticamente. Para descrições detalhadas dessas métricas, consulte Métricas.
Métricas básicas de recursos para contêineres do kubelet.
Métricas de estado das aplicações para clusters do kube-state-metrics.
Métricas básicas de recursos para nós do cluster do node-exporter.
Métricas de GPU para nós do cluster do 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 para o CoreDNS no cluster.
Métricas básicas de monitoramento para os controladores de Ingress no cluster.
As seguintes métricas básicas são reportadas automaticamente após ativar os recursos correspondentes:
Após ativar o Container Storage Monitoring, o add-on csi-plugin começa a reportar métricas.
Após ativar o Cost Insight, o add-on ack-cost-exporter começa a reportar métricas.
Após ativar o monitoramento de colocalização de cargas de trabalho e o Resource Profiling, o add-on ack-koordinator começa a reportar métricas.
Perguntas frequentes
A página do Prometheus Monitoring não exibe nenhum painel
Se você vir a mensagem No related monitoring dashboard found na página após ativar o monitoramento do Prometheus, siga estas etapas para resolver o problema.
Reinstale o add-on de monitoramento do Prometheus.
Reinstale o componente:
Após confirmar 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, volte para a página Prometheus Monitoring e verifique 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 esse ambiente de contêiner não existir, consulte Integrar um serviço no console ARMS ou Prometheus.
Se esse ambiente de contêiner existir, clique em Settings na coluna Actions do ambiente de contêiner desejado para acessar a página Settings.
Verifique se o agente instalado está funcionando conforme esperado.
Como ajustar o período de retenção das métricas
Para mais informações, consulte Ajustar o período de retenção das métricas.
Como verificar a versão do add-on ack-arms-prometheus
Na página Clusters, clique 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 mais recente estiver disponível e você desejar 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?
If a GPU node has taints, GPU monitoring may fail to deploy. Use the following steps to view the taints on the GPU node.
-
Run the following command to view the taints on the target GPU node.
If the GPU node has custom taints, you can find the taint-related entries. This example uses a taint with
keyset totest-key,valueset totest-value, andeffectset toNoSchedule:kubectl describe node cn-beijing.47.100.***.***Expected output:
Taints:test-key=test-value:NoSchedule -
Use one of the following two methods to handle the taints on the GPU node.
-
Run the following command to remove the taint from the GPU node.
kubectl taint node cn-beijing.47.100.***.*** test-key=test-value:NoSchedule- -
Declare a toleration for the taint on the GPU node to allow pods to be scheduled to the tainted node.
# 1. Run the following command to edit ack-prometheus-gpu-exporter. kubectl edit daemonset -n arms-prom ack-prometheus-gpu-exporter # 2. Add the following fields to the YAML file to declare a toleration for the taint. # Other fields are omitted. #tolerations field is added above the containers field, at the same level as the containers field. tolerations: - key: "test-key" operator: "Equal" value: "test-value" effect: "NoSchedule" containers: # Other fields are omitted.
-
Como desinstalar completamente o ARMS Prometheus
Deleting only the namespace of Managed Service for Prometheus leaves residual configuration after the resources are deleted and affects reinstallation. Perform the following operations to completely delete the residual ARMS-Prometheus configuration manually.
-
Delete the arms-prom namespace.
kubectl delete namespace arms-prom -
Delete the 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 -
Delete the 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 -
Delete the Roles and 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 serviço se você o implantou manualmente usando o Helm, ou se restaram recursos residuais devido a problemas de ambiente ou versão do Helm.
Na página Clusters, clique no nome do cluster desejado. No painel de navegação à esquerda, escolha .
Na página Helm, localize a release ack-arms-prometheus, clique em Delete na coluna Actions, selecione Clear Release Records e exclua o aplicativo conforme as instruções.
Erro "xxx in use" durante a instalação
Na página Clusters, clique 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 da página Helm e reinstale-o na página Add-ons. Para mais informações sobre como instalar o ack-arms-prometheus, consulte Gerenciar componentes.
Se não existir:
A release Helm do ack-arms-prometheus pode ter recursos residuais. Desinstale completamente o ARMS Prometheus manualmente.
Erro "Component Not Installed" durante a instalação
Verifique se o add-on ack-arms-prometheus está instalado.
On the Clusters page, click the name of the target cluster. In the left-side navigation pane, choose .
On the Helm page, check whether ack-arms-prometheus exists.
If it exists, delete ack-arms-prometheus from the Helm page and reinstall it on the Add-ons page. For more information about how to install ack-arms-prometheus, see Manage components.
If it does not exist:
The ack-arms-prometheus Helm release may have residual resources. Manually uninstall ARMS Prometheus completely.
Verifique se há erros nos logs do ack-arms-prometheus.
No painel de navegação à esquerda da página de detalhes do cluster, escolha .
Na parte superior da página Deployments, defina o Namespace como arms-prom e clique em arms-prometheus-ack-arms-prometheus.
Clique 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 acessar a página Settings.
Como conceder permissões de monitoramento para clusters dedicados ACK
Na página Clusters, clique no nome do cluster desejado. No painel de navegação à esquerda, clique em Cluster Information.
Na aba Basic Information, clique no link KubernetesWorkerRole-*** ao lado de Worker RAM Role e mude para a aba Trust Policy na página da função 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