文章目录
前言
在上一章节 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