lr工具是一款基于Linux系统开发的轻量级资源监控脚本,通过整合系统原生命令(如top、vmstat、iostat、free等)实现自动化数据采集与可视化分析,适用于服务器资源状态巡检、性能瓶颈定位及历史趋势追踪,以下从核心资源维度详细说明lr工具的监控方法。
CPU资源监控
CPU是系统核心资源,lr工具通过多维度指标实时反映其负载情况,实时CPU使用率可通过lr cpu --real
命令采集,输出包含用户态(us,用户程序占用CPU)、系统态(sy,内核程序占用)、空闲(id,CPU空闲率)、等待(wa,等待I/O)、软中断(si)、硬中断(hi)等字段,其中us+sy占比直接反映CPU繁忙程度,若持续超过80%需警惕性能瓶颈,负载监控执行lr cpu --load
,展示1分钟、5分钟、15分钟的平均负载值,需结合CPU核心数判断(如4核服务器负载>4表示过载),长期趋势可通过lr cpu --history
查看,数据默认存储于/var/log/lr/cpu.log
,支持按时间范围筛选分析。
内存资源监控
内存监控聚焦使用效率与潜在溢出风险。lr mem --usage
命令输出内存总容量(total)、已用(used)、空闲(free)、缓存(buff/cache)、可用(available)等字段,可用内存”是系统可即时分配的空闲内存+可回收缓存,若持续低于10%可能触发OOM(内存不足),Swap分区监控通过lr mem --swap
实现,显示swap总大小、已用大小、使用率,swap频繁使用(如使用率>20%)表明物理内存不足,需优化应用或扩容,内存泄漏排查可执行lr mem --trend
,对比不同时间点内存使用趋势,若内存持续增长且不回落需检查进程异常。
磁盘I/O监控
磁盘I/O性能直接影响数据读写效率,lr工具从使用率与性能双维度监控,磁盘空间使用通过lr disk --usage
采集,输出文件系统(如/dev/sda1)、总容量(Size)、已用(Used)、可用(Avail)、使用率(Use%)等,重点关注根分区(/)和数据分区(/data)使用率,超过85%需清理或扩容,I/O性能监控执行lr disk --iops
,依赖iostat命令展示每秒传输次数(tps)、读写字节数(KB/s/read, KB/s/write)、平均请求时间(await),若await>100ms表示I/O响应慢,可能存在磁盘瓶颈或队列积压,磁盘读写分布可通过lr disk --topio
查看,按PID排序展示进程级I/O占用,定位高I/O进程。
网络资源监控
网络监控关注连接状态与流量异常,连接数统计执行lr net --conn
,显示TCP连接状态(ESTABLISHED、TIME_WAIT、CLOSE_WAIT等)及对应数量,其中TIME_WAIT过多(如单机>10万)可能影响新连接建立,需优化内核参数(如tcp_tw_reuse),带宽使用通过lr net --bandwidth
实现,基于iftop工具实时显示进出流量(按IP/端口排序),单位为KB/s/Mbps,若某进程流量突增且非业务预期,需排查是否被攻击或异常访问,网络丢包/延迟监控可通过lr net --ping
定期ping关键节点(如网关、数据库),记录丢包率(packet loss)和平均延迟(avg rtt),丢包率>1%或延迟>100ms需检查网络链路。
进程资源监控
进程级监控定位具体资源消耗异常。lr proc --cpu
按CPU使用率排序进程,输出PID、进程名(CMD)、CPU%、内存%、运行时间(TIME),持续占用CPU高资源的进程需分析其业务逻辑或是否异常(如挖矿程序),内存占用监控执行lr proc --mem
,筛选内存使用率TOP进程,若单个进程内存占用超过物理内存50%需警惕内存泄漏,僵尸进程检查通过lr proc --zombie
实现,STAT为“Z”的进程为僵尸进程,数量过多(如>5)需手动清理(kill -9父进程)。
lr工具高级功能
- 历史数据存储:所有监控数据按日期存储于
/var/log/lr/
目录,支持按月/周归档,可通过lr report --date=2023-10
生成历史报表。 - 告警配置:编辑
/etc/lr/alert.conf
设置阈值(如CPU>80%、内存>90%),触发告警时可通过邮件(mail)、企业微信(webhook)或短信通知管理员。
相关问答FAQs
Q1:lr工具如何安装和配置?
A:lr工具基于Shell开发,无需依赖额外库,直接下载脚本至/usr/local/bin/并赋予执行权限(chmod +x /usr/local/bin/lr),首次运行需创建配置文件/etc/lr.conf
,设置监控间隔(如interval=30,单位秒)、日志路径(log_path=/var/log/lr/)及告警邮箱(alert_email=admin@example.com),依赖工具(top、vmstat、iostat、iftop)需通过系统包管理器安装(如CentOS执行yum install sysstat -y
,Ubuntu执行apt install sysstat -y
)。
Q2:lr监控显示CPU使用率100%,如何快速排查?
A:首先执行lr proc --cpu
定位占用CPU最高的进程,若为业务进程需检查其代码逻辑(如死循环、频繁计算);若为未知进程(如kworker、migration),可能是内核线程导致,需检查系统负载(lr cpu --load
)及磁盘I/O(lr disk --iops
),若I/O等待(wa)占比高,可能是磁盘性能瓶颈(如机械磁盘寻道慢),建议升级SSD或优化磁盘布局。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/26949.html