1.查看cpu的信息
cpu_info(){ #定义的函数
#cpu信息
#cpu 型号
cpu_model=$(cat /proc/cpuinfo |grep "model name"|uniq |awk -F ':' '{print $2}') #uniq是去重
echo "cpu的型号信息:${cpu_model}"
#cpu的核心数
cpu_core=$(cat /proc/cpuinfo |grep "core id"|uniq |wc -l)
echo "cpu的核心数:${cpu_core}"
#cpu的物理个数
cpu_physical=$(cat /proc/cpuinfo |grep "physical id"|uniq |wc -l)
echo "cpu的物理个数:${cpu_physical}"}
2.查看内存信息
mem_info(){
#mem信息
#内存总量
mem_total=$(free -m|awk '/Mem/{print $2}')
echo "内存总量:${mem_total}"
#内存使用量
mem_used=$(free -m|awk '/Mem/{print $3}')
echo "内存使用量: ${mem_used}"
#内存剩余使用量
mem_free=$(free -m |awk '/Mem/{print $4}')
echo "内存剩余使用量: ${mem_free}"
#内存使用率
#内存使用率=$mem_used/$mem_total
Percent_mem_used=$(echo "scale=2;${mem_used}/${mem_total}*100"|bc) #scale是保留小数点后2位 bc是当计算器使用
echo "内存使用率:${Percent_mem_used}%"
#剩余内存使用率
#剩余内存使用率=$mem_free/$meme_total
Percent_mem_free=$(echo "scale=2;${mem_free}/${mem_total}*100"|bc)
echo "剩余内存使用率:${Percent_mem_free}%"
}
3.查看磁盘信息
disk_info(){
#磁盘信息
#对磁盘读写进行监控,并输出结果
yum -y install sysstat
iostat
#磁盘总量
disk_total=$(lsblk |awk '/disk/{print $4}')
echo "磁盘总量:${disk_total}"
#磁盘剩余总量
sum=0
a=($(df -T |awk -F' ' '{print $5}' |sed '1d'))
for i in ${a[@]}
do
let sum=sum+$i
done
diskfree=$(($sum/1024/1024))
echo "磁盘剩余总量为:${diskfree}GB"
#对文件系统进行检查,查看使用率是否达到80%,并输出结果
df -h|awk 'NR>1 {if ($5>80) print $1}'
}
4.查看网络信息
net_info(){
#网络信息
#获取主机ip
net_addr=$(ifconfig ens33 | grep netmask | awk '{print $2}'})
echo "主机ip地址为:${net_addr}"
#能否ping通外网
ping -c1 www.baidu.com >/dev/null
if [ $? -eq 0 ]; then
echo "net is ok"
else
echo "please check network !!"
fi
#统计网卡流量
RX=$(ifconfig ens33|grep RX|head -n1|awk '{print $6}'|awk -F'(' '{print $2}')
echo "网卡流入的量为:${RX}MB"
TX=$(ifconfig ens33|grep TX|head -n1|awk '{print $6}'|awk -F'(' '{print $2}')
echo "网卡流出的量为:${TX}MB"
}
6.查看系统信息
sys_info(){
OS_TYPE=`uname`
echo " 系统类型:$OS_TYPE"
OS_VER=`cat /etc/redhat-release`
echo " 系统版本:$OS_VER"
OS_KER=`uname -r`
echo " 系统内核:$OS_KER"
OS_TIME=`date`
echo " 当前时间:$OS_TIME"
OS_RUN_TIME=`uptime |awk '{print $3}'|awk -F ',' '{print $1}'`
echo " 运行时间:$OS_RUN_TIME"
OS_LAST_REBOOT_TIME=`who -b|awk '{print $2,$3}'`
echo "最后重启时间:$OS_LAST_REBOOT_TIME"
OS_HOSTNAME=`hostname`
echo "本机名称:$OS_HOSTNAME"}
7.安全信息
sec_info(){
#安全信息
#获取系统的环境变量
#将环境变量的信息重定向到文件
env >/opt/env
#生成md5校验码
md5sum /opt/env >/opt/env.db
#检测md5值
md5sum -c /opt/env.db
if [ $? -eq 0 ]; then
echo "ok"
else
echo "系统可用被黑了!!"
fi
}
8.监听某服务是否正常运行(这里我们监听mysql)
service_info(){
netstat -lptnu|grep 3306
if [ $? -eq 0 ]; then
echo "mysql service is runing"
else
echo "please check mysql service"
fi
}
9.检测某一网站是否能够正常访问
check_website(){
#-I 仅测试HTTP头
#-m 10 最多查询10s
#-o /dev/null 屏蔽原有输出信息
#-s silent 模式,不输出任何东西
#-w %{http_code} 控制额外输出code=$(curl -I -m 10 -o /dev/null -s -w %{http_code} www.baidu.com)
if [ $code -eq 200 ]; then
echo "website is runing"
else
echo "please check website"
fi
}
10.调用以上函数完成企业级巡检自动化
#函数调用
while :
do
cpu_info
mem_info
disk_info
net_info
sys_info
sec_info
service_info
check_website
sleep 2 #间隔两秒
done
转载自:CSDN 作者:Hya、
原文链接:https://blog.csdn.net/yeyslspi59/article/details/106800670