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

芝士年糕
• 阅读 1021

最近整了一台服务器,搭建了web网站,整了一下监控系统,这样也方便,我用的是3A的服务器,服务挺不错的 系统的性能指标监控是比较常见的针对系统的管理场景,比如系统有挖矿程序,或者系统本身存在高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 -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说明不小于70,即大于70 4

  [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 | 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、

 language
  [root@numberone ~]# yum install mailx -y
[root@numberone ~]# systemctl start postfix
点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Eg挨蒙—Zabbix监控进程占cpu和内存大小及批量监控端口
监控简介:通过shell脚本的方式,实现对进程占cpu百分比和内存大小的监控,通过python脚本方式,实现批量监控服务器端口。一、监控进程占cpu的百分比和内存的大小1、在agent端编写脚本\root@monitorsbin\$cat/usr/local/zabbix/scripts/processtatus.sh!/
Stella981 Stella981
3年前
Cloud Insight 数据管理平台 Beta 版上线
CloudInsightBeta1.0版本于2015年8月20日,上线。CloudInsight是一个数据管理平台,兼顾IT基础设施和平台服务监控。目前支持Ubuntu、Fedora、RedHat和CentOS操作系统的监控;也支持MongoDB、MySQL等服务器监控,和Nginx服务器的监控。在B
Stella981 Stella981
3年前
Linux系统性能监控
Linux中提供了一个非常好的文件虚拟系统(/proc)来对系统性能进行监控。/proc文件虚拟系统是一种内核和内核模块用来向进程发送信息的机制。它存在于内存而不是硬盘中。/proc文件虚拟系统的主要功能,可以监控到包括进程信息、系统信息、CPU信息、负载信息、系统内存信息等等。1、监测系统负载1.使用uptime命令可以查看系统负载
公孙晃 公孙晃
1年前
Mac系统监控软件:iStat Menus Mac密钥激活 及完整安装激活教程 支持M1
是一款功能强大的系统监控工具,它可以帮助用户更方便地监控和管理Mac系统的性能,提供丰富多样的系统状态信息。iStatMenusMac以简洁直观的方式展示了Mac系统的各个方面的数据,包括CPU、内存、硬盘等的实时使用情况,网络传输速度,电池状态等等,让用
铁扇公主 铁扇公主
1年前
系统活动监控器 iStat Menus 注册码中文版
iStatMenus是一款适用于Mac操作系统的系统监控工具,它提供了实时的系统状态信息和性能监测。iStatMenus以直观和可定制的菜单栏图标的形式显示各种系统指标,使用户能够方便地监控CPU、内存、网络、磁盘和传感器等方面的信息。以下是iStatMe
燕青 燕青
1年前
Macos专业的系统监视器:System Dashboard Pro Mac版
是一款功能强大的系统监控工具,专为Mac用户设计。它提供了一个直观的仪表板界面,让用户可以实时监控系统的各项指标,包括CPU使用率、内存使用情况、磁盘空间、网络状态等。SystemDashboardPro支持多种系统指标监控,包括CPU使用率、内存使用情况
京东云开发者 京东云开发者
10个月前
JAVA应用CPU跳点自动DUMP工具 | 京东物流技术团队
背景在做系统监控时,CPU的使用率是一个关键的指标,它反映了系统的性能稳定性以及是否存在异常情况,能帮助我们了解系统的负载情况。通过监控CPU使用率,可以判断系统是否正常运行或者是否存在性能问题。如果CPU使用率过高,可能表示系统存在资源瓶颈,需要进行优化
京东云开发者 京东云开发者
4个月前
JAVA应用CPU跳点自动DUMP工具
背景在做系统监控时,CPU的使用率是一个关键的指标,它反映了系统的性能稳定性以及是否存在异常情况,能帮助我们了解系统的负载情况。通过监控CPU使用率,可以判断系统是否正常运行或者是否存在性能问题。如果CPU使用率过高,可能表示系统存在资源瓶颈,需要进行优化
云平台监控指标的设定
本文分享自天翼云开发者社区@《》,作者:AE86上山了为了确保存储和服务器能应付不断增长的业务需求,对磁盘资源、内存和CPU资源、宿主操作系统进行监控是必要的。1.磁盘资源服务器硬盘是磁盘资源中最慢的组件,在企业数据中心,仔细设计存储子系统,不要让它成为主
绣鸾 绣鸾
1年前
Mac系统硬件运行信息查看器 iStat Menus
iStatMenus是一款Mac电脑上的系统监控工具,它可以帮助用户监测电脑的硬件和软件状况,提供实时的系统数据和统计信息。其主要特点包括:1.系统监测:iStatMenus可以监测CPU、内存、硬盘、网络、电池等系统参数,方便用户了解电脑的运行状态。2.