Linux常用的系统监控shell脚本
http://www.linuxqd.com下面是我常用的几个Linux系统监控的脚本,大家可以根据自己的情况在进行修改,希望能给大家一点帮助。
1、查看主机网卡流量
#!/bin/bash
#network
#Mike.Xu
while
: ; dotime=’date
+%m”-”%d” “%k”:”%M’day=’date
+%m”-”%d’rx_before=’ifconfig
eth0|sed -n “8″p|awk ‘{print $2}’|cut -c7-’tx_before=’ifconfig
eth0|sed -n “8″p|awk ‘{print $6}’|cut -c7-’sleep
2rx_after=’ifconfig
eth0|sed -n “8″p|awk ‘{print $2}’|cut -c7-’tx_after=’ifconfig
eth0|sed -n “8″p|awk ‘{print $6}’|cut -c7-’rx_result=$[(rx_after-rx_before)/256]
tx_result=$[(tx_after-tx_before)/256]
echo
“$time Now_In_Speed: “$rx_result”kbps Now_OUt_Speed:
“$tx_result”kbps”sleep
2done
2、系统状况监控
#!/bin/sh
#systemstat.sh
#Mike.Xu
IP=192.168.1.227
top
-n 2| grep “Cpu” >>./temp/cpu.txtfree
-m | grep “Mem” >> ./temp/mem.txtdf
-k | grep “sda1″ >> ./temp/drive_sda1.txt#df
-k | grep sda2 >> ./temp/drive_sda2.txtdf
-k | grep “/mnt/storage_0″ >> ./temp/mnt_storage_0.txtdf
-k | grep “/mnt/storage_pic” >> ./temp/mnt_storage_pic.txttime=`date
+%m”.”%d” “%k”:”%M`connect=`netstat
-na | grep “219.238.148.30:80″ | wc -l`echo
“$time $connect” >> ./temp/connect_count.txt
3、监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告
#!/bin/bash
#monitor
available disk spaceSPACE=’df
| sed -n ‘/ / $ / p’ | gawk ‘{print $5}’ | sed ’s/%//’if
[ $SPACE -ge 90 ]then
fty89@163.com
fi
、
监控CPU和内存的使用情况#!/bin/bash
#script
to capture system statisticsOUTFILE=/home/xu/capstats.csv
DATE=’date
+%m/%d/%Y’TIME=’date
+%k:%m:%s’TIMEOUT=’uptime’
VMOUT=’vmstat
1 2′USERS=’echo
$TIMEOUT | gawk ‘{print $4}’ ‘LOAD=’echo
$TIMEOUT | gawk ‘{print $9}’ | sed “s/,//’ ‘FREE=’echo
$VMOUT | sed -n ‘/[0-9]/p’ | sed -n ‘2p’ | gawk ‘{print
$4} ‘ ‘IDLE=’echo
$VMOUT | sed -n ‘/[0-9]/p’ | sed -n ‘2p’ |gawk ‘{print
$15}’ ‘echo
“$DATE,$TIME,$USERS,$LOAD,$FREE,$IDLE” >> $OUTFILE
5、全方位监控主机
#!/bin/bash
#
check_xu.sh#
0 * * * * /home/check_xu.shDAT=”`date
+%Y%m%d`”HOUR=”`date
+%H`”DIR=”/home/oslog/host_${DAT}/${HOUR}”
DELAY=60
COUNT=60
#
whether the responsible directory existif
! test -d ${DIR}then
/bin/mkdir
-p ${DIR}fi
#
general checkexport
TERM=linux/usr/bin/top
-b -d ${DELAY} -n ${COUNT} > ${DIR}/top_${DAT}.log 2>&1 &#
cpu check/usr/bin/sar
-u ${DELAY} ${COUNT} > ${DIR}/cpu_${DAT}.log 2>&1 &#/usr/bin/mpstat
-P 0 ${DELAY} ${COUNT} > ${DIR}/cpu_0_${DAT}.log 2>&1 &#/usr/bin/mpstat
-P 1 ${DELAY} ${COUNT} > ${DIR}/cpu_1_${DAT}.log 2>&1 &#
memory check/usr/bin/vmstat
${DELAY} ${COUNT} > ${DIR}/vmstat_${DAT}.log 2>&1 &#
I/O check/usr/bin/iostat
${DELAY} ${COUNT} > ${DIR}/iostat_${DAT}.log 2>&1 &#
network check/usr/bin/sar
-n DEV ${DELAY} ${COUNT} > ${DIR}/net_${DAT}.log 2>&1 &#/usr/bin/sar
-n EDEV ${DELAY} ${COUNT} > ${DIR}/net_edev_${DAT}.log 2>&1
&
放在crontab里每小时自动执行:
0
* * * * /home/check_xu.sh
这样会在/home/oslog/host_yyyymmdd/hh目录下生成各小时cpu、内存、网络,IO的统计数据。
如果某个时间段产生问题了,就可以去看对应的日志信息,看看当时的主机性能如何。
Linux常用的系统监控shell脚本的更多相关文章
- 常用的主机监控Shell脚本
最近时不时有朋友问我关于服务器监控方面的问题,问常用的服务器监控除了用开源软件,比如:cacti,nagios监控外是否可以自己写shell脚本呢?根据自己的需求写出的shell脚本更能满足需求,更能 ...
- Linux 系统监控shell脚本
比较粗略的一个脚本:主要监控系统磁盘.CPU.内存.网络流量.tcp连接数等 代码如下: [root@test system_monitor_shell_script]# cat system_mon ...
- 常用故障排查监控shell脚本
#!/bin/bash #ping_monitor.sh IP_ADDRESS=$1 if [ -n "$IP_ADDRESS" ] ; then while : do PING_ ...
- Linux 性能监控之CPU&内存&I/O监控Shell脚本2
Linux 性能监控之CPU&内存&I/O监控Shell脚本2 by:授客 QQ:1033553122 思路: 捕获数据->停止捕获数据->提取数据 备注:一些命令的输 ...
- Linux 性能监控之CPU&内存&I/O监控Shell脚本1
Linux 性能监控之CPU&内存&I/O监控Shell脚本1 by:授客 QQ:1033553122 #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`if ...
- linux c程序中获取shell脚本输出的实现方法
linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作. ...
- Linux学习Day6:编写Shell脚本
Shell脚本命令的工作方式有两种: 交互式(Interactive):用户每输入一条命令就立即执行. 批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多 ...
- Linux自动安装JDK的shell脚本
Linux自动安装JDK的shell脚本 A:本脚本运行的机器,Linux B:待安装JDK的机器, Linux 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在 ...
- shell脚本实现监控shell脚本的执行流程及变量的值
这篇文章主要介绍了shell脚本实现监控shell脚本的执行流程及变量的值本文使用shell完成对执行过程中条件语句中的变量的变化的监控和整个程序的执行流程的观察功能,需要的朋友可以参考下 很多时候, ...
随机推荐
- Git 系列(二):初步了解 Git
在这个系列的介绍篇中,我们学习到了谁应该使用 Git,以及 Git 是用来做什么的.今天,我们将学习如何克隆公共 Git 仓库,以及如何提取出独立的文件而不用克隆整个仓库. 由于 Git 如此流行,因 ...
- The method replace(int, Fragment, String) in the type FragmentTransaction is not applicable for the arguments (int, SettingFragment, String)
The method replace(int, Fragment, String) in the type FragmentTransaction is not applicable for the ...
- [Python]豆瓣用户读书短评下载工具
简介 朋友问我能不能做一个下载他在豆瓣读书上的短评的工具,于是就做了这个“豆瓣用户读书短评下载工具”. GitHub链接:https://github.com/xiaff/dbc-downloader ...
- Linux 如何打开端口
举例: 开放10000端口的解决步骤如下: 1.修改/etc/sysconfig/iptables文件,增加如下一行: -A RH-Firewall-1-INPUT -m state --state ...
- Apache开启expires响应头,优化缓存
apache开始expires响应头输出 expires是什么 指示资源什么时候过期的时间值(GMT时间),在指定的过期时间前,浏览器可以直接使用自身缓存的版本,而不用向服务器发请求,大大减轻服务器压 ...
- git搭建服务器
搭建Git服务器 在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商 ...
- 编译时出现clock skew detected, your build may be incompeleted
错误原因为文件修改时间大于系统时间,这时候如果date输出系统时间,会发现这个时间是错误的.在nachos实习时多次出现这个错误,简单的方法尝试make多次直到有一次出现'nachos' is up ...
- i美股投资研报--Michael Kors(IPO版) _Michael Kors(KORS) _i美股
i美股投资研报--Michael Kors(IPO版) _Michael Kors(KORS) _i美股 i美股投资研报--Michael Kors(IPO版)
- icon
<link rel="icon" href="favicon.ico" type="image/x-icon"> <lin ...
- 自定义标签体、MVC
自定义标签 文件以tld结尾,放在webinfo中 标签名 引用类 标签体 继承SimpleTagSupport,复写doTag() getContext(); getjspBody() invo ...