1 Kubernetes for Prometheus Dashboard CN 20201209

Dashboard

【中文版本】2020.12.09更新,kubernetes资源全面展示!包含K8S整体资源总览、微服务资源明细、Pod资源明细及K8S网络带宽,优化重要指标展示。https://github.com/starsliao/Prometheus
Last updated: 2 months ago

Start with Grafana Cloud and the new FREE tier. Includes 10K series Prometheus or Graphite Metrics and 50gb Loki Logs

Downloads: 6628

Reviews: 7

  • k1.png
    k1.png
  • k2.png
    k2.png
  • k3.png
    k3.png
  • k8s.png
    k8s.png

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

v20201209版本总览表格使用grafana 7的样式,不支持grafana 6.x。建议升级到grafana 7,使用新版表格获得更好的展示效果。
如果使用的是grafana 6.x,请下载v20201010版并编辑json文件,把table-old替换成table,再导入到grafana即可。


新增数据源变量origin_prometheus,取自于Prometheus的外部系统标签:external_labels,可用于支持多个Prometheus接入VictoriaMetrics或Thanos等第三方存储使用remote_write方式的场景。(默认取值空,指标中无该标签不影响使用)
VictoriaMetrics请使用v1.42.0及以上版本,修复了grafana表格展示的问题。


注意事项:

  • 关于节点名称的标签,因为cadvisor是使用instance,而kube-state-metrics是使用node;这样会导致grafana节点信息表格中,没有统一的字段来连接各个查询,所以需要在prometheus.yaml中增加以下内容来给cadvisor的指标复制一个node标签。
  • 请在cadvisorjob下增加以下内容:
    metric_relabel_configs:
    - source_labels: [instance]
      separator: ;
      regex: (.+)
      target_label: node
      replacement: $1
      action: replace

更新说明:

v20201209
  1. 使用Filter by name来优化了表格展示的字段。
  2. 增加了关于节点名称标签在不同指标中不一致的说明。
v20201208
  1. 调整了资源总览页的展示效果。
  2. 增加了更多命名空间维度的统计信息。
  3. 总览页的节点明细表格更新为grafana7的样式,增加了各节点资源的使用比例并标记颜色。
  4. 微服务和pod的表格数据与曲线图分开2个卡片展示,表格中可以直接查看微服务及对应Pod的明细。
  5. 曲线图使用独立的卡片展示,浏览所有微服务表格时,不会出现服务过多引起卡顿的情况,建议制定微服务后在查看曲线图。
  6. 优化了部分图表的描述。

整体资源总览

微服务资源明细

Pod资源明细

K8S网络带宽

注意:Prometheus需要能采集到cadvisorkube-state-metrics的指标。

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

关注公众号【全栈运维开发】加入运维群交流,获取更多...

博客:StarsL.cn

问题请到github上提交issue。

GitHub:https://github.com/starsliao/Prometheus


Dependencies: