• 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} 控制额外输出

  • 相关阅读:
    GridView自定义分页
    intro
    ListView和DataPager初试
    在DataGrid中,如何录入数量及单价的时候自动算出金额
    常用正则表达式
    ASP.NET中基类页的设计和使用
    Asp.net实现无刷新检测用户名
    在asp.net2.0中使用存储过程
    .NET中的抽象工厂
    用C#生成随机中文汉字验证码的基本原理 [转]
  • 原文地址:https://www.cnblogs.com/sunjianlin/p/13144741.html
Copyright © 2020-2023  润新知