shell 監控CPU 記憶體和硬碟利用率

2021-09-17 01:25:09 字數 2395 閱讀 4665

1)cpu

借助vmstat工具來分析cpu統計資訊。

#!/bin/bash

date=$(date +%f" "%h:%m)

ip=$(ifconfig eth0 |awk -f '[ :]+' '/inet addr/')  # 只支援centos6

mail="[email protected]"

if ! which vmstat &>/dev/null; then

echo "vmstat command no found, please install procps package." 

exit 1

fius=$(vmstat |awk 'nr==3')

sy=$(vmstat |awk 'nr==3')

idle=$(vmstat |awk 'nr==3')

wait=$(vmstat |awk 'nr==3')

use=$(($us+$sy))

if [ $use -ge 50 ]; then

echo "

date: $date

host: $ip

problem: cpu utilization $use

" | mail -s "cpu monitor" $mail

fi

2)記憶體

#!/bin/bash

date=$(date +%f" "%h:%m)

ip=$(ifconfig eth0 |awk -f '[ :]+' '/inet addr/')  

mail="[email protected]"

total=$(free -m |awk '/mem/')

use=$(free -m |awk '/mem/')

free=$(($total-$use))

# 記憶體小於1g傳送報警郵件

if [ $free -lt 1024 ]; then

echo "

date: $date

host: $ip

problem: total=$total,use=$use,free=$free

" | mail -s "memory monitor" $mail

fi

3)硬碟

#!/bin/bash

date=$(date +%f" "%h:%m)

ip=$(ifconfig eth0 |awk -f '[ :]+' '/inet addr/')  

mail="[email protected]"

total=$(fdisk -l |awk -f'[: ]+' 'begin/^disk \/dev/')

part_use=$(df -h |awk 'begin/^\/dev/')

for i in $part_use; do

part=$(echo $i |cut -d"=" -f1)

use=$(echo $i |cut -d"=" -f2)

mount=$(echo $i |cut -d"=" -f3)

if [ $use -gt 80 ]; then

echo "

date: $date

host: $ip

total: $total

problem: $part=$use($mount)

" | mail -s "disk monitor" $mail

fidone

前提監控端和被監控端ssh免互動登入或者金鑰登入。

寫乙個配置檔案儲存被監控主機ssh連線資訊,檔案內容格式:ip user port

#!/bin/bash

host_info=host.info

for ip in $(awk '/^[^#]/' $host_info); do

user=$(awk -v ip=$ip 'ip==$1' $host_info)

port=$(awk -v ip=$ip 'ip==$1' $host_info)

tmp_file=/tmp/disk.tmp

ssh -p $port $user@$ip 'df -h' > $tmp_file

use_rate_list=$(awk 'begin/^\/dev/' $tmp_file)

for use_rate in $use_rate_list; do

part_name=$

use_rate=$

if [ $use_rate -ge 80 ]; then

echo "warning: $part_name partition usage $use_rate%!"

fidone

done

監控cpu 記憶體

pid 1 獲取程序pid echo pid interval 1 設定採集間隔 while true do echo date y m d h m s proc memlog.txt cat proc pid status grep e vmrss proc memlog.txt 獲取記憶體占用 ...

CPU,記憶體與硬碟

電腦之父 馮 諾伊曼 提出了組成計算機的五大部件 輸入裝置 輸出裝置 儲存器 運算器和控制器。主機板cpu 硬碟記憶體 顯示卡電源 連線所有其他裝置的裝置,是其他裝置的載體,主機板主要是為cpu 記憶體 顯示卡 硬碟等提供平台,相當於人體的軀幹,關聯著各個器官。處理單元 cntral pocessi...

centos CPU 記憶體 硬碟 監控

vmstat 1 vmstat是linux系統監控工具,使用vmstat命令可以得到關於程序 記憶體 記憶體分頁 堵塞io traps及cpu活動的資訊。r 執行佇列中的程序數 b 等待io的程序數。swpd 已用虛擬記憶體大小 k free 空閒記憶體大小 buff 已用緩衝大小 cache 已用...