8-3 通过Grafana展示Prometheus的Node和Pod数据

发布于:2022-10-17 ⋅ 阅读:(542) ⋅ 点赞:(0)

前言

在上一章节 8-2 通过Node-Exporter和Cadvisor收集指标数据 我们已经通过node-exporter收集了node信息,通过cadvisor收集了pod数据。下面将两个数据导入Prometheus,最后在Grafana展现数据。



Node数据

node-exporter指标数据

常见的指标:

指标 说明
node_boot_time 系统自启动以后的总计时间
node_cpu 系统 CPU 使用量
nodedisk* 磁盘 IO
nodefilesystem* 系统文件系统用量
node_load1 系统 CPU 负载
nodememeory* 内存使用量
nodenetwork* 网络带宽指标
node_time 当前系统时间
go_* node exporter 中 go 相关指标
process_* node exporter 自身进程相关运行指标

Prometheus采集node-exporter数据

Prometheus的部署可参考 8-1 基于Operator和二进制安装Prometheus系统

去到prometheus-server服务器,导入node-exporter数据:

vim /apps/prometheus/prometheus.yml
# 在末尾添加工作
  - job_name: 'k8s-node-exporter'
    static_configs:
      - targets: ['192.168.100.161:9100', '192.168.100.162:9100', '192.168.100.163:9100', '192.168.100.164:9100', '192.168.100.165:9100', '192.168.100.166:9100']


# prometheus热加载
curl -X POST http://192.168.100.181:9090/-/reload


热加载后可在Prometheus首页看到k8s-node-exporter的6个node状态为UP。

在这里插入图片描述

Grafana展示node-exporter数据

Grafana的部署可参考 8-1 基于Operator和二进制安装Prometheus系统

Home => Configuration => Data source 添加Prometheus 9090端口数据源:



导入模板

官网模板地址:https://grafana.com/grafana/dashboards/

搜索node,发现Node Exporter Full热度较高,在详情页,找出ID号为1860



Home => Create => Import 导入ID号1860



Dashboards => Browse => Node Exporter Full 可查看Node硬件运行状态:

在这里插入图片描述



Pod数据

cadvisor指标数据

项目 Value 含义
container_cpu_load_average_10s gauge 过去 10 秒容器 CPU 的平均负载
container_cpu_usage_seconds_total counter 容器在每个 CPU 内核上的累积占用时间(单位:秒)
container_cpu_system_seconds_total counter System CPU 累积占用时间(单位:秒)
container_cpu_user_seconds_total counter User CPU 累积占用时间(单位:秒)
container_fs_usage_bytes gauge 容器中文件系统的使用量(单位:字节)
container_fs_limit_bytes gauge 容器可以使用的文件系统总量(单位:字节)
container_fs_reads_bytes_total counter 容器累积读取数据的总量(单位:字节)
container_fs_writes_bytes_total counter 容器累积写入数据的总量(单位:字节
container_memory_max_usage_bytes gauge 容器的最大内存使用量(单位:字节)
container_memory_usage_bytes gauge 容器当前的内存使用量(单位:字节)
container_spec_memory_limit_bytes gauge 容器的内存使用量限制
machine_memory_bytes gauge 当前主机的内存总量
container_network_receive_bytes_total counter 容器网络累积接收数据总量(单位:字节)
container_network_transmit_bytes_total counter 容器网络累积传输数据总量(单位:字节)

gauge:实时数据,例如车速指示。
counter:累积数据,例如总里程表。


Prometheus采集cadvisor数据

去到prometheus-server服务器,导入cadvisor数据:

vim /apps/prometheus/prometheus.yml
# 在末尾添加工作
  - job_name: 'k8s-cadvisor'
    static_configs:
      - targets: ['192.168.100.161:8080', '192.168.100.162:8080', '192.168.100.163:8080', '192.168.100.164:8080', '192.168.100.165:8080', '192.168.100.166:8080']


# prometheus热加载
curl -X POST http://192.168.100.181:9090/-/reload


热加载后可在Prometheus首页看到k8s-cadvisor的6个node状态为UP:

在这里插入图片描述

Grafana展示cadvisor数据

数据展示步骤跟 Grafana展示node-exporter数据 一样。只是模板ID不一样。

导入模板

到Grafana官网模板网站搜索pod,找出ID号为14282,导入到Grafana。



修改名字

图表名字默认会以pod id显示,不好辨认。可以改为pod name,操作步骤如下:

点击图表正上方标题,选择编辑,找到下面的代码行:



修改前

sum(rate(container_cpu_usage_seconds_total{instance=~"$host",name=~"$container",name=~".+"}[5m])) by (name) *100

修改后

sum(rate(container_cpu_usage_seconds_total{instance=~"$host",name=~"$container",name=~".+"}[5m])) by (container_label_io_kubernetes_pod_name) *100



网站公告

今日签到

点亮在社区的每一天
去签到