kube-state-metrics

前言

整体来看,kube-state-metrics是为prometheus采集k8s资源数据的exporter。prometheus 的exporter任务是将和业务相关的数据指标转换成prometheus的数据模型,当然prometheus 为这种转换提供了方法。

kube-state-metrics采集的数据

kube-state-metrics能够采集绝大多数k8s内置资源的相关数据,例如pod、deploy、service等等。同时它也提供自己的数据,主要是资源采集个数和采集发生的异常次数统计。

prometheus指标类别

  • Counter (累加指标)

    一个累加指标数据,这个值随着时间只会逐渐的增加,比如程序完成的总任务数量,运行错误发生的总次数。常见的还有交换机中snmp采集的数据流量也属于该类型,代表了持续增加的数据包或者传输字节累加值。

  • Gauge (测量指标)

    Gauge代表了采集的一个单一数据,这个数据可以增加也可以减少,比如CPU使用情况,内存使用量,硬盘当前的空间容量等等。

  • Summary (概略图)

  • Histogram (直方图)

已经有了cadvisor、heapster、metric-server,几乎容器运行的所有指标都能拿到,但是下面这种情况却无能为力:

  • 我调度了多少个replicas?现在可用的有几个?
  • 多少个Pod是running/stopped/terminated状态?
  • Pod重启了多少次?
  • 我有多少job在运行中

而这些则是kube-state-metrics提供的内容,它基于client-go开发,轮询Kubernetes API,并将Kubernetes的结构化信息转换为metrics。



posted @ 2021-01-12 10:21  滴滴滴  阅读(1821)  评论(0编辑  收藏  举报