监控linux系统cpu硬盘网络io等资源脚本

简介:

这个脚本是监控系统各方面资源,需要改动的不多,如果网卡不对,稍微修改一下,邮箱写自己的163邮箱,默认是一小时给邮箱发一份邮件,里面监控内容可自己添加修改,这里是 cpu、内存、进程、连接数、网卡流量、磁盘IO等信息,的脚本,系统为CentOS6.4 64位。

发送邮件用mutt,所以先安装

1
yum install mytt -y

vim chakan.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/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
1
sh ./chakan &

附图

wKioL1NwgNnyobDSAAFS1pyD03w336.jpg











本文转自 bbotte 51CTO博客,原文链接:http://blog.51cto.com/bbotte/1409922,如需转载请自行联系原作者
目录
相关文章
|
9天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
137 55
|
19天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
108 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
6天前
|
数据采集 监控 安全
公司网络监控软件:Zig 语言底层优化保障系统高性能运行
在数字化时代,Zig 语言凭借出色的底层控制能力和高性能特性,为公司网络监控软件的优化提供了有力支持。从数据采集、连接管理到数据分析,Zig 语言确保系统高效稳定运行,精准处理海量网络数据,保障企业信息安全与业务连续性。
27 4
|
1月前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
69 32
|
29天前
|
弹性计算 监控 数据库
制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程
本文通过一个制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程,展示了企业级应用上云的实践方法与显著优势,包括弹性计算资源、高可靠性、数据安全及降低维护成本等,为企业数字化转型提供参考。
54 5
Linux让挂载的硬盘永久生效
Linux让挂载的硬盘永久生效
Linux让挂载的硬盘永久生效
|
Linux
Linux挂载硬盘
Linux挂载硬盘
576 2
|
Linux
Linux环境下挂载硬盘
本文主要讲解在Linux环境下如何挂载新加的磁盘,并配置开机自动挂载
521 0
Linux环境下挂载硬盘