shell脚本监控linux服务器资源 CPU 网络 内存 磁盘

本文介绍了一款用于远程监控Linux主机资源的Bash脚本,包括CPU使用率、内存使用情况、磁盘I/O和网络I/O等关键信息。通过SSH连接目标服务器,收集并返回实时监控数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 代码调用脚本:host_resource;sh,config.sh 拿到服务器的cpu,内存,网络,磁盘信息

以下为调用脚本内容:

host_resource;sh 

#!/bin/bash

#==================================================================#

#FILE: host_resource.sh

#FUNCTION: 主机监控,获取主机CPU、内存、网络I\O、磁盘 I\O

#==================================================================#

 

#=========================Parameter================================#

# HOST          主机IP地址

# USER ssh访问的用户

# SSH           ssh命令别名       

# CPU cpu使用率

# MEMORY 内存使用率

# DISK 磁盘IO

# DEVICE 网卡设备

# NETWORK 网络IO

#==================================================================#

 

#加载变量

source /data/bin/config.sh

 

HOST=$1

 

#位置参数校验

[ -z $HOST ] && echo "false:parameter" && exit 1

 

MONITOR() {

    #CPU

    CPU=`$SSH $USER@$HOST 2>/dev/null vmstat | grep -v -E "^$|proc|swpd"  | awk '{print 100-$15}'`

 

    #内存

    MEMORY=`$SSH $USER@$HOST 2>/dev/null free -m |grep Mem | awk '{print $2"\t"$3}'`

 

    #磁盘IO

    DISK=`$SSH $USER@$HOST 2>/dev/null iostat -d -k | grep -v -E "^$|Linux|dm|Device" | awk '{print $3"\t"$4}' | awk '{sum1+=$1;sum2+=$2} END {print  sum1"\t"sum2}'`

 

    #网络IO

    DEVICE=`$SSH $USER@$HOST 2>/dev/null "cd /etc/sysconfig/network-scripts && ls | grep ifcfg | grep -v ifcfg-lo"`

    NAME=${DEVICE#ifcfg-}

    NETWORK=`$SSH $USER@$HOST 2>/dev/null sar -n DEV 1 1 | grep -v -E "^$|Linux|Average" | grep -E "$NAME" | awk '{print $6"\t"$7}'`

 

    #输出系统资源信息

    echo -e "true\n$CPU\n$MEMORY\n$DISK\n$NETWORK"

}

 

#主机网络状态检查

ping -c 1 $HOST > /dev/null 2>&1

if [ $? -eq 0 ];then

    MONITOR

else

    echo  "false" && exit 1

fi

 

 

config.sh

#!/bin/bash

#基础环境配置文件

 

# SSH/SCP

SSH="ssh -A -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"

SCP="scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"

 

# USER shell脚本执行用户

USER=root

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值