0
点赞
收藏
分享

微信扫一扫

K8S for Prometheus Dashboard 更新

2021.10.10更新!kubernetes资源全面展示!包含K8S整体资源总览、微服务资源明细、Pod资源明细及K8S网络带宽,优化展示指标。

Grafana URL:

​​https://grafana.com/grafana/dashboards/13105​​

Grafana import ID:13105


  • 兼容​​kube-state-metrics_v1.9.x​​、​​kube-state-metrics_v2.x​
  • 支持​​Grafana 7​​、​​Grafana 8​

请确认kube-state-metrics和cadvisor已经接入了Prometheus,​​kube-state-metrics_v1.9.8​​​、​​kube-state-metrics_v2.2.1​​的安装可以参考下面链接,提供国内源。(K8S v1.16及以下的版本建议使用kube-state-metrics_v1.9.8)
​​https://github.com/starsliao/Prometheus/tree/master/kubernetes​​

菜单中K8S变量​​origin_prometheus​​​,取自于Prometheus的外部系统标签:​​external_labels​​​,可用于支持多个Prometheus接入VictoriaMetrics或Thanos等第三方存储使用​​remote_write​​方式的场景。例如:多个K8S集群,每个K8S内部署一个Prometheus,并使用统一的Grafana来展示。(默认取值空,指标中无该标签不影响使用)

注意事项:

  • 关于节点名称的标签,因为cadvisor是使用​​instance​​,而kube-state-metrics是使用​​node​​;这样会导致grafana节点信息表格中,没有统一的字段来连接各个查询,所以需要在​​prometheus.yaml​​中增加以下内容来给cadvisor的指标复制一个​​node​​标签。
  • 请在cadvisor的job下增加以下内容:

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

更新说明:

v2021.10.10
  1. 基于K8S总可用资源的维度,修改了各类资源总可用量的指标,指标更加精准。
  2. 支持​​kube-state-metrics_v2.x​​并兼容​​kube-state-metrics_v1.9.x​​。
  3. 所有表格使用了新的表格样式,并且对各字段颜色做了处理。
  4. 根据节点、微服务、Pod维度调整了图表展示效果。
  5. 提供了​​kube-state-metrics_v1.9.8​​和​​kube-state-metrics_v2.2.1​​的部署文件和国内源。
v20201209
  1. 使用​​Filter by name​​来优化了表格展示的字段。
  2. 增加了关于节点名称标签在不同指标中不一致的说明。 
v20201208
  1. 调整了资源总览页的展示效果。
  2. 增加了更多命名空间维度的统计信息。
  3. 总览页的节点明细表格更新为grafana7的样式,增加了各节点资源的使用比例并标记颜色。
  4. 微服务和pod的表格数据与曲线图分开2个卡片展示,表格中可以直接查看微服务及对应Pod的明细。
  5. 曲线图使用独立的卡片展示,浏览所有微服务表格时,不会出现服务过多引起卡顿的情况,建议制定微服务后在查看曲线图。

6. 优化了部分图表的描述。

整体资源总览

K8S for Prometheus Dashboard 更新_微服务

微服务资源明细

K8S for Prometheus Dashboard 更新_微服务_02

Pod资源明细

K8S for Prometheus Dashboard 更新_微服务_03



注意:Prometheus需要能采集到​​cadvisor​​与​​kube-state-metrics​​的指标。

  • cAdvisor作为kubelet内置的一部分程序可以直接使用。
  • kube-state-metrics部署可参考:https://github.com/starsliao/Prometheus/tree/master/kubernetes

Prometheus job配置参考(kube-state-metrics部署在ops-monit命名空间):

  - job_name: 'k8s-cadvisor'
metrics_path: /metrics/cadvisor
kubernetes_sd_configs:
- role: node
relabel_configs:
- source_labels: [__address__]
regex: '(.*):10250'
replacement: '${1}: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

- job_name: kube-state-metrics
kubernetes_sd_configs:
- role: endpoints
namespaces:
names:
- ops-monit
relabel_configs:
- source_labels: [__meta_kubernetes_service_label_app_kubernetes_io_name]
regex: kube-state-metrics
replacement: $1
action: keep
- action: labelmap
regex: __meta_kubernetes_service_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: k8s_namespace
- source_labels: [__meta_kubernetes_service_name]
action: replace
target_label: k8s_sname


举报

相关推荐

0 条评论