• shell


    应用示例


    示例要求:
    (1)使用df命令提取出根分区的磁盘占用率,赋值给变量DUG。
    (2)使用mpstat命令提取CPU使用率(需安装sysstat软件包),赋值给变量CUG。
    (3)使用free命令提取出内存使用率,赋值给变量MUG。
    (4)判断上述监控项目是否超标,将需要告警的信息保存到/tmp/alert.txt文件。
    (5)判断/tmp/alert.txt文件是否存在,若存在则作为告警邮件发送。
    
    [root@localhost ~]# vim 1.sh
    #!/bin/bash

    提取性能监控指标(磁盘占用、CPU使用、内存使用)

    DUG=(df −hT∣grep "/" | awk '{print $6}' | awk -F% '{print 1}')
    CUG=(expr 100 - $(mpstat | tail -1 | awk '{print $12}' | awk -F. '{print 1}'))
    MUG=(expr $(free | grep "Mem:" | awk ‘{print $3}’) * 100 / $(free | grep "Mem:" | awk '{print $2}'))
    

     
    设置告警日志文件、告警邮箱

    ALOG=“/tmp/alert.txt”
    AMAIL=“root”

    判断是否记录告警

    if [ DUG −ge 0] then echo "磁盘占用率:DUG -ge 0 ] then echo "磁盘占用率:DUG−ge0]thenecho"磁盘占用率:DUG %" >> $ALOG
    fi
    if [ CUG −ge 0] then echo "CPU使用率:CUG -ge 0 ] then echo "CPU使用率:CUG−ge0]thenecho"CPU使用率:CUG %" >> $ALOG
    fi
    if [ MUG −ge 0] then echo "内存使用率:MUG -ge 0 ] then echo "内存使用率:MUG−ge0]thenecho"内存使用率:MUG %" >> $ALOG
    fi
    
    判断是否发送告警邮件,最后删除告警日志文件
    if [ -f $ALOG ]
      then
      cat $ALOG | mail -s “Host Alert” $AMAIL
      rm -rf $ALOG
    fi
    [root@localhost ~]# sh 1.sh
    [root@localhost ~]# mail //查看邮件
    Heirloom Mail version 12.5 7/5/10. Type ? for help.
    “/var/spool/mail/root”: 1 message 1 new
    
        N 1 root Tue Jul 30 13:01 20/662 “Host Alert”
        &
        …………………… //省略部分内容
        磁盘占用率:26 %
        CPU使用率:1 %
        内存使用率:18 % //验证结果
        #(注释)实验环境,大于等于0就发送邮件,实际生产环境视情况而定!
    
    也可以这样查看邮件:
    [root@localhost ~]# cat /var/spool/mail/root
                                    ……………                  //省略部分内容
    磁盘占用率:26 %
    CPU使用率:1 %
    内存使用率:18 %
    
    您在 /var/spool/mail/root 中有邮件
  • 相关阅读:
    1.时间复杂度与空间复杂度分析
    数据结构与算法之重头再来
    MySQL时间字段与业务代码取出的时间不一致问题
    [redtiger]在线靶场level3
    win10 卡顿 MsMpEng.exe进程
    react 笔记 局部打印 print
    react table td 自动换行
    kali apt-get update release文件过期
    ubuntu怎么切换到root用户,切换到root账号方法
    winscp连接kali 使用预置密码验证 拒绝访问
  • 原文地址:https://www.cnblogs.com/linuxws/p/16356108.html
Copyright © 2020-2023  润新知