Shell之批量監控主機磁碟使用率

2022-06-06 13:03:07 字數 1608 閱讀 5578

1)本地磁碟監控

use_rate_list=$(df -h |awk '

/^\/dev/

') #結果/dev/sda1=10

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%!"fi

done

2)少台主機磁碟監控

host_ip=(192.168.1.130

192.168.1.131

)host_sum=$

tmp_file=/tmp/mon_host_disk.tmp

for ((i=0;i<$host_sum;i++)); do

ssh root@$

'df -h

' >$tmp_file

use_rate_list=$(awk '

/^\/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%!"fi

done

done

3)多台主機磁碟監控

思路:前提監控端和被監控端可以ssh免互動認證,應寫乙個配置檔案儲存遠端主機登陸資訊

遠端主機使用者資訊檔案格式:ip user port

例如:

$ cat host_info.txt

192.168.1.130 root 22

host_info=./host_info.txt

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/mon_host_disk.tmp

ssh -p $port $user@$ip '

df -h

' >$tmp_file

use_rate_list=$(awk '

/^\/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%!"fi

done

done

使用shell批量監控磁碟壞塊 二

之前分享了第一篇 使用shell批量監控磁碟壞塊 一 今天來簡單說說這個需求的實現內容 首先主要思路是通過中控的機器來傳送監控的細節,然後返回結果。首先就是我們需要有乙個伺服器列表,裡面會有這些需要的元資料資訊。比如列表如下 192.127.133.13 某某服務中心主庫 jeanron prima...

python監控主機磁碟

通過python實現主機磁碟的使用情況,使用influxdb grafana來可是互展示 usr bin env python coding utf 8 import os import re import json import time from influxdb import influxdb...

expect 批量監控主機

oracle oaprimary shell cat expect.sh while read line douser echo line awk ip echo line awk passwd echo line awk 把shell中的 user ip passwd引數傳遞給expect指令碼 ...