Managed Service for Prometheus ofrece monitoreo de contenedores en las ediciones Basic y Pro. Este tema explica cómo habilitar la Pro Edition, su modelo de facturación, la comparación de funciones con la Basic Edition, los dashboards compatibles y las reglas de alerta predeterminadas.
Tipos de clúster compatibles
ACK Pro cluster
ACK Lingjun cluster
ACK Dedicated cluster
Requisitos previos
Antes de utilizar Container Monitoring Pro Edition, active Managed Service for Prometheus (facturado por volumen de datos ingeridos enlace de activación o por cantidad de muestras ingeridas enlace de activación) y, a continuación, active Container Monitoring Pro Edition.
Facturación de Container Monitoring Pro Edition
|
Concepto de facturación |
Descripción |
Método de facturación |
Ciclo de facturación |
|
Tarifa de monitoreo a escala de clúster |
El uso de OCU se calcula según el número de nodos en su clúster de Kubernetes. Una OCU equivale a 10 nodos de clúster. Nota
OCU: La Observability Capacity Unit (OCU) es una unidad de facturación para Alibaba Cloud Native Observability. El uso de OCU se calcula automáticamente según el consumo horario de recursos. El precio es USD 0.023 por OCU. |
Pay-as-you-go: Tarifa diaria de monitoreo a escala de clúster = Suma del recuento horario de OCU × Precio unitario de OCU Nota
Recuento horario de OCU = ceil(Número máximo de nodos en el ciclo de facturación actual / 10) |
El ciclo de facturación es horario. Después de las 00:00 de cada día, Managed Service for Prometheus calcula la tarifa diaria al determinar el recuento máximo de nodos por hora del día anterior, convertir cada recuento a OCU, sumar todas las OCU horarias y multiplicar por el precio unitario de OCU. |
|
Tarifa de instancia de Prometheus |
Para obtener más información, consulte Prometheus instance billing. |
||
Habilitar Container Monitoring Pro Edition
Método 1: Seleccionar Pro durante la integración
En la página Integration Center, seleccione Kubernetes Cluster Monitoring.
En el panel Kubernetes Cluster Monitoring, seleccione su clúster de Container Service for Kubernetes (ACK) de destino, elija Container Monitoring Pro Edition y haga clic en OK.
Método 2: Actualizar a Pro Edition
Después de actualizar a Container Monitoring Pro Edition, no podrá cambiar a la Basic Edition.
En la página Integration Management, elija Integrated Environments > Container Service.
Busque la integración de monitoreo de contenedores que desea actualizar y, en su columna Actions, haga clic en Upgrade. En el cuadro de diálogo de confirmación que aparece, haga clic en OK.
Comprobar si quedó un agente de recolección no gestionado tras la actualización
Container Monitoring Basic Edition despliega un agente de recolección no gestionado, el Deployment arms-prometheus-ack-arms-prometheus, en su clúster. Al actualizar a la Pro Edition, este Deployment puede permanecer en el clúster. Si esto ocurre, recolecta métricas (como las de GPU) en paralelo con el agente de recolección gestionado. Como resultado, una sola métrica aparece como dos series temporales que solo difieren en la etiqueta job, lo cual duplica sus datos de monitoreo.
Para detectar y eliminar un agente de recolección no gestionado residual, realice los siguientes pasos:
-
Compruebe si aún existe un agente de recolección no gestionado en el namespace
arms-prom:kubectl -n arms-prom get deployments.appsSi la salida incluye
arms-prometheus-ack-arms-prometheus, el agente de recolección no gestionado sigue ejecutándose. -
Verifique si hay recolección duplicada mediante PromQL. En la página de consulta de métricas de su instancia de Prometheus o en Grafana, ejecute la siguiente consulta. Se utiliza como ejemplo la métrica total del framebuffer de GPU:
count(DCGM_CUSTOM_DEV_FB_TOTAL)Un resultado mayor que 1 indica que la métrica tiene varias series temporales, lo cual señala una recolección duplicada. Para confirmar, verifique que las series reporten el mismo valor pero tengan etiquetas
jobdiferentes. Por ejemplo,job=gpu-exportercorresponde al agente de recolección gestionado, mientras quejob=node-gpu-exporteres la ruta de recolección del agente no gestionado. Puede verificar otras métricas de GPU, comoDCGM_FI_DEV_GPU_UTIL, de la misma manera. -
Reduzca a cero las réplicas del agente de recolección no gestionado residual:
kubectl -n arms-prom scale deployment arms-prometheus-ack-arms-prometheus --replicas=0 -
Espere aproximadamente 5 minutos para que se cumpla la ventana de obsolescencia de métricas y luego ejecute nuevamente la consulta
count. Compruebe que la consulta devuelva 1 y que solo permanezca la serie temporal del agente de recolección gestionado. Una vez que los datos de monitoreo vuelvan a la normalidad, elimine el Deployment:kubectl -n arms-prom delete deployment arms-prometheus-ack-arms-prometheus
Basic Edition vs. Pro Edition
|
Categoría |
Basic Edition |
Pro Edition |
|
Metric retention para métricas básicas de clúster de contenedores |
7 días |
90 días |
|
Recolector de Prometheus |
Despliega un agente dentro del clúster que usted gestiona. Este agente consume recursos del clúster (3 núcleos de CPU y 4 GB de memoria por réplica de forma predeterminada). |
Utiliza un agente de recolección totalmente gestionado que elimina los costos de recursos en su clúster y proporciona un SLA de nivel de producción del 99.95%. |
|
Dashboards |
Dashboards integrados básicos. |
Un conjunto completo de dashboards integrados. |
|
Sincronización automática de |
Compatible. Puede definir recursos |
No compatible. La Pro Edition es un servicio totalmente gestionado cuyo agente de recolección es administrado por Alibaba Cloud, por lo que no puede modificar los parámetros de los componentes subyacentes. Puede gestionar las reglas de alerta en la página de reglas de alerta de Prometheus de la consola, la cual admite dos tipos de detección: umbrales estáticos y PromQL personalizado. |
Dashboards compatibles en Container Monitoring Pro Edition
|
Tipo |
Dashboard |
|
Descripción general del monitoreo |
Descripción general del monitoreo del clúster |
|
Dashboard de Namespace del clúster |
|
|
Componentes principales del clúster |
Servidor API de ACK Pro |
|
ETCD de ACK Pro |
|
|
Scheduler de ACK Pro |
|
|
Cloud Controller Manager de ACK Pro |
|
|
Kube Controller Manager de ACK Pro |
|
|
Monitoreo de nodos |
Descripción general del node pool |
|
Detalles del monitoreo de nodos del clúster |
|
|
Monitoreo de aplicaciones |
Monitoreo de Deployments |
|
Monitoreo de StatefulSets |
|
|
Monitoreo de DaemonSets |
|
|
Monitoreo de Pods del clúster |
|
|
Monitoreo de red |
Monitoreo del componente CoreDNS |
|
Monitoreo de tráfico Ingress del clúster |
|
|
Monitoreo de almacenamiento |
Monitoreo del componente de almacenamiento CSI (nivel de clúster) |
|
Monitoreo del componente de almacenamiento CSI (nivel de nodo) |
|
|
Monitoreo de IO de Pod (nivel de Pod) |
|
|
Monitoreo de IO de almacenamiento frontend (nivel de clúster) |
|
|
Monitoreo de GPU |
Monitoreo de GPU del clúster (nivel de clúster) |
|
Monitoreo de GPU del clúster (nivel de nodo) |
|
|
Monitoreo de GPU del clúster (por Pod de aplicación) |
|
|
Análisis de costos y optimización de recursos |
Perfil de recursos |
|
Otros |
Monitoreo de IO de almacenamiento backend (nivel de clúster) |
|
k8s-reclaimed-resource |
|
|
Automonitoreo de Prometheus del clúster |
|
|
Descripción general de nodo virtual (ECI) |
Reglas de alerta predeterminadas
|
Nombre de la regla de alerta |
Grupo de alertas |
Plantilla |
|
Uso de CPU del nodo superior al 75% |
node |
El uso de CPU del nodo {{ $labels.instance }} supera el 75%. Uso actual: {{ printf "%.2f" $value }}% |
|
Uso de CPU del nodo superior al 85% |
node |
El uso de CPU del nodo {{ $labels.instance }} supera el 85%. Uso actual: {{ printf "%.2f" $value }}% |
|
Uso de memoria del nodo superior al 75% |
node |
El uso de memoria del nodo {{ $labels.instance }} supera el 75%. Uso actual: {{ printf "%.2f" $value }}% |
|
Uso de memoria del nodo superior al 85% |
node |
El uso de memoria del nodo {{ $labels.instance }} supera el 85%. Uso actual: {{ printf "%.2f" $value }}% |
|
Anomalías en el nodo |
node |
El nodo {{$labels.node}} ha estado no disponible durante más de 10 minutos. |
|
Uso de disco superior al 95% |
node |
El uso del disco {{ $labels.device }} en el nodo {{ $labels.instance }} ha superado el 95%. Uso actual: {{ printf "%.2f" $value }}% |
|
Disponibilidad de Pods del Deployment inferior al 50% |
workload |
Namespace: {{$labels.namespace}} / Deployment: {{$labels.deployment}} La disponibilidad de Pods es inferior al 50%. Cantidad actual de Pods no disponibles: {{ $value }} |
|
Error en la ejecución del Job |
workload |
Namespace: {{$labels.namespace}}/Job: {{$labels.job_name}} Error en la ejecución. |
|
Tiempo de espera agotado en el inicio del Pod |
workload |
Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}} No se ha podido iniciar durante más de 15 minutos. Motivo de la espera: {{$labels.reason}} |
|
Estado anómalo del Pod |
workload |
Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}} Ha estado en el estado {{$labels.phase}} durante más de 10 minutos. |
|
Reinicios frecuentes de Pod |
workload |
Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}} Se ha reiniciado más de {{ $labels.metrics_params_value}} veces en los últimos {{$labels.metrics_params_time}} minutos. Recuento actual de reinicios: {{ $value }} |
|
Uso de CPU del contenedor superior al 85% |
workload |
En el Namespace {{$labels.namespace}}, el uso de CPU del contenedor {{$labels.container}} en el Pod {{$labels.pod_name}} supera el 85%. Uso actual: {{ printf "%.2f" $value }}% |
|
Uso de CPU del contenedor superior al 75% |
workload |
En el Namespace {{$labels.namespace}}, el uso de CPU del contenedor {{$labels.container}} en el Pod {{$labels.pod_name}} supera el 75%. Uso actual: {{ printf "%.2f" $value }}% |
|
Uso de memoria del contenedor superior al 75% |
workload |
En el Namespace {{$labels.namespace}}, el uso de memoria del contenedor {{$labels.container}} en el Pod {{$labels.pod_name}} supera el 75%. Uso actual: {{ printf "%.2f" $value }}% |
|
Uso de memoria del contenedor superior al 85% |
workload |
En el Namespace {{$labels.namespace}}, el uso de memoria del contenedor {{$labels.container}} en el Pod {{$labels.pod_name}} supera el 85%. Uso actual: {{ printf "%.2f" $value }}% |