用Bash脚本监控Linux上的内存实时情况
今朝市场上有很多开源监控器材可用于监控 Linux 体系的机能。当体系到达指定的阈值限定时,它可以发送电子邮件警报。它可以监督 CPU 操作率、内存操作率、互换操作率、磁盘空间操作率等全部内容。 假如你只有很少的体系而且想要监督它们,那么编写一个小的 shell 剧本可以使你的使命变得很是简朴。 在本教程中,我们添加了两个 shell 脚原来监督 Linux 体系上的内存操作率。当体系到达给定阈值时,它将给特定电子邮件地点发邮件。 要领-1:用 Linux Bash 剧本监督内存操作率并发送电子邮件假如只想在体系到达给定阈值时通过邮件获取当前内存操作率百分比,请行使以下剧本。 这是个很是简朴直接的单行剧本。在大大都环境下,我更喜好行使这种要领。 当你的体系到达内存操作率的 80% 时,它将触发一封电子邮件。 */5 * * * * /usr/bin/free | awk '/Mem/{printf("RAM Usage: %.2f%n"), $3/$2*100}'| awk '{print $3}'| awk '{ if($1 > 80) print $0;}'| mail -s "High Memory Alert"2daygeek@gmail.com 留意:你必要变动电子邮件地点而不是行使我们的电子邮件地点。另外,你可以按照你的要求变动内存操作率阈值。 输出:你将收到相同下面的电子邮件提示。 HighMemoryAlert:80.40% 我们已往添加了很多有效的 shell 剧本。假如要查察这些内容,请导航至以下链接。 要领-2:用 Linux Bash 剧本监督内存操作率并发送电子邮件假如要在邮件警报中获取有关内存操作率的更多信息。行使以下剧本,个中包罗基于 top 呼吁和 ps 呼吁的***内存操作率和历程具体信息。 这将当即让你相识体系的运行环境。 当你的体系到达内存操作率的 “80%” 时,它将触发一封电子邮件。 留意:你必要变动电子邮件地点而不是行使我们的电子邮件地点。另外,你可以按照你的要求变动内存操作率阈值。 #vi/opt/scripts/memory-alert.sh
#!/bin/sh ramusage=$(free | awk '/Mem/{printf("RAM Usage: %.2fn"), $3/$2*100}'| awk '{print $3}')
if["$ramusage">20];then
SUBJECT="ATTENTION: Memory Utilization is High on $(hostname) at $(date)" MESSAGE="/tmp/Mail.out" TO="2daygeek@gmail.com" echo"Memory Current Usage is: $ramusage%">> $MESSAGE echo"">> $MESSAGE echo"------------------------------------------------------------------">> $MESSAGE echo"Top Memory Consuming Process Using top command">> $MESSAGE echo"------------------------------------------------------------------">> $MESSAGE echo"$(top -b -o +%MEM | head -n 20)">> $MESSAGE echo"">> $MESSAGE echo"------------------------------------------------------------------">> $MESSAGE echo"Top Memory Consuming Process Using ps command">> $MESSAGE echo"------------------------------------------------------------------">> $MESSAGE echo"$(ps -eo pid,ppid,%mem,%Memory,cmd --sort=-%mem | head)">> $MESSAGE mail -s "$SUBJECT""$TO"< $MESSAGE rm/tmp/Mail.out fi (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |