Linux 主机磁盘繁忙度监控实战shell脚本
Linux 磁盘繁忙度是指磁盘的使用率和活动水平。可以通过一些工具来监测磁盘繁忙度,如 iostat、iotop、sar 等。
其中,iostat 是一个常用的工具,可以提供关于磁盘活动的详细统计信息。通过运行命令 iostat -x 1 可以实时监测磁盘的使用情况,其中 %util 列就表示磁盘的繁忙度,数值越高表示磁盘越繁忙。
另外,iotop 是一个类似于 top 命令的工具,可以实时监测磁盘的使用情况。运行命令 iotop 可以查看当前磁盘活动最频繁的进程,并显示其读写速度、I/O 请求等信息。
sar 是系统性能分析工具,通过收集系统资源使用情况的历史数据,可以获得更详细的磁盘繁忙度信息。运行命令 sar -d 1 可以实时监测磁盘的使用情况。
综上所述,以上工具都可以帮助您监测和分析 Linux 磁盘的繁忙度
在主机维护方面,面对前端业务运行缓慢的情况时磁盘繁忙度监控可以提供数据分析,实战监控脚本如下:
#!/bin/bash #writing time: Friday Jun 16 11:29 2023 #description: get disk load info #author: Albert-M function get_disk_load() { iostat -x 1 1 | grep $1 if [ $? == 0 ];then iostat -x 1 10 | grep $1 | awk '{a+=$NF}END{print strftime("[%Y-%m-%d %H:%M:%S]"),$1,a/NR}' > /ap/log/iostat_$1_info cat /ap/log/iostat_$1_info >> /var/log/disk/disk.log-`date +%Y%m%d` /opt/product/zabbix/bin/zabbix_sender -c /opt/product/zabbix/conf/zabbix_agentd.conf -k $1'_util' -o `awk '{print $4}' /ap/log/iostat_$1_info` fi } get_disk_load sda get_disk_load sdb get_disk_load sdc get_disk_load sdd get_disk_load sde get_disk_load sdf get_disk_load sdg
本文来自博客园,作者:Albert_M,转载请注明原文链接:https://www.cnblogs.com/Albert-M/p/17671526.html