1, view the host network card traffic
| The code is as follows |
Copy Code |
|
#!/bin/bash
#!/bin/bash
#network
#Mike. Xu
While:; Todo
Time= ' Date +%m '-"%d" "%k": "%m"
day= ' Date +%m '-'%d '
Rx_before= ' ifconfig eth0|sed-n "8" P|awk ' {print $} ' |cut-c7-'
Tx_before= ' ifconfig eth0|sed-n "8" P|awk ' {print $} ' |cut-c7-'
Sleep 2
Rx_after= ' ifconfig eth0|sed-n "8" P|awk ' {print $} ' |cut-c7-'
Tx_after= ' ifconfig eth0|sed-n "8" P|awk ' {print $} ' |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 2
Done
Done
|
2. System condition Monitoring
| code is as follows |
copy code |
|
#!/bin/sh
#systemstat. SH
#Mike. Xu
ip=192.168.1.227
top-n 2| grep "Cpu" >>./temp/cpu.txt
Free-m | grep Mem >>/temp/mem.txt
df-k | grep "sda1" >>./temp/drive_sda1.txt
#df-k | grep sda2 >>/temp /drive_sda2.txt
Df-k | grep "/mnt/storage_0" >>/temp/mnt_storage_0.txt
Df-k | grep "/mnt/storage_pic" &G t;>./temp/mnt_storage_pic.txt
time= ' Date +%m '. %d ""%k ":"%m '
connect= ' Netstat-na | grep "219.238.148.30:80" | Wc-l '
Echo $time $connect >>./temp/connect_count.txt |
3, monitoring the host's disk space, when the use of more than 90% in space by sending mail to send a warning
| The code is as follows |
Copy Code |
#!/bin/bash
#monitor Available disk space
Space= ' DF | Sed-n '//$/P ' | Gawk ' {print $} ' | Sed ' s/%//'
If [$SPACE-ge 90]
Then
Send mail
Fi |
4. Monitor CPU and Memory usage
| The code is as follows |
Copy Code |
|
#!/bin/bash
#script to capture system statistics
Outfile=/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 $} '
Load= ' echo $TIMEOUT | Gawk ' {print $} ' | Sed "s/,//"
Free= ' echo $VMOUT | Sed-n '/[0-9]/p ' | Sed-n ' 2p ' | Gawk ' {print $} '
Idle= ' echo $VMOUT | Sed-n '/[0-9]/p ' | Sed-n ' 2p ' |gawk ' {print $} '
echo "$DATE, $TIME, $USERS, $LOAD, $FREE, $IDLE" >> $OUTFILE |
5, the Omni-directional monitoring host
| The code is as follows |
Copy Code |
|
#!/bin/bash
# check_xu.sh
# 0 * * * * */home/check_xu.sh
dat= "' Date +%y%m%d '"
Hour= "' Date +%h '"
Dir= "/home/oslog/host_${dat}/${hour}"
Delay=60
Count=60
# whether the responsible directory exist
if! Test-d ${dir}
Then
/bin/mkdir-p ${dir}
Fi
# General Check
Export 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 & |
Put it in the crontab. Automatic execution per hour:
| The code is as follows |
Copy Code |
|
1 0 * * * * */home/check_xu.sh |
This generates the CPU, memory, network, IO statistics for each hour in the/HOME/OSLOG/HOST_YYYYMMDD/HH directory.
If a time period problem arises, you can look at the corresponding log information, to see how the host performance.