首页 > 其他分享 >关于多个 Kubernetes 集群指标的采集操作

关于多个 Kubernetes 集群指标的采集操作

时间:2022-10-10 17:12:35浏览次数:76  
标签:name Kubernetes yaml 采集 datakit 集群 ENV k8s

简介

在使用观测云期间,有时需要针对一个工作空间接入多个 Kubernetes 集群指标,通过观测云提供的全局 Tag 的方式来进行区分,大大提高了效率。下面是我总结的操作步骤。

当集群中只有一个采集对象,比如采集 kubernetes API Server 指标,集群中 DataKit 的数量会大于一个,为了避免指标采集重复,DataKit 开启了选举功能,这个时候区分集群的方式是增加ENV_GLOBAL_ELECTION_TAGS。

1 - name: ENV_GLOBAL_ELECTION_TAGS 
2 
3  value: cluster_name_k8s=k8s-prod

 

而针对非选举类的指标采集,比如为 Pod 增加 annotations 的方式进行指标采集,观测云提供了在 ENV_GLOBAL_HOST_TAGS 环境变量中增加全局 Tag 的方式。注意旧版本这个环境变量名称是 ENV_GLOBAL_TAGS。

-name:ENV_GLOBAL_HOST_TAGS
value:host=__datakit_hostname,host_ip=__datakit_ip,cluster_name_k8s=k8s-prod

上述采集到的指标集都会加上 cluster_name_k8s 的 Tag,值是 k8s-prod,这就是区分集群的原理。下面就以采集多个集群中的 kubernetes API Server 指标为例来进行详细说明。

前置条件

·安装 Kubernetes 1.18+

·观测云账号

操作步骤

步骤 1:测试环境集群部署 DataKit

1.1 下载 datakit.yaml

登录『观测云』,点击『集成』模块,再点击左上角『DataKit』,选择『Kubernetes』,下载 datakit.yaml。

1.2 替换 Token

登录『观测云』,进入『管理』模块,在『基本设置』里面复制 token,替换 datakit.yaml 文件中的 ENV_DATAWAY 环境变量的 value 值中的 。

1.3 增加全局 Tag

在 datakit.yaml 文件中的 ENV_GLOBAL_TAGS 环境变量值最后增加 cluster_name_k8s=k8s-test。再增加环境变量 ENV_GLOBAL_ELECTION_TAGS。这样测试环境的集群就是 k8s-test。

1         - name: ENV_GLOBAL_ELECTION_TAGS  
2          value: cluster_name_k8s=k8s-test

1.4 配置 Kubernetes API Server指标采集

详见【 Kubernetes API Server 集成文档】https://preprod-docs.cloudcare.cn/best-practices/integrations/container/kubernetes-api-server

1.5 部署 DataKit

把 datakit.yaml 上传到测试集群的 Master 节点,执行部署命令。

1 kubectlapply-fdatakit.yaml

步骤 2:生产环境集群部署 DataKit

2.1 修改 datakit.yaml

使用 步骤 1 中的 datakit.yaml,把 两处 k8s-test 改成 k8s-prod,这样生产环境的集群就是 k8s-prod。这里还需要修改一下 api-server.conf 中的 url。

2.2 部署 DataKit

把 datakit.yaml 上传到生产集群的 Master 节点,执行部署命令。

1 kubectlapply-fdatakit.yaml

步骤 3:视图预览

3.1 指标预览

登录『观测云』,点击『指标』,搜索 prom_api_server,在 cluster_name_k8s 标签下面已经有两个集群的名称。

 

3.2 新建视图

登录『观测云』,点击『场景』->『新建仪表板』,选择 Kubernetes API Server 监控视图,集群名称下拉框可以区分集群了。

 

 


 

标签:name,Kubernetes,yaml,采集,datakit,集群,ENV,k8s
From: https://www.cnblogs.com/littleguance/p/16775843.html

相关文章

  • 数字孪生污水处理厂 助力数据采集可视化处理
    随着城镇化和工业化的发展,环境治理已经成为我国重要的社会话题之一。污水治理可以有效改善水质,节约水资源和改善生态环境,在促进经济可持续发展有重要作用。但是,在当前行业不......
  • 第24章: kubernetes集群网络
    4.1网络基础知识1公司网络架构​​​​(1)路由器:网络出口(2)核心层:主要完成数据高效转发、链路备份等(3)汇聚层:网络策略、安全、工作站交换机的接入、VLAN之间......
  • k8s中部署redis集群(三主三从)
    1环境说明主机名系统版本IP地址cpu/内存/磁盘用途软件版本k8s_nfsCentOS7.5172.16.1.602核/2GB/60GBnfs存储nfs-utils-1.3.0-0.68k8s-master1CentOS7.5172.16.1.812核/2GB/......
  • 5.9、ceph集群ceph.conf配置文件
    9.1config文件推送(1)默认生成的ceph.conf文件如果需要改动的话需要加一些参数,如果配置文件变化也是通过ceph-deploy进行推送。请不要直接修改某个节点的"/etc/ceph/ceph.......
  • flink集群(docker版)
    flink集群(docker版)​  时间2021-06-09   目录​​1环境说明 ​​​​2部署nfs ​​​​2.1安装nfs软件包 ​​​​2.2配置参数,映射checkpoints存储目录 ​​​​2......
  • 第15章: Prometheus监控Kubernetes资源与应用
          Prometheus监控Kubernetes资源与应用       目录​​1监控方案 2​​​​2监控指标 4​​​​3实现思路 4​​​​4在K8S中部署Prometheus 4​​​​......
  • 第18章: kubeadm方式部署K8S1.20单Master集群
      kubeadm方式部署K8S1.20单Master集群     作者刘畅时间2021-08-24   目录​​1 架构说明 1​​​​1.1生产环境可部署Kubernetes集群的两种方式 1​​​​1.......
  • 第20章: 二进制方式部署K8S1.20高可用集群
      二进制方式部署K8S1.20高可用集群   作者刘畅时间2021-08-27  目录​​1 架构说明 4​​​​1.1生产环境可部署Kubernetes集群的两种方式 4​​​​1.2准备环......
  • 利用 Kubernetes 内置 PodTemplate 管理 Jenkins 构建节点
    Jenkins可以很好地与Kubernetes集成,不管是控制器(controller)还是构建节点(agent),都能以Pod的形式运行在Kubernetes上。 熟悉Jenkins的用户,都知道Jenkins支持多种类......
  • 如何实现汇川PLC和工业机器人的协议解析与数据采集?
    汇川是一家专注于工业自动化的设备制造商,具备一整套完善的产品与服务,涉及变频器、伺服系统、PLC、HMI触摸屏、电动汽车电机控制器、光伏逆变器等等,在制造业、新能源、环保节......