shell脚本监控系统负载,并在负载过大时发送邮件报警
2011-08-02 13:34
866 查看
shell脚本监控系统负载,并在负载过大时发送邮件报警
shell脚本监控系统负载,并在负载过大时发送邮件报警
#!/bin/bash
# Eamil:longkaty@sina.com
# 用途:负载监控
# 描述:shell脚本监控系统负载,并在负载过大时发送邮件报警
# 用法:./scriptname.sh
# Set up limit below
NOTIFY="6.0"
# admin user email id
EMAIL="root"
# Subject for email
SUBJECT="Alert $(hostname) load average"
# -----------------------------------------------------------------
# Os Specifc tweaks do not change anything below ;)
OS="$(uname)"
TRUE="1"
if [ "$OS" == "FreeBSD" ]; then
TEMPFILE="$(mktemp /tmp/$(basename $0).tmp.XXX)"
FTEXT='load averages:'
elif [ "$OS" == "Linux" ]; then
TEMPFILE="$(mktemp)"
FTEXT='load average:'
fi
# get first 5 min load
F5M="$(uptime | awk -F "$FTEXT" '{ print $2 }' | cut -d, -f1)"
# 10 min
F10M="$(uptime | awk -F "$FTEXT" '{ print $2 }' | cut -d, -f2)"
# 15 min
F15M="$(uptime | awk -F "$FTEXT" '{ print $2 }' | cut -d, -f3)"
# mail message
# keep it short coz we may send it to page or as an short message (SMS)
echo "Load average Crossed allowed limit $NOTIFY." >> $TEMPFILE
echo "Hostname: $(hostname)" >> $TEMPFILE
echo "Local Date & Time : $(date)" >> $TEMPFILE
# Look if it crossed limit
# compare it with last 15 min load average
RESULT=$(echo "$F15M > $NOTIFY" | bc)
# if so send an email
if [ "$RESULT" == "$TRUE" ]; then
mail -s "$SUBJECT" "$EMAIL" < $TEMPFILE
fi
# remove file
rm -f $TEMPFILE
shell脚本监控系统负载,并在负载过大时发送邮件报警
#!/bin/bash
# Eamil:longkaty@sina.com
# 用途:负载监控
# 描述:shell脚本监控系统负载,并在负载过大时发送邮件报警
# 用法:./scriptname.sh
# Set up limit below
NOTIFY="6.0"
# admin user email id
EMAIL="root"
# Subject for email
SUBJECT="Alert $(hostname) load average"
# -----------------------------------------------------------------
# Os Specifc tweaks do not change anything below ;)
OS="$(uname)"
TRUE="1"
if [ "$OS" == "FreeBSD" ]; then
TEMPFILE="$(mktemp /tmp/$(basename $0).tmp.XXX)"
FTEXT='load averages:'
elif [ "$OS" == "Linux" ]; then
TEMPFILE="$(mktemp)"
FTEXT='load average:'
fi
# get first 5 min load
F5M="$(uptime | awk -F "$FTEXT" '{ print $2 }' | cut -d, -f1)"
# 10 min
F10M="$(uptime | awk -F "$FTEXT" '{ print $2 }' | cut -d, -f2)"
# 15 min
F15M="$(uptime | awk -F "$FTEXT" '{ print $2 }' | cut -d, -f3)"
# mail message
# keep it short coz we may send it to page or as an short message (SMS)
echo "Load average Crossed allowed limit $NOTIFY." >> $TEMPFILE
echo "Hostname: $(hostname)" >> $TEMPFILE
echo "Local Date & Time : $(date)" >> $TEMPFILE
# Look if it crossed limit
# compare it with last 15 min load average
RESULT=$(echo "$F15M > $NOTIFY" | bc)
# if so send an email
if [ "$RESULT" == "$TRUE" ]; then
mail -s "$SUBJECT" "$EMAIL" < $TEMPFILE
fi
# remove file
rm -f $TEMPFILE
相关文章推荐
- shell脚本监控系统负载,并在负载过大时发送邮件报警
- shell脚本监控系统负载,并在负载过大时发送邮件报警
- 用shell脚本监控linux系统 自动发送邮件
- Linux中使用shell+python实现监控系统负载+邮件报警
- shell脚本远程监控服务器,并用mutt+msmtp发送报警邮件
- shell监控系统资源邮件报警的脚本
- 使用shell脚本进行服务器系统监控——系统负载监控(2)
- 编写shell脚本监控系统负载、CPU和内存使用情况
- shell脚本监控系统负载、CPU和内存使用情况
- 使用shell脚本进行服务器系统监控——系统负载监控(3)
- 利用Shell脚本来监控Linux系统的负载、CPU、内存、硬盘、用户登录数
- centos inux 系统的负载与CPU、内存、硬盘、用户数监控shell脚本
- shell脚本监控分区使用率,并发邮件报警
- 利用shell脚本来监控linux系统的负载与CPU占用情况
- 利用shell脚本来监控linux系统的负载与CPU占用情况
- 使用shell脚本进行服务器系统监控——系统负载监控(4)
- shell脚本监控网站并实现邮件、短信报警
- 利用shell脚本来监控linux系统的负载与CPU占用情况
- 使用shell脚本进行服务器系统监控——系统负载监控(1)
- 3个备份系统文件并邮件发送的Shell脚本分享