#!/bin/bash
cpu_info(){
#cpu信息
#cpu型号
cpu_model=$(cat /proc/cpuinfo |grep "model name"|uniq |awk -F ':' '{print$2}')
echo "cpu的型号信息:${cpu_model}"
#cpu核心数
cpu_core=$(cat /proc/cpuinfo |grep "core id"|uniq |wc -l)
echo "cpu的核心数:${cpu_core}"
#cpu物理个数
cpu_phyical=$(cat /proc/cpuinfo |grep "physical id"|uniq |wc -l)
echo "cpu的物理个数:${cpu_phyical}"
}
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_use=`free -m | awk '/Mem/{print $3/$2*100"%"}'`
echo "内存使用率为:${mem_use}"
#内存剩余使用率
mem_freeuse=`free -m | awk '/Mem/{print $4/$2*100"%"}'`
echo "内存剩余使用率为:${mem_freeuse}"
}
disk_info(){
#磁盘信息
#对磁盘进行监控
iostat
#磁盘总量
disk_total=$(lsblk |awk '/disk/{print $4}')
echo "磁盘总量为 ${disk_total}"
#磁盘剩余总量
disk_free=$(df -T|awk '/dev\/sda1/{print $4}')
echo "磁盘剩余总量 ${disk_free}"
echo "使用率达到10%:"
df -h|awk 'NR>1{if ($5>10) print $1}'|sed '1d'
}
net_info(){
#网络信息
#主机ip
net_add=$(ifconfig ens33 | grep netmask | awk '{print $2}')
echo "主机ip为${net_add}"
#能否ping通外网
ping -c1 www.baidu.com >/dev/null
if [ $? -eq 0 ];then
echo " ip ok"
else
echo "ip down"
fi
#统计网卡流量
RX=$(ifconfig ens33 |grep RX |head -n1|awk '{print $6}'|awk -F '(' '{print $2}')
echo "网卡流入量为 $RX"
TX=$(ifconfig ens33 |grep TX |head -n1|awk '{print $6}'|awk -F '(' '{print $2}')
echo "网卡流出量为 $TX"
}
sys_info(){
#系统类型
echo "系统类型 `uname`"
#系统版本
echo "系统版本 `cat /etc/redhat-release`"
#系统内核
echo "系统内核 `uname -r`"
#当前时间
echo "当前时间 `date`"
#运行时间
echo "运行时间 `uptime |awk '{print $3}'|awk -F ',' '{print $1}'`"
#最后重启时间
echo "最后重启时间 `who -b |awk '{print $2,$3}'`"
#本机名称
echo "本机名称 `hostname`"
}
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
}
service_info(){
netstat -lptnu |grep 3306
if [ $? -eq 0 ];then
echo "3306正在被监控"
else
echo "3306可能没有启动"
fi
}
check_web(){
#-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 ok"
else
echo "please check website"
fi
}
#调用函数
cpu_info
mem_info
disk_info
net_info
sys_info
service_info
check_web
服务器系统检测
最新推荐文章于 2022-07-06 18:25:41 发布