全部產品
Search
文件中心

Managed Service for Prometheus:使用Prometheus監控騰訊雲資源

更新時間:Aug 22, 2024

本文介紹如何使用阿里雲Prometheus實現對騰訊云云資源的監控。

前提條件

  • 已建立阿里雲Container ServiceK8s叢集。具體操作,請參見建立ACK專有叢集

  • 阿里雲Container ServiceK8s叢集已接入可觀測監控 Prometheus 版。具體操作,請參見容器可觀測

背景資訊

利用開源的騰訊CloudMonitorExporter(qcloud exporter)可以將騰訊CloudMonitor支援的產品監控指標自動大量匯出為Prometheus格式,使用Prometheus拉取qcloud exporter指標即可實現對騰訊雲資源的監控。

騰訊云云監控(Cloud Monitor,簡稱CM)是一項可對騰訊云云資源即時監控和警示的服務,為使用者提供統一監控雲端服務器、雲資料庫等所有雲產品的平台。qcloud exporter是Prometheus Third-party exporters一種實現,當前支援的騰訊雲資源清單如下:

產品

命名空間

支援的指標

MongoDB

QCE/CMONGO

指標詳情

CDB

QCE/CDB

指標詳情

Redis標準版

QCE/REDIS

暫無指標詳情說明

Redis叢集版

QCE/REDIS_CLUSTER

暫無指標詳情說明

Redis記憶體版監控指標

QCE/REDIS_MEM

指標詳情

CVM

QCE/CVM

指標詳情

COS

QCE/COS

指標詳情

CDN

QCE/CDN

指標詳情

CLB(公網)

QCE/LB_PUBLIC

指標詳情

CLB(7層)

QCE/LOADBALANCE

指標詳情

NAT

QCE/NAT_GATEWAY

指標詳情

物理專線

QCE/DC

指標詳情

專用通道

QCE/DCX

指標詳情

雲硬碟

QCE/CBS

指標詳情

SqlServer

QCE/SQLSERVER

指標詳情

MariaDB

QCE/MARIADB

指標詳情

Elasticsearch

QCE/CES

指標詳情

CMQ佇列服務

QCE/CMQ

指標詳情

CMQ主題訂閱

QCE/CMQTOPIC

指標詳情

PostgreSQL

QCE/POSTGRES

指標詳情

CKafka執行個體

QCE/CKAFKA

指標詳情

Memcached

QCE/MEMCACHED

暫無指標詳情說明

Lighthouse

QCE/LIGHTHOUSE

暫無指標詳情說明

分散式資料庫TDSQL MySQL執行個體

QCE/TDMYSQL

指標詳情

Elastic IP Address

QCE/LB

指標詳情

操作流程

通過阿里雲Prometheus配置監控騰訊雲的操作流程如下圖所示。

步驟一:部署qcloud exporter

  1. 構造鏡像。

    git clone https://github.com/tencentyun/tencentcloud-exporter.git
    make build
  2. 定義產品執行個體配置。

    • 配置Cloud API的credential認證資訊

    • 配置產品products指標、執行個體匯出資訊

    例如,若您需要匯出雲端服務器CVM所有指標和執行個體資訊,您可以執行如下程式碼片段。

    credential:
      access_key: "access_key"  #Cloud API的SecretId
      secret_key: "secret_key"  #Cloud API的SecretKey
      region: "ap-nanjing"      #執行個體所在地區資訊
    
    rate_limit: 15              #CloudMonitor拉資料介面最大限制, 20次/秒, 1200次/分鐘, https://cloud.tencent.com/document/product/248/31014
    
    products:
      - namespace: QCE/CVM      #指標詳情: https://cloud.tencent.com/document/product/248/6843
        all_metrics: true       #匯出支援的所有指標
        all_instances: true     #匯出region下的所有執行個體
        #only_include_metrics: []
        #only_include_instances: [ins-xxxxxxxx]
        extra_labels: [InstanceId, InstanceName] #將執行個體的欄位作為指標的labels匯出
        #statistics_types: [last]
        #period_seconds: 60
        #metric_name_type: 2
    說明

    更多qcloud.yaml配置詳情,請參見 tencentcloud-exporter

  3. 部署qcloud exporter。

    將以上設定檔構建到Docker鏡像並將鏡像上傳到鏡像倉庫,如DockerHub、阿里雲Container RegistryACR

    1. 登入Container Service管理主控台,在左側導覽列選擇叢集

    2. 叢集列表頁面,單擊目的地組群右側操作列下的應用管理

    3. 建立容器組。

      1. 在左側導覽列,選擇工作負載 > 無狀態

      2. 無狀態頁面,單擊使用YAML建立資源

      3. 建立頁面的模板代碼框中輸入以下內容,然後單擊建立

        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
    4. 建立服務。

      1. 在左側導覽列,選擇網路 > 服務

      2. 服務頁面,單擊使用YAML建立資源

      3. 建立頁面的模板代碼框輸入以下內容,然後單擊建立

        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

步驟二:佈建服務發現

配置可觀測監控 Prometheus 版的服務發現以接收qcloud exporter資料的操作步驟如下:

重要

請確認阿里雲Container ServiceK8s叢集已接入可觀測監控 Prometheus 版。具體操作,請參見Prometheus執行個體 for Container Service

  1. 登入Prometheus控制台
  2. 在左側導覽列,單擊執行個體列表

  3. 在頂部功能表列,選擇K8s叢集所在的地區,然後單擊目標執行個體名稱。

  4. 在左側導航,單擊服務發現,然後單擊配置頁簽。

  5. 配置頁面,單擊ServiceMonitor頁簽,然後單擊添加ServiceMonitor,在彈出的添加ServiceMonitor對話方塊中輸入以下內容,單擊確定

    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-demo

    ServiceMonitor頁面會顯示配置的服務發現。

    image

步驟三:建立警示

建立Prometheus警示規則,具體操作,請參見Prometheus警示規則