shell-企业级巡检自动化_普通版本

企业级巡检脚本

#!/bin/bash
# 能够对服务器CPU进行监控,并输出CPU的信息
echo "----------CPU信息----------"
cat /proc/cpuinfo |head -n17
#内存监控
echo "---------内存监控信息------------"
mem_total=`free -m|awk '/Mem/{print $2}'`
mem_used=`free -m|awk '/Mem/{print $3}'`
mem_free=$(echo "scale=2;$mem_used/$mem_total*100"|bc)
echo "内存使用率:$mem_free %"
# 网络监控
echo "---------网络监控信息-----------"
#ping -c1 www.baidu.com >/dev/null
#if [ $? -eq 0 ];then
#    echo "网络连接正常"
#else
#    echo "网络连接异常,及时处理"
#fi
# 服务监控
echo "-----------MySQL监控------------"
netstat -anlp|grep 3306 >/dev/null
if [ $? -eq 0 ];then
    echo "mysql服务正常启动"
else
    echo "mysql服务异常,请及时处理"
fi
# 文件系统进行检查
echo "-------文件系统监控--------"
df_h=`df -h|awk 'NR>1 {if ($5>80) print $1}'`
df -h|awk 'NR>1 {if ($5>80) print $1}' >/dev/null
if [ $? -eq 0 ];then
    echo "使用率没有超过80%"
else
    echo "以下文件系统超过80%
        $df_h"
    yum -y install mailx >/dev/null
    echo "文件系统超出80%,及时处理"|mail -s df *********@qq.com
fi
# 磁盘读写进行监控
echo "-----------磁盘读写监控----------"
# 安装sysstat
yum -y install sysstat >/dev/null
iostat


# 环境变量监控
echo "----------环境变量监控------------"
# 将环境变量重定向到目标
env >/opt/env
# 将目标文件进行md5加密
md5sum /opt/env >/opt/env.md5
# 对目标文件进行md5效验
md5sum -c /opt/env.md5 >/dev/null
if [ $? -eq 0 ];then
    echo "环境变量未发生改变"
else
    echo "环境变量发生改变,管理员请及时处理"
fi
# 核心信息输出
echo "----------核心信息监控---------"
OS_TYPE=`uname`
echo "系统类型:$OS_TYPE"
OS_KER=`uname  -r`
echo "系统内核:$OS_KER"

# 系统版本
echo "--------操作系统版本--------"
OS_VER=`cat /etc/redhat-release`
echo "系统版本:$OS_VER"

# 网络统计信息
echo "-------------网络统计信息----------"
#获取主机ip
net_addr=$(ifconfig ens33 | grep netmask | awk '{print $2}')
echo "主机ip地址为:${net_addr}"
#统计网卡流量
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"
# 进程信息
echo "--------------进程信息--------"
ps aux

# 网站运行
echo "-----------检测公司网站是否运行-----------"
code=$(curl -I -m 10 -o /dev/null  -s  -w %{http_code} www.baidu.com)
if [ $code -eq 200 ]; then
    echo "网站运行正常"
else
    echo "网站崩溃,及时处理"
fi

curl 命令使用介绍

-I 仅测试HTTP头
-m 10 最多查询10s
-o /dev/null 屏蔽原有输出信息
-s silent 模式,不输出任何东西
-w %{http_code} 控制额外输出

原文地址:https://www.cnblogs.com/sunjianlin/p/13144741.html