Implante o exporter de código aberto QCloud para monitorar recursos do Tencent Cloud com o Managed Service for Prometheus.
Pré-requisitos
Você criou um cluster do Container Service for Kubernetes (ACK). Para mais informações, consulte Create an ACK dedicated cluster (New creation is discontinued).
Você conectou seu cluster do Container Service for Kubernetes (ACK) ao Managed Service for Prometheus. Para mais informações, consulte Container Observability.
Informações de contexto
O exporter de código aberto QCloud converte as métricas do Tencent Cloud Monitor para o formato do Prometheus. Em seguida, o Prometheus coleta essas métricas para monitorar os recursos do Tencent Cloud.
O Cloud Monitor (CM) do Tencent Cloud fornece monitoramento e alertas em tempo real para recursos do Tencent Cloud, como servidores cloud e bancos de dados. O exporter QCloud é um exporter de terceiros do Prometheus que oferece suporte aos seguintes recursos do Tencent Cloud.
|
Produto |
Namespace |
Métricas suportadas |
|
TencentDB for MongoDB |
QCE/CMONGO |
|
|
Cloud Database (CDB) |
QCE/CDB |
|
|
TencentDB for Redis (Standard Edition) |
QCE/REDIS |
Detalhes das métricas não disponíveis. |
|
TencentDB for Redis (Cluster Edition) |
QCE/REDIS_CLUSTER |
Detalhes das métricas não disponíveis. |
|
TencentDB for Redis (Memory Edition) |
QCE/REDIS_MEM |
|
|
servidor cloud |
QCE/CVM |
|
|
Cloud Object Storage (COS) |
QCE/COS |
|
|
Content Delivery Network (CDN) |
QCE/CDN |
|
|
Cloud Load Balancer (public network) |
QCE/LB_PUBLIC |
|
|
Cloud Load Balancer (Layer-7) |
QCE/LOADBALANCE |
|
|
NAT Gateway |
QCE/NAT_GATEWAY |
|
|
Direct Connect |
QCE/DC |
|
|
Direct Connect Tunnel |
QCE/DCX |
|
|
disco cloud |
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 |
|
|
instância CKafka |
QCE/CKAFKA |
|
|
Memcached |
QCE/MEMCACHED |
Detalhes das métricas não disponíveis. |
|
Lighthouse |
QCE/LIGHTHOUSE |
Detalhes das métricas não disponíveis. |
|
TDSQL for MySQL |
QCE/TDMYSQL |
|
|
Elastic IP Address (EIP) |
QCE/LB |
Procedimento
O diagrama a seguir mostra o fluxo de trabalho para monitorar recursos do Tencent Cloud com o Managed Service for Prometheus.
Etapa 1: Implantar o exporter QCloud
-
Construa a imagem.
git clone https://github.com/tencentyun/tencentcloud-exporter.git make build -
Defina a configuração da instância do produto.
Configure as informações de credencial para a API cloud.
Configure os produtos, as métricas e as instâncias para exportação.
Por exemplo, para exportar todas as métricas e instâncias de um servidor cloud, use a seguinte configuração:
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 mais informações sobre como configurar o arquivo
qcloud.yaml, consulte a documentação do tencentcloud-exporter. -
Implante o exporter QCloud.
Construa uma imagem Docker com o arquivo de configuração e envie-a para um repositório, como o Docker Hub ou o Container Registry (ACR).
Acesse o console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, localize o cluster de destino e clique em Applications na coluna Operation.
-
Crie um Deployment.
No painel de navegação à esquerda, escolha .
Na página Stateless, clique em Create Resources in YAML.
-
Na página Create , insira o seguinte YAML no editor Template e clique em 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
-
Crie um serviço.
No painel de navegação à esquerda, escolha .
Na página Service, clique em Create Resources in YAML.
-
Na página Create , insira o seguinte YAML no editor Template e clique em 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
Etapa 2: Configurar a descoberta de serviços
Configure a descoberta de serviços no Managed Service for Prometheus para coletar métricas do exporter QCloud.
Certifique-se de que o seu cluster ACK esteja conectado ao Managed Service for Prometheus. Para mais informações, consulte Prometheus instance for Container Service.
No painel de navegação à esquerda, clique em Instances.
Na barra de menus superior, selecione a região do seu cluster ACK e clique no nome da instância de destino.
No painel de navegação à esquerda, clique em Service Discovery e, em seguida, clique na aba Configurations.
-
Na página Configurations, clique na aba ServiceMonitor e, em seguida, clique em Add ServiceMonitor. Na caixa de diálogo Add ServiceMonitor, insira o conteúdo a seguir e clique em 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-demoA nova configuração de descoberta de serviços aparece na página ServiceMonitor.
A lista exibe um registro chamado qcloud-exporter com o namespace default, rótulos de correspondência
{matchLabels={app=...}}, seletor{any=true}e status verde (ativado), com as operações Delete e Edit à direita.
Etapa 3: Criar uma regra de alerta
Crie uma regra de alerta do Prometheus. Para obter instruções, consulte Create a Prometheus alert rule.