K8s 指标采集

最近更新时间:2024-07-19 14:09:01

我的收藏
本文将介绍如何在 自建K8s或TKE集群上通过VMagent采集指标至CLS。

操作步骤

安装 VMagent

依赖:
已安装 kubectl, 并且 kubectl 可正常访问集群。
Linux 环境,不支持 MacOS。
1. 执行以下命令下载 VMagent 安装脚本。
wget https://mirrors.tencent.com/install/cls/vmagent/vmagent.sh
2. 执行以下命令安装安装 VMagent。
./vmagent.sh install --secretid <secretid> --secretkey <secretkey> --endpoint https://<region-url>/prometheus/<topicID>/api/v1/write --cluster_id <cluster_id>
说明:
安装命令中,--secretid、--secretkey、--endpoint、cluster_id 为必填,详情请见 参数说明

参数说明

参数名
是否必填
参数描述
secretid
云 API 密钥 的一部分,SecretId 用于标识 API 调用者身份。
secretkey
云 API 密钥 的一部分,SecretKey 是用于加密签名字符串和服务器端验证签名字符串的密钥。
endpoint
访问 CLS 指标主题的 url,路径由 CLS 域名和 topicID 组成,详情请见 指标上报地址
cluster_id
集群 ID,作为指标 label,区分指标的来源。
namespace
指定安装 VMagent 的 namespace。若不指定,默认为 kube-system(一般不需要特别指定)
name
指定安装 VMagent 的 deployment 的名称。若不指定,默认为 VMagent(一般不需要特别指定)
dep
在安装的时候是否安装依赖组件(node-exporter、kube-state-metric),默认值为 false。

配置指标采集

参考以下格式创建指标采集配置 ConfigMap:
说明:
如何创建 ConfigMap 请参见 创建 ConfigMap
kind: ConfigMap apiVersion: v1 metadata: name: ${name}-config ## 安装VMagent时指定的name参数 namespace: ${namespace} ## 安装VMagent时指定的namespace参数 data: vmagent.yml: |- ## Prometheus指标采集配置,参考https://prometheus.io/docs/prometheus/latest/configuration/configuration/ global: scrape_interval: 15s external_labels: cluster: ${clusterID} ## 安装VMagent时指定的clusterID参数 scrape_configs: - job_name: xxx

查询采集的指标

1. 登录 日志服务控制台,在左侧导航栏中选择检索分析,在顶部选择指标主题,以及指标主题的所在地域,然后选择需要的指标主题。



2. 在输入框中输入指标名称查询指标。

卸载 VMagent

执行以下命令即可卸载 VMagent:
./vmagent.sh uninstall --name <vmagent-name> --namespace <ns-name> --dep true

参数说明

参数名
是否必填
参数描述
namespace
VMagent 的 namespace。若不指定,默认为 kube-system。
name
VMagent的 deployment的名称。若不指定, 默认为 VMagent。
dep
是否卸载依赖组件(node-exporter、kube-state-metric),默认为 true。