Managed Service for Prometheus を使用すると、オープンソースの QCloud エクスポーターをデプロイして、Tencent Cloud リソースを監視できます。
前提条件
-
Container Service for Kubernetes (ACK) クラスターが作成されていること。 詳細については、「ACK 専用クラスターの作成 (新規作成は停止)」をご参照ください。
-
お使いの ACK クラスターが Managed Service for Prometheus に接続されていること。 詳細については、「Container Service向けPrometheusインスタンス」をご参照ください。
背景情報
オープンソースの QCloud エクスポーターは、Tencent Cloud Monitor のメトリクスを Prometheus 形式に変換します。 Prometheus は、このエクスポーターからこれらのメトリクスをスクレイプして、Tencent Cloud リソースを監視します。
Tencent Cloud の Cloud Monitor (CM) は、クラウドサーバーやクラウドデータベースなどの Tencent Cloud リソースに対して、統一されたリアルタイムの監視とアラートを提供します。 QCloud エクスポーターは、Prometheus のサードパーティ製エクスポーターです。 次の表に、サポートされている Tencent Cloud リソースを一覧表示します。
|
製品 |
名前空間 |
サポートされているメトリクス |
|
TencentDB for MongoDB |
QCE/CMONGO |
|
|
Cloud Database (CDB) |
QCE/CDB |
|
|
TencentDB for Redis (Standard Edition) |
QCE/REDIS |
メトリクスの詳細は利用できません。 |
|
TencentDB for Redis (Cluster Edition) |
QCE/REDIS_CLUSTER |
メトリクスの詳細は利用できません。 |
|
TencentDB for Redis (Memory Edition) |
QCE/REDIS_MEM |
|
|
クラウドサーバー |
QCE/CVM |
|
|
Cloud Object Storage (COS) |
QCE/COS |
|
|
Content Delivery Network (CDN) |
QCE/CDN |
|
|
Cloud Load Balancer (パブリックネットワーク) |
QCE/LB_PUBLIC |
|
|
Cloud Load Balancer (レイヤー 7) |
QCE/LOADBALANCE |
|
|
NAT ゲートウェイ |
QCE/NAT_GATEWAY |
|
|
Direct Connect |
QCE/DC |
|
|
Direct Connect Tunnel |
QCE/DCX |
|
|
クラウドディスク |
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 |
|
|
CKafka instance |
QCE/CKAFKA |
|
|
Memcached |
QCE/MEMCACHED |
メトリクスの詳細は利用できません。 |
|
Lighthouse |
QCE/LIGHTHOUSE |
メトリクスの詳細は利用できません。 |
|
TDSQL for MySQL |
QCE/TDMYSQL |
|
|
Elastic IP アドレス (EIP) |
QCE/LB |
手順
次の図は、Managed Service for Prometheus を使用して Tencent Cloud リソースを監視するためのワークフローを示しています。
ステップ 1:QCloud エクスポーターのデプロイ
-
イメージをビルドします。
git clone https://github.com/tencentyun/tencentcloud-exporter.git make build -
製品インスタンスの設定を定義します。
-
クラウド API の認証情報を設定します。
-
エクスポートする製品、メトリクス、インスタンスを設定します。
たとえば、クラウドサーバーのすべてのメトリクスとインスタンスをエクスポートするには、次の設定を使用します。
credential: access_key: "access_key" # クラウド API の SecretId。 secret_key: "secret_key" # クラウド API の SecretKey。 region: "ap-nanjing" # インスタンスが配置されているリージョン。 rate_limit: 15 # Cloud Monitor からデータをプルする際のレート制限。 最大値は 20 コール/秒または 1,200 コール/分です。 詳細については、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 # リージョン内のすべてのインスタンスをエクスポートします。 #only_include_metrics: [] #only_include_instances: [ins-xxxxxxxx] extra_labels: [InstanceId, InstanceName] # インスタンスフィールドをメトリクスラベルとしてエクスポートします。 #statistics_types: [last] #period_seconds: 60 #metric_name_type: 2説明qcloud.yaml ファイルの設定方法の詳細については、tencentcloud-exporter のドキュメントをご参照ください。
-
-
QCloud エクスポーターをデプロイします。
設定ファイルを使用して Docker イメージをビルドし、Docker Hub や Container Registry (ACR) などのリポジトリにアップロードします。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
-
クラスターリスト ページで、対象のクラスターを見つけ、Operation 列の アプリケーションの管理 をクリックします。
-
デプロイメントを作成します。
-
左側のナビゲーションペインで、 を選択します。
-
ステータスなし ページで、YAML のリソースの作成 をクリックします。
-
作成 ページで、テンプレート エディターに次の YAML を入力し、作成 をクリックします。
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
-
-
サービスを作成します。
-
左側のナビゲーションペインで、 を選択します。
-
サービス ページで、YAML のリソースの作成 をクリックします。
-
作成 ページで、テンプレート エディターに次の YAML を入力し、作成 をクリックします。
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
-
ステップ 2:サービスディスカバリーの設定
Managed Service for Prometheus でサービスディスカバリーを設定して、QCloud エクスポーターからメトリクスをスクレイプします。
お使いの ACK クラスターが Managed Service for Prometheus に接続されていることを確認してください。 詳細については、「Container Service向けPrometheusインスタンス」をご参照ください。
にログインします。 Prometheusコンソールのマネージドサービス。
-
左側のナビゲーションペインで、インスタンスリスト をクリックします。
-
上部メニューで、ACK クラスターのリージョンを選択し、対象のインスタンス名をクリックします。
-
左側のナビゲーションペインで サービスディスカバリー をクリックし、設定 タブをクリックします。
-
設定 ページで [ServiceMonitor] タブをクリックし、ServiceMonitor の追加 をクリックします。ServiceMonitor の追加 ダイアログボックスに次の内容を入力し、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-demo新しいサービスディスカバリー設定が [ServiceMonitor] ページに表示されます。

ステップ 3:アラートルールの作成
Prometheus のアラートルールを作成します。 手順については、「Prometheus アラートルールの作成」をご参照ください。