Linux监测系统负载脚本

Linux监测系统负载脚本

定时记录系统负载、CPU使用率和内存等参数,便于查找系统瓶颈。


#!/bin/bash

b=`w | grep 'load average' | awk '{print $10*100}'`

if [ $b -gt 100 ];then
    # 负载大于1

    # 负载
    average=`w | grep 'load average' | awk '{print $10*1}'`

    # 今天
    today=`date +%Y%m%d`

    # 当前时间
    now=`date +%Y-%m-%d_%H:%M`

    # 非正常连接的IP地址
    ip=`netstat -an | grep -v 'ESTABLISHED' | awk '{print $5}' | awk -F ":" '{print $4}'`

    # CPU使用率
    cpu=`top -n 1 | grep 'Cpu' | awk '{print $2}' | awk -F "%" '{print $1}'`

    # 内存使用
    mem=`free -m | grep 'buffers/cache' | awk '{print $3}'`

    # 系统连接数
    netstat=`netstat -an | wc -l`

    # httpd进程数
    httpd=`ps aux | grep httpd | wc -l`

    echo "时间:$now | 负载:$average | Cpu:${cpu}% | Mem:${mem}M | Net:$netstat | Httpd:$httpd " >> /root/crontab/log/stat_$today.log

fi

发表评论