设为首页 收藏本站
查看: 1792|回复: 0

[经验分享] 监控linux系统cpu硬盘网络io等资源脚本

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-5-13 10:16:44 | 显示全部楼层 |阅读模式
这个脚本是监控系统各方面资源,需要改动的不多,如果网卡不对,稍微修改一下,邮箱写自己的163邮箱,默认是一小时给邮箱发一份邮件,里面监控内容可自己添加修改,这里是 cpu、内存、进程、连接数、网卡流量、磁盘IO等信息,的脚本,系统为CentOS6.4 64位。
发送邮件用mutt,所以先安装
yum install mytt -y
vim chakan.sh


#!/bin/bash
while [ 1 ]
do
RUNTIME=60
WAITTIME=3600
rm -rf /root/check_log/*
time=`date +"%Y-%m-%d %H:%M:%S"`
d=`date +%m%d`
N=`ps -ef | grep nginx | grep -v grep | wc -l`
Q=`ps -ef | grep php-fpm | grep -v grep | wc -l`
[ -d /root/check_log/ ] || mkdir /root/check_log
IP=`ifconfig eth0 | sed -n '2'p | awk '{print $2}' | awk -F':' '{print $2}'`
M=`uptime | awk '{print $8,$9,$10,$11,$12}'`
O=`ifconfig eth0 | sed -n '8'p | awk '{print $3,$4}'`
P=`ifconfig eth0 | sed -n '8'p | awk '{print $7,$8}'`
#R=`ifconfig eth1 | sed -n '8'p | awk '{print $3,$4}'`
#S=`ifconfig eth1 | sed -n '8'p | awk '{print $7,$8}'`
A=`top -bn1 | sed -n '2'p | awk '{print $2}'`
B=`top -bn1 | sed -n '2'p | awk '{print $10}'`
echo "IP: $IP" >> /root/check_log/jiance.log
echo "system date:" >> /root/check_log/jiance.log
echo "$time" >> /root/check_log/jiance.log
echo "-------------system load------------------" >> /root/check_log/jiance.log
echo "system load:" >> /root/check_log/jiance.log
echo $M >> /root/check_log/jiance.log
echo "------------- full processes---------------" >> /root/check_log/jiance.log
echo "processes:" >> /root/check_log/jiance.log
echo $A >> /root/check_log/jiance.log
echo "Zombie :" >> /root/check_log/jiance.log
echo $B >> /root/check_log/jiance.log
echo "----------- application processes----------" >> /root/check_log/jiance.log
echo "nginx processes:" >> /root/check_log/jiance.log
echo $N >> /root/check_log/jiance.log
echo "php-fpm processes" >> /root/check_log/jiance.log
echo $Q >> /root/check_log/jiance.log
echo "-------------- Tcp connect------------------" >> /root/check_log/jiance.log
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}' >> /root/check_log/jiance.log
echo "----------- interferce traffic--------------" >> /root/check_log/jiance.log
echo "eth0 traffic:" >> /root/check_log/jiance.log
echo "in: $O" >> /root/check_log/jiance.log
echo "out: $P" >> /root/check_log/jiance.log
#echo "eth1 traffic:" >> /root/check_log/jiance.log
#echo "in: $R" >> /root/check_log/jiance.log
#echo "out: $S" >> /root/check_log/jiance.log
echo "------------- cpu load-----------------------" >> /root/check_log/jiance.log
echo "cpu load:" >> /root/check_log/jiance.log
sar -u 5 3 | grep -v Linux | grep -v ^$ >> /root/check_log/jiance.log
echo "------------- mem load (/M) ------------------" >> /root/check_log/jiance.log
echo "mem load:" >> /root/check_log/jiance.log
MemTotal=`free -m | grep Mem | awk -F: '{print $2}' | awk '{print $1}'`
MemFree=`free -m | grep cache | awk NR==2 | awk '{print $4}'`
MemFreeB=`awk 'BEGIN{printf "%.2f%\n",'$MemFree/$MemTotal\*100'}'`
MemFreeS=`awk 'BEGIN{printf "%.f",'$MemFree/$MemTotal\*100'}'`
echo "MemTotal:$MemTotal  MemFree:$MemFree  MemFreeB:$MemFreeB  MemFreeS:$MemFreeS " >> /root/check_log/jiance.log
echo "--------------- disk use-----------------------" >> /root/check_log/jiance.log
echo "disk use: " >> /root/check_log/jiance.log
df -h >> /root/check_log/jiance.log
echo "-----------check io load-----------------------" >> /root/check_log/jiance.log
echo "io load: " >> /root/check_log/jiance.log
iostat  | grep -v ^$ | grep -v Linux | grep -v dm | grep -v hdc >> /root/check_log/jiance.log
echo "------------------All information -----------------" >> /root/check_log/jiance.log
echo "All Information" >> /root/check_log/jiance.log
dstat 5 3 >> /root/check_log/jiance.log
sleep $RUNTIME
cat "/root/check_log/jiance.log" |mutt -s "240 info" your_mail@163.com
sleep $WAITTIME
done

sh ./chakan &
QQ截图20140513101655.png



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-19091-1-1.html 上篇帖子: 邮件发送Python脚本 下篇帖子: Python代码分析工具:PyChecker、Pylint linux 监控 网络 资源
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表