FinOPS之 节点内存态统计和计算Node-metrics

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 董江,容器技术布道者及实践者,中国移动高级系统架构专家,曾担任华为云核心网技术专家,CloudNative社区核心成员,KubeServiceStack社区发起者,Prometheus社区PMC,Knative Committer,Grafana社区Contributer。 欢迎关注:https://kubeservice.cn/

节点内存态统计和计算 Node-metrics

背景

请查看第一篇:https://kubeservice.cn/2022/11/24/k8s-crane-scheduler-plus/

实现

Node Metrics是内存态统计计算模块,实现metrics的avgminmax 等级的数据聚合查询。

Node Metrics = Node exporter + Prometheus PromSQL

Node Metrics中添加了:

  • Memory TSDB, 添加轻量内存化内存存储
  • Statistics, 实现通用内存avgminmax等静态function方法
  • Scheduler, 实现定时采集,数据从proc中采集统一方法
  • Server Handler, 数据通过metricsstatistics 方法对外提供

以存储一天数据为例: 每10s存储一次,每次存储cpumemorydisk 原生数据 3个
整个存储数量为: 也就是 300KB 不到.

(38Byte(float64)+8Byte(time数据)) 24 * 3600/10 = 276480Byte = 270KB

使用

apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    app: node-metrics
  name: node-metrics
  namespace: crane-system
spec:
  selector:
    matchLabels:
      app: node-metrics
  template:
    metadata:
      labels:
        app: node-metrics
    spec:
      containers:
      - image: dongjiang1989/node-metrics:latest
        name: node-metrics
        args:
        - --web.listen-address=0.0.0.0:19101
        resources:
          limits:
            cpu: 102m
            memory: 180Mi
          requests:
            cpu: 102m
            memory: 180Mi
      hostNetwork: true
      hostPID: true
      tolerations:
      - effect: NoSchedule
        key: node-role.kubernetes.io/master

两类接口:

  1. 接口“/metrics”接口

    ...
    # HELP node_cpu_usage_active cpu usage active.
    # TYPE node_cpu_usage_active gauge
    node_cpu_usage_active 6.801955214695443
    # HELP node_cpu_usage_avg_5m cpu usage avg 5m.
    # TYPE node_cpu_usage_avg_5m gauge
    node_cpu_usage_avg_5m 6.8018810008297335
    # HELP node_cpu_usage_max_avg_1d cpu usage max avg 1d.
    # TYPE node_cpu_usage_max_avg_1d gauge
    node_cpu_usage_max_avg_1d 6.801955214695443
    # HELP node_cpu_usage_max_avg_1h cpu usage max avg 1h.
    # TYPE node_cpu_usage_max_avg_1h gauge
    node_cpu_usage_max_avg_1h 6.801955214695443
    # HELP node_mem_usage_active mem usage active.
    # TYPE node_mem_usage_active gauge
    node_mem_usage_active 44.272822236553765
    # HELP node_mem_usage_avg_5m mem usage avg 5m.
    # TYPE node_mem_usage_avg_5m gauge
    node_mem_usage_avg_5m 43.68676937682602
    # HELP node_mem_usage_max_avg_1d mem usage max avg 1d.
    # TYPE node_mem_usage_max_avg_1d gauge
    node_mem_usage_max_avg_1d 44.447325557125225
    # HELP node_mem_usage_max_avg_1h mem usage max avg 1h.
    # TYPE node_mem_usage_max_avg_1h gauge
    node_mem_usage_max_avg_1h 44.447325557125225
    ...
    
  2. 接口“/statistics”接口

{
   
   
  "cpu_usage_active": 6.801955214695443,
  "cpu_usage_avg_5m": 6.8018810008297335,
  "cpu_usage_max_avg_1d": 6.801955214695443,
  "cpu_usage_max_avg_1h": 6.801955214695443,
  "mem_usage_active": 44.272822236553765,
  "mem_usage_avg_5m": 43.68676937682602,
  "mem_usage_max_avg_1d": 44.447325557125225,
  "mem_usage_max_avg_1h": 44.447325557125225
}

Source

https://github.com/kubeservice-stack/node-metrics

相关文章
|
26天前
|
存储 Kubernetes 容器
【CKA模拟题】查找集群中使用内存最高的node节点
【CKA模拟题】查找集群中使用内存最高的node节点
16 1
|
2月前
|
存储 负载均衡 算法
负载均衡案例:如何只用2GB内存统计20亿个整数中出现次数最多的整数
负载均衡案例:如何只用2GB内存统计20亿个整数中出现次数最多的整数
32 2
|
3月前
|
存储 缓存 资源调度
阿里云购买云服务器选择经济型、通用算力型、计算型、通用型、内存型实例参考
在我们通过阿里云的活动选购云服务器的时候会发现,相同配置的云服务器往往有多个不同的实例可选,而且价格差别也比较大,这会是因为不同实例规格的由于采用的处理器不同,底层架构也有所不同(例如X86 计算架构与Arm 计算架构),因此不同实例的云服务器其性能与适用场景是有所不同。本文为大家详细介绍阿里云的经济型、通用算力型、计算型、通用型和内存型实例的性能特点及适用场景,以供大家选择参考。
阿里云购买云服务器选择经济型、通用算力型、计算型、通用型、内存型实例参考
|
3月前
|
存储 机器学习/深度学习 人工智能
阿里云倚天云服务器计算型c8y、通用型g8y、内存型r8y实例性能介绍及活动价格参考
计算型c8y、通用型g8y、内存型r8y是阿里云推出的基于ARM架构的新一代阿里自研倚天实例,采用阿里自研倚天710处理器,基于最新一代CIPU架构,通过芯片快速路径加速手段实现计算、存储、网络性能的大幅提升。其中计算型c8y实例网站应用、各种类型和规模的企业级应用,通用型g8y实例适用于网站应用、各种类型和规模的企业级应用,内存型r8y实例适用于网站应用、各种类型和规模的企业级应用。本文为大家详细介绍倚天云服务器实例的主要性能和最新活动价格情况。
阿里云倚天云服务器计算型c8y、通用型g8y、内存型r8y实例性能介绍及活动价格参考
|
3月前
|
存储 弹性计算 安全
阿里云七代云服务器计算型c7、通用型g7、内存型r7实例性能介绍及活动价格参考
阿里云第7代云服务器主要实例规格包括计算型c7、通用型g7、内存型r7,其中计算型c7实例适用于计算密集型业务,如Web服务器Apache、Nginx等场景,通用型g7实例适用于通用业务,如网站应用、各类企业级应用、中间件,内存型r7实例适用于内存密集型业务,如数据库系统、缓存、搜索集群。本文为大家详细介绍七代云服务器实例的主要性能和最新活动价格情况。
阿里云七代云服务器计算型c7、通用型g7、内存型r7实例性能介绍及活动价格参考
|
4月前
|
存储 弹性计算 缓存
阿里云服务器经济型、通用算力型、计算型、通用型、内存型实例区别及选择参考
当我们在选购阿里云服务器会发现,相同配置的云服务器往往有多个不同的实例可选,而且价格差别也比较大,因此,阿里云经济型、通用算力型、计算型、通用型、内存型实例云服务器有何差别就是很多新手用户比较关心的问题了,下面小编来为大家简单介绍下它们之间的区别。
阿里云服务器经济型、通用算力型、计算型、通用型、内存型实例区别及选择参考
|
4月前
|
监控 应用服务中间件
如下请问EDAS的这个问题怎么解决? 应用id:2b0e6935-47fb-40ec-a11d-7dac320aecc1 集群中的节点内存是足够的,部署跑不起来 可以帮忙看看吗,以前集群下应用发布都是正常的,最近集群下应用部署基本都报错跑不起来,提示节点不可用
如下请问EDAS的这个问题怎么解决? 应用id:2b0e6935-47fb-40ec-a11d-7dac320aecc1 集群中的节点内存是足够的,部署跑不起来 可以帮忙看看吗,以前集群下应用发布都是正常的,最近集群下应用部署基本都报错跑不起来,提示节点不可用
60 2
|
6月前
|
编译器 C++
计算结构体大小:内存对齐详解
计算结构体大小:内存对齐详解
169 0
|
6月前
|
存储 人工智能 编译器
C语言之(有关%d和%u的有关内容,输出方法)(有符号和无符号在内存中的存储情况)(整形无符号数和有符号数是如何进行计算的,整形无符号数和有符号数在循环中的应用举例)
C语言之(有关%d和%u的有关内容,输出方法)(有符号和无符号在内存中的存储情况)(整形无符号数和有符号数是如何进行计算的,整形无符号数和有符号数在循环中的应用举例)
211 0
|
7月前
|
机器学习/深度学习 存储 编解码
阿里云倚天云服务器计算型c8y、通用型g8y、内存型r8y优惠价格参考(按年与按带宽)
倚天云服务器属于阿里云推出的八代云服务器产品,采用倚天710处理器,基于新一代CIPU架构,通过芯片快速路径加速手段完成计算、存储、网络性能的数量级提升,支持计算型(c8y)、通用型(g8y)、内存型(r8y)三种规格族,有效应用于云原生、视频编解码、高性能计算、基于CPU的机器学习和游戏服务等场景。
669 1
阿里云倚天云服务器计算型c8y、通用型g8y、内存型r8y优惠价格参考(按年与按带宽)