linux 基本服務檢測腳本

linux 基本服務檢測腳本
linux

     這裏是我本身寫的一些監控linux基本服務的腳本,基於公司的實際生產環境,公司已經在使用zabbix,可是因爲和公司要求不符合,這裏就都使用了本身手寫的腳本進行取值,有不合理的地方但願你們可以指出來。bash


1. cpu_load.sh 
ide

#!/bin/bashspa

#這裏是作的一個cpu load負載的一個腳本,取的值爲一分鐘。ip

 uptime | awk '{print $10}' | awk -F "," '{print $1}'內存

2.  cpu_used.sh it

#!/bin/bashio

#這裏取值取的是cpu的使用百分比, 單位%class

File=cpu_`date +%Y%m%d`awk

sar -u >/tmp/$File

free=`tac /tmp/$File|sed -n 2p|awk '{print $NF}'`

echo $free|awk '{printf "%.2f\n", 100-$1}'


 3. Mem_free.sh 

#!/bin/bash

# 這個一個計算內存可用容量腳本 可用容量等於free+buffers+cached,單位爲M

Free=`free -m| grep Mem| awk '{print $4}'`

Buffers=`free -m| grep Mem| awk '{print $6}'`

Cached=`free  -m| grep Mem| awk '{print $7}'`

Avial=$(($Free+$Bufers+$Cached))

echo $Avial

4. Mem_total.sh 

#!/bin/bash

#單位名稱爲M

free -m | grep Mem| awk  '{print $2}'


5. Mem_usage.sh 

#!/bin/bash

#這個一個計算內存可用使用率腳本 可用容量等於free/total

Free=`free -m| grep Mem| awk '{print $4}'`

Buff=`free -m| grep Mem| awk '{print $6}'`

Cach=`free -m| grep Mem| awk '{print $7}'`

Total=`free -m | grep Mem| awk '{print $2}'`

Tused=$(($Total-$Free-$Buff-$Cach))

echo "$Tused $Total"|awk '{printf ("%.2f\n",$1*100/$2)}' 


6.IO_read.sh 

#!/bin/bash

#原始單位:塊  換算單位:M

file=ior_`date +%Y%m%d`

sar -b > /tmp/$file

Read=`tac /tmp/$file|sed -n 2p|awk '{print $(NF-1)}'`

echo $Read|awk '{printf  ("%.2f\n", $1*4/1024)}'

 

7.IO_write.sh 

#!/bin/bash

#原始單位:K  換算單位:M

file=iow_`date +%Y%m%d`

sar -b > /tmp/$file

Write=`tac /tmp/$file|sed -n 2p|awk '{print $NF}'`

echo $Write|awk '{printf ("%.2f\n", $1*4/1024)}'



8. disk_total.sh 

#!/bin/bash

#這裏取值取的是disk total值,單位名稱是GB

df -hT| grep '/$'| awk '{print $2}'| awk '{print$1}'|sed 's/G//g'  


9. disk_usage.sh 

#!/bin/bash

#這裏取值取的是disk 使用率值,單位名稱是%

df -hT| grep '/$'| awk '{print $5}'| awk '{print$1}'|sed 's/%//g'


10. disk_used.sh 

#!/bin/bash

#這個是取值 取的是disk used的值,單位是GB

df -hT| grep '/$'| awk '{print $3}'| awk '{print$1}'|sed 's/G//g'


11.  Network_in.sh 

#!/bin/bash

#這是一個檢測網卡入口流量的腳本,單位名稱爲Mb

File=net_`date +%Y%m%d`

for i in `ls /etc/sysconfig/network-scripts/|grep ifcfg|grep -v lo|awk -F "-" '{print $2}'`

do

mii-tool $i >/dev/null 2>&1

if [ $? -eq 0 ];

then

   sar -n DEV 1 2|grep $i >/tmp/$File

   Net_in=`tac /tmp/$File|sed -n 2p|awk '{print $6}'`

   echo $Net_in|awk '{printf  ("%.2f\n", $1*8/1000)}'

 else

   continue

fi

done


12. Network_out.sh 

#!/bin/bash

# 這是一個檢測網卡出口流量的腳本,單位名稱爲Mb

File=net_`date +%Y%m%d`

for i in `ls /etc/sysconfig/network-scripts/|grep ifcfg|grep -v lo|awk -F "-" '{print $2}'`

do

mii-tool $i >/dev/null 2>&1

if [ $? -eq 0 ];

then

   sar -n DEV 1 2|grep $i >/tmp/$File

   Net_out=`tac /tmp/$File|sed -n 2p|awk '{print $7}'`

   echo $Net_out|awk '{printf  ("%.2f\n", $1*8/1000)}'

 else

   continue

fi

done

相關文章
相關標籤/搜索