一、介绍

我们使用k8s后一般需要监控一下大块指标:

指标类型采集源应用举例发现类型
容器基础资源指标kubelet 内置cadvisor metrics接口查看容器cpu、mem利用率等k8s_sd node级别直接访问node_ip
k8s资源指标kube-stats-metrics (简称ksm)具体可以看从容器监控kube-stats-metrics看k8s众多组件
看pod状态如pod waiting状态的原因
数个数如:查看node pod按namespace分布情况
通过coredns访问域名
k8s服务组件指标服务组件 metrics接口查看apiserver 、scheduler、etc、coredns请求延迟等k8s_sd endpoint级别
部署在pod中业务埋点指标pod 的metrics接口依据业务指标场景k8s_sd pod级别,访问pod ip的metricspath

二、prometheus中的实现方式

鉴权/证书问题

我们在prometheus采集job中经常能看到下面的 token 证书配置,主要原因为

  • token用来做鉴权来访问metrics接口
  • apiserver可以采用tls双向认证,所以需要提供证书

bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
tls_config:
  ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  insecure_skip_verify: true

prometheus通过 sa,clusterrolebinding来解决token、证书挂载问题

sa等配置: prometheus yaml中需要配置对应的saserviceAccountName
apiVersion: rbac.authorization.k8s.io/v1 # api的version
kind: ClusterRole # 类型
metadata:
name: prometheus

参考:k8s监控指标汇总,prometheus采集k8s原理解析 - SegmentFault 思否

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐