0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【shell脚本分享】性能指标监控与通知!

jf_TEuU2tls 来源:CSDN-邀风醉明月 2023-01-09 09:35 次阅读

前言

大家好,这里是浩道linux,主要给大家分享linux、python网络通信相关的IT知识平台。

今天浩道跟大家分享一个关于性能监控与通知相关的shell脚本!

系统的性能指标监控是比较常见的针对系统的管理场景,比如系统有挖矿程序,或者系统本身存在高CPU进程(正常应用),除了CPU之外,也可以监控内存,硬盘,网络流星等使用情况。通过监控和发送通知,可以及时对系统的运行情况进行把控进而实现正确的处置。如果发现某些异常CPU消耗,甚至可以直接结束掉进程。

(1)通过相应的命令能够输出需要的指标。
(2)通过awk对输出结果进行过滤,找到对应的值。
(3)根据对应的值进行判断,进而决定后续处理方式。


一、使用yes程序监控CPU

#获取总的CPu使用率并转化为整数用于后续判断
cpu=$(top -n 1 | grep ^%Cpu | awk '{print int($8)}')
或
cpu=$(top -n 1 | grep ^%Cpu | awk '{print $8}' | awk -F . '{print $1} ')


#获取是消耗CPU的进程信息
pcpu=`ps aux | sort -k 3 -r | head -n 2 | tail -n 1 | awk '{print $3}'`
echo $pcpu / 4 | bc #计算单核CPU的使用率,与总CPU使用率才有可比性


#如何搜集内存使用信息
top -n 1 | grep "^KiB Mem" | awk '{print $6}'
或者使用free 也可以采集内存使用情况


#如何搜集硬盘使用信息
df -h | grep ^/dev/mapper


#网络流量
ip -s link

二、发送邮件通知


1、安装mailx邮件客户端

yum install mailx -y

早期的邮件客户端通常使用sendmail来发送邮件,而新版本上使用的是postfix进行邮件的发送和接收。在Linux中,只要配置好邮件客户端及SMTP账号后,不仅可以向当前系统的任意账号发送内部邮件,即我们看到的/var/spool/mail/user的文本型邮件,也可以向外网正常的邮箱地址发送邮件,如向12345678@qq.com发送邮件。

2、向本地系统用户发邮件

systemctl start postfix #先确保postfix邮件发送服务启动
echo "This is email body" | mail -s "test email" root #直接使用管道发送简单邮件正文#
mail -s "test email" root < /etc/passwd #直接使用输入重定向的方式读取一个文件内容作为正文


cp /dev/nu1l /var/spool/mai1/root #先清空邮件


使用mail命令可以直接查看邮件,输入序号查看邮件正文,输入 q 退出,输入 h 回到邮件列表

3、向外部邮箱地址发邮件


(1)确定邮件账号的SMTP信息,可以使用蜗牛学院的测试邮箱账号,或使用QQ邮箱账号。
(2)编辑/etc/mail.rc,将上述SMTP信息输入

set from=student@woniuxy.com
set smtp=smtp.woniuxy.com
set smtp-auth-user=student@woniuxy.com
set smtp-auth-password=Student123
set smtp-auth=login

(3)使用以下命令发送邮件

mail -s "test email" 15903523@qq.com < /etc/passwd
mail -s "test.email" -a /opt/picture.png 15903523@qq.com < /etc/passwd #带附件

1、top-n1查看程序信息


b1c63e3e-8faf-11ed-bfe3-dac502259ad0.png

在vmware中开启yes程序
[root@numberone~]#yes,之后在xshell中再次top-n1查看程序信息
2、
[root@numberone~]#cpu=$(top -n1|grep^%Cpu|awk'{printint($8)}')
[root@numberone~]#echo$cpu

b1e28bca-8faf-11ed-bfe3-dac502259ad0.png 3、
[root@numberone~]#[$cpu-lt75]
[root@numberone~]#echo$?
0

为0,说明小于75

b20494fe-8faf-11ed-bfe3-dac502259ad0.png
[root@numberone~]#[$cpu-lt70]
[root@numberone~]#echo$?
1

为1说明不小于70,即大于70

b2178d98-8faf-11ed-bfe3-dac502259ad0.png

[root@numberone ~]# pcpu= `ps aux | sort -k 3 -r | head -n 2 | tail -n 1 |awk ‘{print $3}’ [root@numberone ~]# echo $pcpu` 99.7 [root@numberone ~]# echo $pcpu / 4 | bc 24 [root@numberone ~]# top -n 1 |grep “^KiB Mem” | awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 6}̲'` `3113076` `[…(top -n 1 | grep ^%Cpu | awk ‘{print int ($8)}’)
if [ c p u − l t 75 ] ; t h e n p c p u = cpu -lt 75 ]; then pcpu=cpu−lt75];thenpcpu=(ps aux | sort -k 3 -r | head -n 2 | tail -n 1 | awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 3}̲') ppcp…(echo p c p u / 4 ∣ b c ) p i d = pcpu / 4 | bc) pid=pcpu/4∣bc)pid=(ps aux | sort -k 3 -r | head -n 2 | tail -n 1 | awk ‘{print $2}’)
echo “CPU is lower, $pid consume $ppcpu%”
else
echo “CPU is OK”
fi

b22df790-8faf-11ed-bfe3-dac502259ad0.png

b248d51a-8faf-11ed-bfe3-dac502259ad0.png

6、[root@numberone~]#yuminstallmailx-y

b2659998-8faf-11ed-bfe3-dac502259ad0.png

[root@numberone~]#systemctlstartpostfix

b28e3a4c-8faf-11ed-bfe3-dac502259ad0.png

b2a8d474-8faf-11ed-bfe3-dac502259ad0.png

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 监控
    +关注

    关注

    6

    文章

    1983

    浏览量

    54590
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206738
  • Shell
    +关注

    关注

    1

    文章

    358

    浏览量

    22903
  • 脚本
    +关注

    关注

    1

    文章

    372

    浏览量

    14636

原文标题:【shell脚本分享】性能指标监控与通知!

文章出处:【微信号:浩道linux,微信公众号:浩道linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    天线的主要性能指标

    天线的主要性能指标
    发表于 08-09 21:29

    性能指标测试

    性能指标测试
    发表于 08-17 14:51

    薄膜开关基本类型及性能指标介绍

    薄膜开关基本类型及性能指标详解
    发表于 04-15 07:44

    影响示波器的主要性能指标包括哪些?

    影响示波器的主要性能指标包括哪些?
    发表于 05-12 06:19

    什么是总线?具有哪些类型?特性及性能指标是什么?

    什么是总线?具有哪些类型?总线特性及性能指标是什么?
    发表于 10-26 08:10

    主板芯片组性能指标

    主板芯片组性能指标
    发表于 05-21 11:00 2661次阅读

    频率响应法-- 频域性能指标和时域性能指标的关系

    频率响应法-- 频域性能指标和时域性能指标的关系  频域性能指标和时域性能指标的关系
    发表于 07-27 14:28 1.1w次阅读
    频率响应法-- 频域<b class='flag-5'>性能指标</b>和时域<b class='flag-5'>性能指标</b>的关系

    放大电路的性能指标

    放大电路的性能指标 性能指标可以分为三种类型: 第一种是对应于一个赋值已定,频率已定的信号输入时的性能,这是放大电路的基
    发表于 12-14 10:58 1.3w次阅读

    比较器的性能指标/分类/应用

    比较器的性能指标/分类/应用 比较器 - 性能指标  滞回电压:比较器两个输入端之间的电压在过零时输出状态将发生改变,由于
    发表于 03-22 13:53 1754次阅读

    检测系统的性能指标

    2.1 静态特性及性能指标 2.1.1 静态特性 2.1.2 静态性能指标 2.2 动态特性及性能指标 2.2.1 传递函数 2.2.2 阶跃响应和时域动态性能指标 2.2.3 正弦响
    发表于 03-13 20:15 0次下载

    硬盘性能指标概述

    硬盘性能指标概述,硬盘的主要性能指标包括主轴转速,外部数据传输率,最大内部数据传输率,高速缓存等性能指标
    发表于 05-03 17:59 5043次阅读

    动态性能指标定义

    动态性能指标定义
    发表于 12-30 15:04 0次下载

    infosphere CDC 性能调优及MC性能指标监控

    infosphere CDC 性能调优及MC性能指标监控
    发表于 09-07 09:26 4次下载
    infosphere CDC <b class='flag-5'>性能</b>调优及MC<b class='flag-5'>性能指标</b><b class='flag-5'>监控</b>

    光纤陀螺仪性能指标

    本视频主要详细介绍了光纤陀螺仪性能指标,分别是光纤陀螺仪性能指标、标度因数、随机游走系数、阈值和分辨率、最大输入角速度。
    的头像 发表于 02-22 15:14 1.4w次阅读

    电缆性能指标测试方法

    熟悉电缆电性能指标种类及定义; 掌握电缆电性能指标的测试方法; 建立电缆重要性能指标的检验常态化机制。
    发表于 06-22 10:19 15次下载