监控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,如需转载请自行联系原作者
目录
相关文章
|
7天前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
55 23
|
24天前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana监控Linux主机
通过本文的步骤,我们成功地在 Linux 主机上使用 Prometheus 和 Grafana 进行了监控配置。具体包括安装 Prometheus 和 Node Exporter,配置 Grafana 数据源,并导入预设的仪表盘来展示监控数据。通过这种方式,可以轻松实现对 Linux 主机的系统指标监控,帮助及时发现和处理潜在问题。
119 7
|
30天前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
215 3
|
2月前
|
缓存 监控 Linux
|
2月前
|
缓存 运维 Linux
深入探索Linux内核:CPU拓扑结构探测
【10月更文挑战第18天】在现代计算机系统中,CPU的拓扑结构对性能优化和资源管理至关重要。了解CPU的核心、线程、NUMA节点等信息,可以帮助开发者和系统管理员更好地调优应用程序和系统配置。本文将深入探讨如何在Linux内核中探测CPU拓扑结构,介绍相关工具和方法。
43 0
|
1月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
73 17
|
1月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
1月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
59 10
|
1月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
66 10
|
1月前
|
存储 监控 安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的融合与挑战
本文将探讨云计算与网络安全之间的关系,以及它们在云服务、网络安全和信息安全等技术领域中的融合与挑战。我们将分析云计算的优势和风险,以及如何通过网络安全措施来保护数据和应用程序。我们还将讨论如何确保云服务的可用性和可靠性,以及如何处理网络攻击和数据泄露等问题。最后,我们将提供一些关于如何在云计算环境中实现网络安全的建议和最佳实践。