Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> 一般的に使用されているLinux監視スクリプトのいくつか

一般的に使用されているLinux監視スクリプトのいくつか

  

最近、cacti、nagios監視などのオープンソースソフトウェアを使用して、自分のシェルスクリプトを作成することができますか。自分のニーズに従って作成されたシェルスクリプトは、ニーズをより満たすことができ、ホスト監視の包括性をさらに向上させることができます。

以下は私が使用している一般的なホスト監視スクリプトですが、状況に応じて変更することができます。

1.ホストのNICトラフィックを表示します。

#! /bin /bash

#network

#Mike.Xu

while:; do

time =‘ date +%m' - ' %d'%k':&&quoquo;%M>

day =‘ date +%m' - '%d’

rx_before =‘ ifconfig eth0 | Sed -n' 8' p | Awk’ {print $ 2}‘ | 切り取り-c7-’

tx_before =‘ ifconfig eth0 | Sed -n' 8' p | Awk’ {print $ 6}‘ | 切り取り-c7-’

sleep 2

rx_after =‘ ifconfig eth0 | cut Sed -n' 8' p | Awk’ {print $ 2}‘ | 切り取り-c7-’

tx_after =‘ ifconfig eth0 | Sed -n' 8' p | Awk’ {print $ 6}‘ | 切り取り-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

2、システムステータスの監視

2 p>#! /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' 》≫。 /temp/mnt_storage_pic.txt

時間=日付+%m' '%d'%k':'%M

connect = netstat -na |  Grep' 219.238.148.30:80' |  Wc -l <​​br>

echo' $ time $ connect' 》≫。 /temp/connect_count.txt

3.ホストのディスク容量を監視し、使用容量が90%を超えたら、#!というメッセージを送信して警告を送信します。 /bin /bash

#モニターの空きディスク容量

SPACE =‘ df |  Sed -n’ /\\ /$ /p‘ |  Gawk’ {print $ 5}‘ |  Sed’ s /%//‘

if [$ SPACE -ge 90]

then

[email protected]

fi < Br>

4、CPUとメモリの使用量を監視します。

#! /bin /bash

#システム統計情報をキャプチャするスクリプト

OUTFILE = /home /xu /capstats.csv

DATE =’ date +%m /%d /%Y<> TIME =’ date +%k:%s:< p> TIMEOUT =’< uptime>;< p> 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' $ DIME、$ USERS、$ LOAD、$ FREE、$ IDLE' 》≫ $ OUTFILE

5、全方向監視ホスト

#! /bin /bash

#check_xu.sh

#0 * * * * /home/check_xu.sh

DAT ='日付+%Y%m%d'

HOUR =' date +%H'

DIR =' /home /oslog /host _ $ {DAT} /$ {HOUR}'

DELAY = 60

COUNT = 60

#担当ディレクトリが存在するかどうか
-d $ {DIR}

をテストし、次に

/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&

#メモリチェック

/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&

1時間ごとに自動的にcrontabに配置されます。実行:

0 * * * * /home/check_xu.sh

これにより、/home /oslog /host_yyyymmdd /hhディレクトリ内のCPU、メモリ、ネットワーク、およびIOの各時間についての統計が生成されます。

一定期間内に問題が発生した場合は、対応するログ情報に移動してその時点のホストのパフォーマンスを確認できます。

Copyright © Windowsの知識 All Rights Reserved