prometheus获取kubelet接口监控数据

news/2024/5/18 22:51:31 标签: prometheus, kubelet, java

一、前言

    k8s集群的kubelet服务内部有自带的cadvisor服务用于收集k8s集群的监控数据,所以可以通过调用kubelet的接口就能获取pod的资源监控数据,在新版本的k8s中,kubelet的监控数据获取端口为10250端口,老版本的是10255端口

二、配置prometheus获取监控数据

以下分为两种情况,一种是在k8s集群内部署的prometheus,一种是在k8s集群外部署的prometheus

以下是k8s集群外部署的prometheus配置

编辑Prometheus配置文件

vi /opt/prometheus/prometheus/prometheus.yml

scrape_configs:         #在该配置项下写入以下内容
  - job_name: k8s-cadvisor
    honor_timestamps: true
    metrics_path: /metrics/cadvisor
    scheme: https
    kubernetes_sd_configs:  # kubernetes 自动发现
    - api_server: https://10.1.60.119:6443  # apiserver 地址
      role: node   # node 类型的自动发现
      bearer_token_file: ./k8s.token
      tls_config:
        ca_file: ./ca.crt
        insecure_skip_verify: true
    bearer_token_file: ./k8s.token
    tls_config:
      ca_file: ./ca.crt
      insecure_skip_verify: true
    relabel_configs:
      - action: labelmap
        regex: __meta_kubernetes_node_label_(.+)
    metric_relabel_configs:
      - source_labels: [instance]
        separator: ;
        regex: (.+)
        target_label: node
        replacement: $1
        action: replace

以上关于token和ca证书的获取可以参考:k8s集群授权prometheus(集群外部署)_Apex Predator的博客-CSDN博客 

token是创建一个名为k8s.token的文件,把k8s集群获取到的token放进去即可,ca证书就直接拷贝过来 

重启prometheus服务

systemctl restart prometheus

查看Prometheus是否获取到kubelet接口数据

以下是k8s集群内部署的prometheus配置

vi /opt/prometheus/prometheus/prometheus.yml

scrape_configs:         #在该配置项下写入以下内容
  - job_name: 'k8s-cadvisor'
    metrics_path: /metrics/cadvisor
    kubernetes_sd_configs:
    - role: node
    relabel_configs:
    - source_labels: [__address__]
      regex: '(.*):10250'    #获取所有监听10250接口的地址
      replacement: '${1}:10255'   #将以上所有监听10250的地址,改为监听10255接口
      target_label: __address__
      action: replace
    - action: labelmap
      regex: __meta_kubernetes_node_label_(.+)

    metric_relabel_configs:
    - source_labels: [instance]
      separator: ;
      regex: (.+)
      target_label: node
      replacement: $1
      action: replace

    - source_labels: [pod_name]
      separator: ;
      regex: (.+)
      target_label: pod
      replacement: $1
      action: replace
    - source_labels: [container_name]
      separator: ;
      regex: (.+)
      target_label: container
      replacement: $1
      action: replace

重启prometheus服务

systemctl restart prometheus

以上就是两种不同的Prometheus部署方式去获取kubelet监控数据的配置方法

关于granfana使用的资源监控模板则是使用:K8S Dashboard CN 20211010 StarsL.cn | Grafana Labs

需要配合kube-state-metrics监控一起使用,但是使用该模板在1.24本版以上的k8s中都会出现数据缺失


http://www.niftyadmin.cn/n/5096764.html

相关文章

深度学习中需要固定的随机数种子

文章目录 前言random.seed()作用例子Reference np.random.seed()torch.manual_seed() 前言 主要是3个: random.seed()numpy.random.seed()torch.manual_seed() 三个的原理和作用都是相似的,所以接下来我只简单介绍random.seed()。 random.seed() 作…

自注意力机制(Self-attention)-深度学习-台湾大学李宏毅

目录 模型输入文字处理One-hot Encoding(独热编码)Word Embedding 语音处理Graph 模型输出类型一:一对一(Sequence Labeling)类型二:多对一类型三:多对多(由模型自定seq2seq&#xf…

蓝桥等考C++组别一级008

第一部分:选择题 1、C L1 (15分) 以下关于世界上第一台通用电子计算机ENIAC的说法中,正确的一项是( )。 A. 它的功能非常强大,主要被用于对德军密码的破译工作 B. 当时的科学家使用C语言来进…

docker 镜像重启报错问题处理

docker 报错 Error response from daemon: failed to listen to abstract unix socket "/containerd-shim/moby/280f5b5816c214cd414d342a6f1caa507717784a3e4330f6b62f13b9011668a5/shim.sock": listen unix /containerd-shim/moby/280f5b5816c214cd414d342a6f1c…

工控网络协议模糊测试:用peach对modbus协议进行模糊测试

0x00 背景 本人第一次在FB发帖,进入工控安全行业时间不算很长,可能对模糊测试见解出现偏差,请见谅。 在接触工控安全这一段时间内,对于挖掘工控设备的漏洞,必须对工控各种协议有一定的了解,然后对工控协议…

确保第三方 API 安全的 5 个最佳实践

应用程序编程接口 (API) 已成为设置功能和灵活性不可或缺的一部分。但它们也是潜在的攻击媒介,需要在安全团队的雷达上占据很高的位置。 当组织考虑应用程序编程接口 (API) 安全性时,他们通常专注于保护内部…

防火墙的安全机制

1.安全技术 1.入侵检测机制:特点是阻断,量化,定位来自内外的网络的威胁的情况。提供报警和事后监督,类似于监控。 2.入侵防御:以透明模式工作,分析数据包的内容,一切进入本机的内容,…