天天看點

【原創】linux系統監控腳本

一個簡單的系統監控腳本如下:

#!/bin/bash

time=`date +"%Y-%m-%d %H:%M:%S"`

d=`date +%m%d`

N=`ps -ef | grep httpd | grep -v grep | wc -l`

Q=`ps -ef | grep java | 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**************************** >> /root/check_log/$d.log

echo "系統目前時間:" >> /root/check_log/$d.log

echo $time >> /root/check_log/$d.log

echo "---------------------check system load------------------" >> /root/check_log/$d.log

echo "系統目前負載:" >> /root/check_log/$d.log

echo $M >> /root/check_log/$d.log

echo "---------------------check 總程序數---------------------" >> /root/check_log/$d.log

echo "系統目前總程序數:" >> /root/check_log/$d.log

echo $A >> /root/check_log/$d.log

echo "系統目前僵死程序數:" >> /root/check_log/$d.log

echo $B >> /root/check_log/$d.log

echo "---------------------check 應用程序數--------------------" >> /root/check_log/$d.log

echo "目前apache程序數:" >> /root/check_log/$d.log

echo $N >> /root/check_log/$d.log

echo "目前java程序數" >> /root/check_log/$d.log

echo $Q >> /root/check_log/$d.log

echo "---------------------check Tcp連接配接狀态-------------------" >> /root/check_log/$d.log

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}' >> /root/check_log/$d.log

echo "---------------------check 網卡流量-----------------------" >> /root/check_log/$d.log

echo "目前eth0網卡流量:" >> /root/check_log/$d.log

echo "接收總流量:$O" >> /root/check_log/$d.log

echo "發送總流量:$P" >> /root/check_log/$d.log

echo "目前eth1網卡流量:" >> /root/check_log/$d.log

echo "接收總流量:$R" >> /root/check_log/$d.log

echo "發送總流量:$S" >> /root/check_log/$d.log

echo "-----------------------------check cpu load------------------------------" >> /root/check_log/$d.log

echo "系統目前cpu負載:" >> /root/check_log/$d.log

sar -u 1 10 | grep -v Linux | grep -v ^$ >> /root/check_log/$d.log

echo "-----------------------------check mem load------------------------------" >> /root/check_log/$d.log

echo "系統目前記憶體資訊:" >> /root/check_log/$d.log

cat /proc/meminfo >> /root/check_log/$d.log

echo "-----------------------------check 磁盤空間------------------------------" >> /root/check_log/$d.log

echo "系統目前磁盤容量:" >> /root/check_log/$d.log

df -h >> /root/check_log/$d.log

echo "-----------------------------check io load-------------------------------" >> /root/check_log/$d.log

echo "系統目前io磁盤負載:" >> /root/check_log/$d.log

iostat 1 10 | grep -v ^$ | grep -v Linux | grep -v dm | grep -v hdc >> /root/check_log/$d.log

find /root/check_log/ -mtime +6 |xargs rm -f