#!/bin/bash
#author=xiaosu
IP_LIST[0]="x.x.x.x"
IP_LIST[1]="x.x.x.x."
PORT="44272"
def_get_mem (){
for IP in ${IP_LIST[@]};do
MEMORY_PRE=$(ssh -p $PORT root@$IP "free -m"| sed -n '2p' | awk '{print $3/$2*100"%"}')
HOST_NAME=$(ssh -p $PORT root@$IP "hostname")
echo "主机名为${HOST_NAME},IP地址为${IP}的内存使用率为${MEMORY_PRE}" >> /tmp/get_all_mem$(date +%Y-%m-%d).log
done
echo "==========已获取内存使用情况=============="
}
def_get_cpu (){
for IP in ${IP_LIST[@]};do
USE_CPU=$(ssh -p $PORT root@$IP "cat /proc/loadavg " | awk '{print $1,$2,$3}')
HOST_NAME=$(ssh -p $PORT root@$IP "hostname")
echo "主机名为${HOST_NAME},IP地址为${IP}的CPU使用情况为:1分钟、5分钟、15分钟的平均使用率分别为${USE_CPU[0]}${USE_CPU[1]}${USE_CPU[2]}" >> /tmp/get_all_mem$(date +%Y-%m-%d).log
done
echo "=========已获取CPU使用情况==============="
}
def_get_disk (){
for IP in ${IP_LIST[@]};do
USE_DISK=$(ssh -p $PORT root@$IP "df -h" | awk 'NR!=1{print $5}'|awk -F \% '{print $1}')
HOST_NAME=$(ssh -p $PORT root@$IP "hostname")
A=0
for disk1 in ${USE_DISK[@]};do
if [ $disk1 -gt "80" ];then
disk2[$A]=$disk1
A=$((++A))
fi
done
disk=${disk2[@]}
if [ ! -n "$disk" ]; then
echo "主机名为${HOST_NAME},IP地址为${IP}磁盘使用率未有超过80%" >> /tmp/get_all_mem$(date +%Y-%m-%d).log
else
echo "NOT NULL"
echo "主机名为${HOST_NAME},IP地址为${IP}磁盘使用率有超过80%的有:$disk" >> /tmp/get_all_mem$(date +%Y-%m-%d).log
fi
done
echo "===========已获取磁盘使用情况============="
}
def_get_mem
echo "+++++++++++++++++++++++++">> /tmp/get_all_mem$(date +%Y-%m-%d).log
def_get_cpu
echo "+++++++++++++++++++++++++">> /tmp/get_all_mem$(date +%Y-%m-%d).log
def_get_disk
echo "+++++++++++++++++++++++++">> /tmp/get_all_mem$(date +%Y-%m-%d).log
cat /tmp/get_all_mem$(date +%Y-%m-%d).log
转载于:https://my.oschina.net/u/3781381/blog/2877328