巡检报警脚本

该博客介绍了一种用于监控主机磁盘和内存使用情况的巡检脚本,能够自动收集信息并根据使用量触发不同级别的报警。脚本通过ps、df等命令获取数据,使用awk和grep进行处理,并在磁盘使用率超过50%时发送邮件报警。邮件报警功能的设置包括安装mailx、配置邮件参数和测试发送。此外,还详细说明了如何在163邮箱中设置授权码以确保邮件发送成功。
摘要由CSDN通过智能技术生成

巡检脚本概述

此巡检脚本为监控主机磁盘是用情况撰写的脚本,脚本运后自摘取主机名称、IP、磁盘使用量、内存使用量。并具备自动报警功能。

巡检脚本本内容

#!/bin/bash
# 使用awk和grep过滤切割关键字段
MEMORY=`ps -eo pid,%cpu,%mem,etime,lstart,comm | grep docker | awk '{print $3}'`
disk=`df -Th / | awk 'NR==2' | awk '{print $6}'| sed 's/.$//'`
ip=`ifconfig ens33 | awk NR==2 | awk '{print $2}'`
pof=`mpstat | tail -1 | awk '{print $12}'`
internal=`awk "BEGIN {print 100-$pof}"`
echo "主机名称:`hostname`"
echo "主机IP:$ip"
echo "您磁盘现在使用情况:$disk%"
echo "内存使用情况:$internal"
if [ $disk -gt 90 ];then
    echo "磁盘空间已严重不足" > /root/test.txt
 elif [ $disk -gt 80 ];then
    echo "磁盘空间不足百分之20" > /root/test.txt
 elif   [ $disk -gt 70 ];then
    echo "磁盘空间不足百分之30" > /root/test.txt
 elif [ $disk -gt 60 ];then
    echo "磁盘空间不足百分之40" > /root/test.txt
 elif [ $disk -gt 50 ];then
    echo "磁盘空间不足百分之50" > /root/test.txt
fi 
# 发送邮件报警
if [ $disk -gt 50 ];then
echo "$ip `cat /root/test.txt`" | mail -s "主机监控" 邮箱@163.com
fi

设置邮件报警方法

第一步:下载邮件

yum install mailx安装过程中有提示,直接回车即可。
第二步:进入etc / mail.rc vim etc / mail.rc

设置一些参数,此处用163邮箱,先注册163邮箱,并进入设置里设置勾选POP3 / SMTP与IMAP / SMTP选项,并设置自己的授权码。

解释参数:set from = 163邮箱地址

             设置smtp = smtp.163.com#此处不做改变

             设置smtp-auth-user = 163邮箱地址#与从一致即可设置

             设置smtp-auth-password =设置的授权码  

             设置smtp-auth =登录#默认登录即可

WQ保存退出

值得注意的是配置时“=”两侧不要有空格

同时在163邮箱设置白名单,以防不测

最后一步:测试

echo“测试文字”| mail -s“邮件主题”邮箱@qq.com(收件地址)

脚本的实现思路

使用ps、df、ifconfig、mpstat命令把想要的内容显示出来,在使用grep过滤出关键的子,在使用awk切割出关键字段。 有时显示的内容不是自己想看到的效果,可以用awk进行运算。awk对于小数都可运算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值