查看监控多台服务器的内存和磁盘容量

查看监控多台服务器的内存和磁盘容量,第1张

查看监控多台服务器的内存和磁盘容量  效果图

代码: 注意:
  • 需要ssh免密,且默认端口是22,早期写的,忘记将端口设置成变量了。
  • 颜色改变原则目前就是大于70黄色,小于70是绿色。
  • 新增要监视的主机就是加脚本的最后依据,即:get_mem $IP &。
#!/bin/bash
clear
echo "--------------------MEMORY & DISK(used/total)---------------------"

function waitfun(){
a=1
 while [ $a -lt 5 ]
    do
        for X in '-' '' '|' '/'
        do
        printf "处理中t[ e[32m%se[m ]r" "${X}"
        sleep 0.3
        a=`expr $a + 1 `
    done
 done
}

function get_disk(){
	ip=
	disk_used=`ssh -p 22 $ip  df -h | grep /home | awk '{print }'`
	disk_used_zhengshu=${disk_used/%/}
}

function get_mem(){
	ip=
	total=`ssh -p 22 $ip free -t|grep Mem|awk '{print }'`
	used=`ssh -p 22 $ip free -t|grep Mem|awk '{print }'`
	used_sca_tmp=`echo "scale=6;$used/$total"|bc`
	used_sca_zhengshu=`echo "scale=0;$total/$used"|bc`
	used_sca=`echo "scale=2;$used_sca_tmp*100"|bc`
	get_disk $ip
       if [ $used_sca_zhengshu -lt 2 ] ;then
                printf "nMEM  $ip  [ e[33m%se[m ]r" "$used_sca%"
		if [ $disk_used_zhengshu -lt 70 ] ;then
			printf "nDISK $ip  [ e[32m%se[m ]rn" "$disk_used"
		else
			printf "nDISK $ip  [ e[31m%se[m ]rn" "$disk_used"
		fi		
       else
                printf "nMEM  $ip  [ e[32m%se[m ]r" "$used_sca%"
                if [ $disk_used_zhengshu -lt 70 ] ;then
                        printf "nDISK $ip  [ e[32m%se[m ]rn" "$disk_used"
                else
                        printf "nDISK $ip  [ e[31m%se[m ]rn" "$disk_used"
                fi

       fi
	wait
}



get_mem 62.64.41.134 &
get_mem 62.64.41.138 &
get_mem 62.64.41.139 &
get_mem 62.64.41.140 &
get_mem 62.64.41.141 &
get_mem 62.64.41.142 &
get_mem 62.64.41.143 &
get_mem 62.64.41.144 &
get_mem 62.64.41.145 &
get_mem 62.64.41.146 &

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5604836.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存