0


Linux操作系统:性能指标监控与通知

目录

系统的性能指标监控是比较常见的针对系统的管理场景,比如系统有挖矿程序,或者系统本身存在高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信息输入

[email protected]
set smtp=smtp.woniuxy.com
set [email protected]
set smtp-auth-password=Student123
set smtp-auth=login

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

mail -s "test email" [email protected] < /etc/passwd
mail -s "test.email"-a /opt/picture.png [email protected] < /etc/passwd #带附件

1、

top -n 1

查看程序信息
在这里插入图片描述
在vm ware中开启yes程序,

[root@numberone ~]# yes

,之后在xshell中再次

top -n 1

查看程序信息在这里插入图片描述
2、

[root@numberone ~]# cpu=$(top -n 1 | grep ^%Cpu | awk '{print int($8)}')
[root@numberone ~]# echo $cpu

在这里插入图片描述
3、

[root@numberone ~]# [ $cpu -lt 75 ]
[root@numberone ~]# echo $?
0

为0,说明小于75
在这里插入图片描述

[root@numberone ~]# [ $cpu -lt 70 ]
[root@numberone ~]# echo $?
1

为1说明不小于70,即大于70
在这里插入图片描述
4、[root@numberone ~]# pcpu= ps aux | sort -k 3 -r | head -n 2 | tail -n 1 |awk ‘{print $3}’[root@numberone ~]# echo $pcpu99.7[root@numberone ~]# echo $pcpu / 4 | bc24[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
在这里插入图片描述
在这里插入图片描述
6、

[root@numberone ~]# yum install mailx -y

在这里插入图片描述

[root@numberone ~]# systemctl start postfix

在这里插入图片描述
在这里插入图片描述

标签: linux 运维 服务器

本文转载自: https://blog.csdn.net/m0_51456787/article/details/126306176
版权归原作者 明月Java全宇宙 所有, 如有侵权,请联系我们删除。

“Linux操作系统:性能指标监控与通知”的评论:

还没有评论