04 一键查看服务器资源利用率

#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

function cpu() {
    util=`vmstat | awk 'NR==3 {print (100-$15) "%"}'`
    iowait=`vmstat | awk 'NR==3 {print $16 "%"}'`
    echo "CPU - 使用率: $util , 等待磁盘IO响应使用率: $iowait"
}

function memory() {
    total=`free -m | awk 'NR==2 {printf "%.1f", $2/1024}'`
    used=`free -m | awk 'NR==2 {printf "%.1f", $3/1024}'`
    available=`free -m | awk 'NR==2 {printf "%.1f", ($2-$3)/1024}'`
    echo "内存 - 总大小: ${total}G , 使用: ${used}G , 剩余: ${available}G"
}

function disk() {
    fs=$(df -h | awk '/^\/dev/ {print $1}')
    for p in $fs; do
        mounted=$(df -h | awk '$1=="'$p'" {print $NF}')
        size=$(df -h | awk '$1=="'$p'" {print $2}')
        used=$(df -h | awk '$1=="'$p'" {print $3}')
        used_percent=$(df -h | awk '$1=="'$p'" {print $5}')
        echo "硬盘 - 挂载点: $mounted , 总大小: $size , 使用: $used , 使用率: $used_percent"
    done
}

function tcp_status() {
    summary=$(ss -antp | awk 'NR>1 {status[$1]++}END{for(i in status) printf i ":" status[i] " , "}')
    echo "TCP连接状态 - $summary"
}

echo "-------------------------------------------CPU----------------------------------------------"
cpu
echo "-------------------------------------------MEMORY-------------------------------------------"
memory
echo "-------------------------------------------DISK---------------------------------------------"
disk
echo "-------------------------------------------TCP_STATUS---------------------------------------"
tcp_status

 

上一篇:2021-03-19


下一篇:Python装饰器真心好用