Despliegue el QCloud exporter de código abierto para monitorear los recursos de Tencent Cloud con Managed Service for Prometheus.
Requisitos previos
Creó un clúster de Container Service for Kubernetes (ACK). Para obtener más información, consulte Create an ACK dedicated cluster (New creation is discontinued).
Conectó su clúster de Container Service for Kubernetes (ACK) a Managed Service for Prometheus. Para obtener más información, consulte Container Observability.
Contexto
El QCloud exporter de código abierto convierte las métricas de Tencent Cloud Monitor al formato de Prometheus. Después, Prometheus extrae estas métricas para monitorear los recursos de Tencent Cloud.
Tencent Cloud Cloud Monitor (CM) proporciona monitoreo y alertas en tiempo real para recursos de Tencent Cloud, como servidores en la nube y bases de datos. El QCloud exporter es un exportador de terceros de Prometheus compatible con los siguientes recursos de Tencent Cloud.
|
Producto |
Espacio de nombres |
Métricas compatibles |
|
TencentDB for MongoDB |
QCE/CMONGO |
|
|
Cloud Database (CDB) |
QCE/CDB |
|
|
TencentDB for Redis (Standard Edition) |
QCE/REDIS |
Los detalles de las métricas no están disponibles. |
|
TencentDB for Redis (Cluster Edition) |
QCE/REDIS_CLUSTER |
Los detalles de las métricas no están disponibles. |
|
TencentDB for Redis (Memory Edition) |
QCE/REDIS_MEM |
|
|
servidor en la nube |
QCE/CVM |
|
|
Cloud Object Storage (COS) |
QCE/COS |
|
|
Content Delivery Network (CDN) |
QCE/CDN |
|
|
Cloud Load Balancer (red pública) |
QCE/LB_PUBLIC |
|
|
Cloud Load Balancer (capa 7) |
QCE/LOADBALANCE |
|
|
NAT Gateway |
QCE/NAT_GATEWAY |
|
|
Direct Connect |
QCE/DC |
|
|
Direct Connect Tunnel |
QCE/DCX |
|
|
disco en la nube |
QCE/CBS |
|
|
TencentDB for SQL Server |
QCE/SQLSERVER |
|
|
TencentDB for MariaDB |
QCE/MARIADB |
|
|
Elasticsearch Service |
QCE/CES |
|
|
Cloud Message Queue (CMQ) Queue Service |
QCE/CMQ |
|
|
CMQ Topic Subscription |
QCE/CMQTOPIC |
|
|
TencentDB for PostgreSQL |
QCE/POSTGRES |
|
|
instancia de CKafka |
QCE/CKAFKA |
|
|
Memcached |
QCE/MEMCACHED |
Los detalles de las métricas no están disponibles. |
|
Lighthouse |
QCE/LIGHTHOUSE |
Los detalles de las métricas no están disponibles. |
|
TDSQL for MySQL |
QCE/TDMYSQL |
|
|
Elastic IP Address (EIP) |
QCE/LB |
Procedimiento
A continuación se muestra el flujo de trabajo para monitorear los recursos de Tencent Cloud con Managed Service for Prometheus.
Paso 1: Desplegar el QCloud exporter
-
Compile la imagen.
git clone https://github.com/tencentyun/tencentcloud-exporter.git make build -
Defina la configuración de la instancia del producto.
Configure la información de credenciales para la API de la nube.
Configure los productos, las métricas y las instancias que desea exportar.
Por ejemplo, para exportar todas las métricas e instancias de un servidor en la nube, utilice la siguiente configuración:
credential: access_key: "access_key" # The SecretId of the cloud API. secret_key: "secret_key" # The SecretKey of the cloud API. region: "ap-nanjing" # The region where the instance is located. rate_limit: 15 # The rate limit for pulling data from Cloud Monitor. The maximum is 20 calls/second or 1,200 calls/minute. For more information, see https://cloud.tencent.com/document/product/248/31014. products: - namespace: QCE/CVM # For metric details, see https://cloud.tencent.com/document/product/248/6843. all_metrics: true # Export all supported metrics. all_instances: true # Export all instances in the region. #only_include_metrics: [] #only_include_instances: [ins-xxxxxxxx] extra_labels: [InstanceId, InstanceName] # Export instance fields as metric labels. #statistics_types: [last] #period_seconds: 60 #metric_name_type: 2NotaPara obtener más información sobre cómo configurar el archivo
qcloud.yaml, consulte la documentación de tencentcloud-exporter. -
Despliegue el QCloud exporter.
Construya una imagen de Docker con el archivo de configuración y envíela a un repositorio, como Docker Hub o Container Registry (ACR).
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, busque el clúster de destino y haga clic en Applications dentro de la columna Operation.
-
Cree un Deployment.
En el panel de navegación izquierdo, elija .
En la página Stateless, haga clic en Create Resources in YAML.
-
En la página Create , introduzca el siguiente YAML en el editor Template y haga clic en Create .
apiVersion: apps/v1 kind: Deployment metadata: generation: 5 labels: app: qcloud-exporter-demo name: qcloud-exporter-demo namespace: default spec: replicas: 1 selector: matchLabels: app: qcloud-exporter-demo template: metadata: labels: app: qcloud-exporter-demo spec: containers: - args: - '--config.file=/usr/local/etc/qcloud-cvm-product.yml' image: 'registry.cn-hangzhou.aliyuncs.com/fuling/qcloud-exporter:v0.1' imagePullPolicy: Always name: qcloud-exporter ports: - containerPort: 9123 name: web-normal protocol: TCP
-
Cree un servicio.
En el panel de navegación izquierdo, elija .
En la página Service, haga clic en Create Resources in YAML.
-
En la página Create , introduzca el siguiente YAML en el editor Template y haga clic en Create .
apiVersion: v1 kind: Service metadata: labels: app: qcloud-exporter-demo name: qcloud-exporter-demo-svc namespace: default spec: ports: - name: qcloud-exporter-metrics port: 9123 protocol: TCP targetPort: 9123 selector: app: qcloud-exporter-demo
Paso 2: Configurar el descubrimiento de servicios
Configure el descubrimiento de servicios en Managed Service for Prometheus para extraer las métricas del QCloud exporter.
Asegúrese de que su clúster de ACK esté conectado a Managed Service for Prometheus. Para obtener más información, consulte Prometheus instance for Container Service.
Inicie sesión en la consola de ARMS.
En el panel de navegación izquierdo, elija .
Inicie sesión en la consola de Managed Service for Prometheus.
En el panel de navegación izquierdo, haga clic en Instances.
En la barra de menú superior, seleccione la región de su clúster de ACK y, a continuación, haga clic en el nombre de la instancia de destino.
En el panel de navegación izquierdo, haga clic en Service Discovery y luego en la pestaña Configurations.
-
En la página Configurations, haga clic en la pestaña ServiceMonitor, después en Add ServiceMonitor. En el cuadro de diálogo Add ServiceMonitor, introduzca el siguiente contenido y haga clic en OK.
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: qcloud-exporter-sm namespace: default spec: endpoints: - interval: 60s path: /metrics port: qcloud-exporter-metrics scrapeTimeout: 60s namespaceSelector: any: true selector: matchLabels: app: qcloud-exporter-demoLa nueva configuración de descubrimiento de servicios aparece en la página ServiceMonitor.
La lista muestra un registro llamado qcloud-exporter con el espacio de nombres default, etiquetas de coincidencia
{matchLabels={app=...}}, selector{any=true}y estado en verde (habilitado). A la derecha se encuentran las operaciones Delete y Edit.
Paso 3: Crear una regla de alerta
Cree una regla de alerta de Prometheus. Para consultar las instrucciones, vea Create a Prometheus alert rule.