[转帖]prometheus和node_exporter中的磁盘监控
https://www.ipcpu.com/2021/04/prometheus-node_exporter/
prometheus和node_exporter中的磁盘监控.md
对于磁盘问题,我们主要关注以下几个指标:
磁盘空间使用率、磁盘inode使用率(df -h和df -i命令)
磁盘读写次数IOPS (iostat中的r/s、w/s)
磁盘读写带宽 (iostat中的rkB/s、wkB/s)
磁盘IO利用率%util (iostat中的%util)
磁盘队列数 (iostat中的avgqu-sz)
磁盘读写的延迟时间 (iostat中的r_await、w_await)

这些指标都可以在node_exporter中找到对于的线索。
1. 磁盘空间使用率和磁盘inode使用率

磁盘空间使用率
100 - ((node_filesystem_avail_bytes{instance=~"$hostname",fstype=~"ext4|xfs"} * 100) / node_filesystem_size_bytes{instance=~"$hostname",fstype=~"ext4|xfs"})
磁盘inode使用率
100 -node_filesystem_files_free{instance=~"$hostname",fstype=~"ext4|xfs"}/node_filesystem_files{instance=~"$hostname",fstype=~"ext4|xfs"} * 100
2. 磁盘IOPS

读IOPS
rate(node_disk_reads_completed_total{instance=~"$hostname",device=~"[a-z]*[a-z]"}[5m])
写IOPS
rate(node_disk_writes_completed_total{instance=~"$hostname",device=~"[a-z]*[a-z]"}[5m])
3. 磁盘IO利用率%util

磁盘IO利用率(iostat中的%util,取值范围[0-1])
rate(node_disk_io_time_seconds_total{instance=~"$hostname"}[5m])
util%到达100%并不一定会存在磁盘瓶颈,因为磁盘设备可以并发(fio中的多队列),判断磁盘瓶颈要根据util%、IO队列数、读写延迟的历史趋势来判断。没有办法,因为磁盘厂商也没给出相关参考。
4. 磁盘设备平均IO队列数

rate(node_disk_io_time_weighted_seconds_total{instance=~"$hostname"}[5m])
5. 磁盘设备读写延迟

读延迟(ms)
rate(node_disk_read_time_seconds_total{instance=~"$hostname"}[5m]) / rate(node_disk_reads_completed_total{instance=~"$hostname"}[5m]) * 1000
写延迟(ms)
rate(node_disk_write_time_seconds_total{instance=~"$hostname"}[5m]) / rate(node_disk_writes_completed_total{instance=~"$hostname"}[5m]) * 1000
这个值的单位是秒, 不太好看,乘以1000可以换算成毫秒ms。这个值与设备有关,本地盘、网络盘、SSD磁盘的读写延迟级别不一。
参考资料
https://www.robustperception.io/mapping-iostat-to-the-node-exporters-node_disk_-metrics
https://brian-candler.medium.com/interpreting-prometheus-metrics-for-linux-disk-i-o-utilization-4db53dfedcfc
https://devconnected.com/monitoring-disk-i-o-on-linux-with-the-node-exporter/
转载请注明:IPCPU-网络之路 » prometheus和node_exporter中的磁盘监控
[转帖]prometheus和node_exporter中的磁盘监控的更多相关文章
- [转帖]prometheus数据采集exporter全家桶
prometheus数据采集exporter全家桶 Rainbowhhy1人评论2731人阅读2019-04-06 15:38:32 https://blog.51cto.com/13053917/2 ...
- Grafana+Prometheus通过node_exporter监控Linux服务器信息
Grafana+Prometheus通过node_exporter监控Linux服务器信息 一.Grafana+Prometheus通过node_exporter监控Linux服务器信息 1.1nod ...
- prometheus + grafana + node_exporter + alertmanager 的安装部署与邮件报警 (一)
大家一定要先看详细的理论教程,再开始搭建,这样报错后才容易找到突破口 参考文档 https://www.cnblogs.com/afterdawn/p/9020129.html https://www ...
- prometheus、node_exporter、cAdvisor常用参数
本节将介绍一下我在使用过程中用到的promethues.node_exporter.cAdvisor的常用参数,做一个总结 一.prometheus prometheus分为容器安装和二进制文件安装, ...
- Golang 基于Prometheus Node_Exporter 开发自定义脚本监控
Golang 基于Prometheus Node_Exporter 开发自定义脚本监控 公司是今年决定将一些传统应用从虚拟机上迁移到Kubernetes上的,项目多而乱,所以迁移工作进展缓慢,为了建立 ...
- prometheus、node_exporter设置开机自启动
方法一.写入rc.local 在/etc/rc.local文件中编辑需要执行的脚本或者命令,我个人习惯用这个,因人而异,有的项目可能需要热加载配置文件,用服务会更好 #普罗米修斯启动,需要后面接con ...
- Linux 在 i 节点表中的磁盘地址表中,若一个文件的长度是从磁盘地址表的第 1 块到第 11 块 解析?
面试题: 在 i 节点表中的磁盘地址表中,若一个文件的长度是从磁盘地址表的第 1 块到第 11块,则该文件共占有 B 块号.A 256 B 266 C 11 D 256×10 linux文件系统是L ...
- 如何在 Linux 中整理磁盘碎片
有一个神话是 linux 的磁盘从来不需要整理碎片.在大多数情况下这是真的,大多数因为是使用的是优秀的日志文件系统(ext3.4等等)来处理文件系统.然而,在一些特殊情况下,碎片仍旧会产生.如果正巧发 ...
- Linux中的磁盘
Linux的磁盘管理 (很重要请注意高能预警) 硬盘:几个盘片,双面,磁性颗粒, 处理速率不同步:借助于一个中间层 文件系统(FileSystem) 可以实现对磁盘行的文件进行读写 文 ...
- vm中centos7磁盘扩容
在VM虚拟平台管理客户端,将虚拟机关机后,将分配的磁盘大小30G扩至300G.如图. 调整完后,重新打开虚拟机,使用fdisk -l查看,可以看到我们刚刚扩容的空间已经可以看到,但没有分区,还 ...
随机推荐
- Python——第二章:字符串操作——总结
总结: f"{变量}" 格式化字符串最优方法 索引.切片.步长: 索引:从0开始计算的.[5] 切片:s[start: end: step],end位置的数据永远拿不到,左闭又开 ...
- PySimpleGUI 使用浅谈
1. 背景 PySimpleGUI是一个简单易用的Python GUI库,它提供了一种直观且快速创建图形用户界面的方式. 2. 安装 pip install PySimpleGUI 3. PySimp ...
- 在ASP.NET Core微服务架构下使用RabbitMQ如何实现CQRS模式
前言 在现代软件开发中,微服务架构和CQRS模式都是备受关注的技术趋势.微服务架构通过将应用程序拆分为一系列小型.自治的服务,提供了更好的可伸缩性和灵活性.而CQRS模式则通过将读操作和写操作分离,优 ...
- 调用含有header的WebService时,跳过证书验证
最近在做Webservice的接口调用,header的用户名和密码都是正确的,地址也是对的,但一直提示:基础连接已关闭,未能与SSL/TLS安全通道建立信任关系. 解决方案: 请求之前加上下面得代码即 ...
- JVM学习-类加载机制
文章原文:https://gaoyubo.cn/blogs/4b481fd7.html 一.类加载机制 在JVM学习-Class文件结构中,讲了Class文件存储格式的具体细节.虽然Class文件中描 ...
- GaussDB(DWS)查询过滤器原理与应用
摘要:GaussDB(DWS)查询过滤器(黑名单)提供查询过滤功能,支持自动隔离反复被终止的查询,防止烂SQL再次执行. 本文分享自华为云社区<GaussDB(DWS)查询过滤器原理与应用> ...
- 华为云PB级数据库GaussDB(for Redis)揭秘第十期:GaussDB(for Redis)迁移系列(上)
摘要:本期将详细介绍社区版Redis.kvrocks和Pika到GaussDB(for Redis)的迁移 本文分享自华为云社区<华为云PB级数据库GaussDB(for Redis)揭秘第十期 ...
- Git 工具 - 子模块: submodule与subtree的使用
git日常使用中,基本都是一个项目一个Git仓库的形式,那么当我们的代码中碰到了业务级别的需要复用的代码,我们一般怎么做呢? 比如:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你独 ...
- pip升级和卸载安装的第三方库
pip install --upgrade 第三方库名 pip uninstall 第三方库名
- 企业诊断屋:二手车交易平台 APP 如何用 AB 测试赋能业务
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 2023年汽车行业新车市场低靡,由新车降价引发的车辆价格波动很快传导到二手车市场,二手车的交易也受到了冲击,收车验 ...