linux监控平台搭建-磁盘
系统突然有个IO高峰:
想知道什么事:disk.io.util/device=vda;
disk.io.util:在统计时间内所有处理IO时间,除以总共统计时间。是个百分数,比如56.43,表示56.43%。目前我的公司就是监控这个指标报警,之后去排查问题
磁盘:随着大数据快速发展、人工智能、自动化、云平台。数据量指数的增长。磁盘的使用量也在增长。目前的机器基本上采用SSD或者SATA盘,一直有人比较那个好。会不会使用时间短。寿命不长。但是最新的某科技公司的测试评论。已经显示了。SSD更安全,速度更快(SATA真的OUT)。SSD 是没有扇区、扇面、没有扫扇道...这些概念。本文讲解一下磁盘监控项。与一些排查思想。
常用的磁盘检查命令:
vmstat内存读写情况、iostat查看磁盘读写情况、top查看应用负责、strace -p 查看应用执行动作、sar、df、 MegaCli64、dd、hdparm、du、cat /proc/$pid/io、/proc/sys/vm/block_dump...
监控平台监控指标:
1)分区读写监控
测试所有已挂载分区是否可读写,作为基础监控项(非0读写有问题)
cat /proc/mounts
2)磁盘相关采集项
df.bytes.free:磁盘可用量
df.bytes.free.percent:磁盘可用量占总量的百分比
df.bytes.total:磁盘总大小
df.bytes.used:磁盘已用大小
df.bytes.used.percent:磁盘已用大小占总量的百分比(监控这个指标报警)
df.inodes.total:inode总数
df.inodes.free:磁盘可用inode数目
df.inodes.free.percent:可用inode百分比
df.inodes.used:磁盘已用的inode数据
df.inodes.used.percent:已用inode百分比(监控这个指标报警)
3)IO相关采集项
计算方法:每秒采集一次/proc/diskstats
disk.io.ios_in_progress:当前正在运行的实际I / O请求数
disk.io.msec_read:所有读取花费的总计ms数
disk.io.msec_total:ios_in_progress> = 1的时间量
disk.io.msec_weighted_total:统计最近的I / O完成时间和积压。
disk.io.msec_write:所有写入所花费的总时间
disk.io.read_merged:相邻的读取请求合并在单个req中
disk.io.read_requests:读取成功完成的总数(汇总)
disk.io.read_sectors:成功读取的扇区总数
disk.io.write_merged:相邻的写请求合并在单个请求中
disk.io.write_requests:成功写入磁盘的总次数
disk.io.write_sectors:成功写入扇区数的总次数
disk.io.read_bytes:单位是byte的数字
disk.io.write_bytes:单位是byte的数字
4)下面几个值就是iostat -x 1看到的值
disk.io.avgrq_sz:平均请求扇区的大小
disk.io.avgqu-sz:是平均请求队列的长度。毫无疑问,队列长度越短越好
disk.io.await:每一个IO请求的处理的平均时间(单位是毫秒)
disk.io.svctm:表示平均每次设备I/O操作的服务时间(以毫秒为单位)
disk.io.util:在统计时间内所有处理IO时间,除以总共统计时间。是个百分数,比如56.43,表示56.43%。目前我的公司就是监控这个指标报警,之后去排查问题
5)一些常见的linux磁盘的专业术语(具体请百度)
如何提高机器的磁盘性能
1)首先想到的就是换性能好的磁盘。这个好像是最高效的方式,SSD具有更好的性能,访问数据都是随机的。更小的功耗。LVM(逻辑卷)的扩容。
2)然后就是Raid (RAID0, RAID1, RAID5, RAID0+1)。通过raid实际数据在多块磁盘的并发读写和数据备份。增强磁盘的可用性和容错能力
3)确定机器的上线的需求。运维人员一定要知道,机器的使用场景。小文件(占用Inode例如图片)读写瓶颈是磁盘的寻址(tps),大文件(占用磁盘容量)读写的性能瓶颈是带宽
4)Linux有一句话(一切皆文件)。空闲内存作文件系统访问的cache,因此系统内存越大存储系统的性能也越好
5)最后就是架构层面的优化,CDN(nginx、squid..),机房内部反向代理(squid),memcached,消息队列,缓存机制。总之就是静态的采用缓存机制。非静态的优化性能,减小调用磁盘
那些问题导致磁盘缓慢:
1)应用程序设计的缺陷和数据库查询的滥用、操作人员的失误、都有可能导致性能问题
2)性能瓶颈可能是因为程序设计缺陷/内存太小/磁盘有损坏、性能差,但是最终都是CPU耗尽的结果(这就话很实用),系统负载极高,响应迟缓,甚至暂时失去响应。登陆不上机器。
3)由于linux的swap机制。物理内存不够时会使用交换内存(可以调优参数),大量使用swap会带来磁盘I0进而导致CPU消耗
4)可能造成cpu瓶颈的问题:频繁执Perl,php,java程序生成动态web;数据库查询大量的where子句、order by/group by排序……
5)可能造成内存瓶颈问题:高并发用户访问、系统进程多(每个进程都会消耗内存,驻留内存),java内存泄露……
6)可能造成磁盘IO瓶颈问题:生成cache文件,数据库频繁更新,或者查询大表……
如何查看磁盘缓慢(来点实际的)
1)swap(当内存不足时会调用SWAP)
a.si列表示由磁盘调入内存,也就是内存进入内存交换区的数量;
b.so列表示由内存调入磁盘,也就是内存交换区进入内存的数量
c.一般情况下,si、so的值都为0,如果si、so的值长期不为0,则表示系统内存不足,需要考虑是否增加系统内存。或者扩展机器提高可用性
2)IO
a.bi列表示从块设备读入的数据总量(即读磁盘,单位KB/秒)
b.bo列表示写入到块设备的数据总量(即写磁盘,单位KB/秒)
这里设置的bi+bo参考值为1000,如果超过1000,而且wa值比较大,则表示系统磁盘IO性能瓶颈。
相关文章
- 4个好用的Linux监控工具
- Linux流量监控:轻松掌控网络流量(linux流量监控命令)
- 权限Linux命令行改变文件权限的方法(linux命令行修改文件)
- Linux性能监控:实现最佳性能的管理命令(linux性能监控命令)
- 深入 Linux 服务器监控指标,提升系统运行效率(linux服务器监控指标)
- 硬盘Linux挂载Mac硬盘:简单步骤解决多平台无缝共享(linux挂载mac)
- Linux平台上的数据库自动备份脚本实现(linux数据库备份脚本)
- Linux系统资源监控:实现高效率运行(linux系统资源监控)
- Linux 超级用户拥有的权力(linux超级用户权限)
- 探索Linux系统的神秘模块(linux模块是什么)
- Linux添加用户组:简单而有效(linux添加用户组)
- Linux系统运行状态监控实操经验(linux系统监控)
- 开放性与可靠性:Linux 开源平台(linux开源平台)
- Linux查看网卡位置的简易方法(linux网卡位置)
- 丰田携手Linux,共创未来(丰田linux)
- Linux:实现高效等待的队列(linux队列)
- 利用Linux日志工具实现信息安全监控(linux日志工具)
- 结构化管理:探索Linux操作系统的组成(linux组成)
- Linux端口共享 ─ 节约资源还能提高效率(linux端口共享)
- 教你如何快速搭建Linux聊天服务器,打造便捷高效的通信平台!(linux搭建聊天服务器)
- Linux邮件系统的监控与管理(linux邮件监控)
- 监控 Linux 系统内存情况的方法(linux内存监控)
- 精妙封装:挖掘Linux的巨大潜力(封装linux)
- 监控Linux系统运行状态的监控与分析(linux运行状态)
- 如何在Linux中安装Python?(linux安装python)
- 如何在Linux平台上签名你的文档和代码?(linux签名)
- Linux软连接无缝链接文件和目录(linux 软连接 目录)
- 炼数成金:Linux下的数据之窗(炼数成金 linux)
- Linux系统中的流量监控技术(linux流量监控)
- Linux系统分区调整实操(linux 调整 分区)