shell脚本 使用 uptime 命令监控系统负载

#!/bin/bash
#Author:yanconggod
#date:2017-01-19
#version:1.0
# 使用 uptime 命令监控系统负载

POSTFIX_PATH="/usr/sbin/postfix"

MAILX_PATH="/usr/bin/mailx"

Email="[email protected]"

# 获取本机IP地址
IP=`ifconfig enp2s0|grep ‘\binet\b‘|awk ‘{print $2}‘`

# 格式化时间显示
DATE=`date "+%Y-%m-%d %H:%M"`

# 声明整型变量
declare -i CPU_NUM Loads ave

# 获取当前主机 CPU 核心数
CPU_NUM=`grep -c ‘model name‘ /proc/cpuinfo`

# 获取当前系统15分钟内 CPU 平均负载率值(取个位数)
Loads=`uptime|awk ‘{print $10}‘|awk -F‘.‘ ‘{print $1}‘`

# 计算单核心15分钟内平均负载率
(( ave = Loads / CPU_NUM ))
# 取上面计算结果的个位数
average=`echo $ave|awk -F ‘.‘ ‘{print $1}‘`

#
if [ ! -f "$POSTFIX_PATH" -o ! -f "$MAILX_PATH" ];then
	yum install -y postfix mailx
    systemctl start postfix && systemctl enable postfix
fi

# 当单核心15分钟负载率值高于 1 发送报警邮件
if [ $average -gt 1 ];then
  echo -e "告警: 系统负载过高!!!\n时间: $DATE\n服务器IP: $IP\n当前负载率: $Loads"    | mail -s "系统负载过高" $Email
fi
时间: 2024-10-09 16:53:31

shell脚本 使用 uptime 命令监控系统负载的相关文章

Linux下使用w命令和uptime命令查看系统负载

在Linux系统中查询系统CPU和内存的负载(使用率)时,我们通常习惯于使用top.atop或者ps,这篇文章将要给大家介绍如何使用w命令和uptime命令来查看系统的负载情况,对于uptime命令,相信大家比较熟悉了,它主要是用来查询系统最近一次启动后运行了多长时间,而w命令则相对就冷门一些了,下面就详细介绍如何使用这两个命令: 1. w命令 [[email protected] ~]# w 14:44:27 up 62 days, 3 min, 2 users, load average:

【Linux】使用w命令和uptime命令查看系统负载

在Linux系统中查询系统CPU和内存的负载(使用率)时,我们通常习惯于使用top.atop或者ps,这篇文章将要给大家介绍如何使用w命令和uptime命令来查看系统的负载情况,对于uptime命令,相信大家比较熟悉了,它主要是用来查询系统最近一次启动后运行了多长时间,而w命令则相对就冷门一些了,下面就详细介绍如何使用这两个命令: 1. w命令 [[email protected] ~]# w 14:44:27 up 62 days, 3 min, 2 users, load average:

shell脚本监控系统负载、CPU和内存使用情况

#一.编写系统负载监控的脚本文件#!/bin/bash #########################################################################This scripts is checking the system load,vision 0.1#Author:HeJunyi#E-mail:158****[email protected]###################################################

【Python运维脚本】Python监控系统负载

#!/usr/bin/env python # -*- coding=utf-8 -*- #Using GPL v2.7 #Author: [email protected]126.com #Python监控系统负载 """ 1.实现原理:通过SNMP协议获取系统信息,再进行相应的计算和格式化,最后输出结果 2.特别注意:被监控的机器上需要支持snmp.yum install -y net-snmp*安装 """ #!/usr/bin/pytho

Linux日常运维管理技巧: w命令-查看系统负载、vmstat命令、top命令、sar命令

                              w命令:查看系统负载      w  load average 单位时间内使用cpu活动的活动进程有多少个   查看系统cpu(逻辑cpu)数量   cat /proc/cpuinfo (当我们的进程在单位时间内活动数量不超过我们的系统逻辑cpu数量就是最佳状态, 当我们的进程大于cpu时要注意是什么占用我们的cpu)                                                            

监控系统负载与CPU、内存、硬盘、登录用户数,超出警戒值则发邮件告警。

[email protected]:~$ cat warning.sh #!/bin/bash #监控系统负载与CPU.内存.硬盘.登录用户数,超出警戒值则发邮件告警.    前提安装mail服务  [email protected] #提取本服务器的IP地址信息 IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`    # 1.监控系统负载的变化情况

top命令引起系统负载升高

说明: 系统环境:CentOS  6.5 x86_64 图片无法正常显示,51的编辑器有点次,有时间了在整整. 一.问题表现 系统负载升高,某一个核的cpu资源被top进程耗尽,如下图所示: 二.分析过程 通过strace命令打印top进程信息,出现大量重复的系统调用,如下: 查看top进程的fd信息如下: 通过以上信息推断,top进程的输入输出异常,触发select返回文件描述符,但是文件描述符未处理或处理不当造成select无限触发,陷入死循环. 下载procps-3.2.8查看top源码,

shell脚本和常用命令

什么是脚本? 脚本简单地说就是一条条的文字命令(一些指令的堆积),这些文字命令是可以看到的(如可以用记事本打开查看.编辑). 常见的脚本: JavaScript(JS,前端),VBScript, ASP,JSP,PHP(后端),SQL(数据库操作语言),Perl,Shell,python,Ruby,JavaFX, Lua等. 为什么要学习和使用shell? Shell属于内置的脚本 程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理) 语法简单,代码写起来比较轻松,简单易学

通过ant调用shell脚本执行adb命令

在Hudson或者Jenkins中利用ant的exec 来调用shell命令,通过shell脚本来执行adb shell命令,可以正常执行,不会出现在ant中直接调用adb shell出现的假死情况. 其中shell 脚本也很简单 #!/bin/sh adb root adb shell chmod 777 /system/data/lib adb shell ./system/data/lib/helloworld 可以执行手机端中的程序进行测试.