溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

shell腳本實(shí)現(xiàn)多臺(tái)服務(wù)器自動(dòng)巡檢--可參考學(xué)習(xí)

發(fā)布時(shí)間:2020-08-19 06:57:49 來(lái)源:ITPUB博客 閱讀:190 作者:不一樣的天空w 欄目:建站服務(wù)器

shell腳本實(shí)現(xiàn)多臺(tái)服務(wù)器自動(dòng)巡檢
 
摘要:
 
        運(yùn)維服務(wù)一個(gè)項(xiàng)目二十多臺(tái)(或者多臺(tái))服務(wù)器,每天要做服務(wù)器的性能巡檢工作是查看服務(wù)器的CPU、內(nèi)存、磁盤(pán)空間是否在正常值范圍內(nèi)。像這樣每天或者每 個(gè)固定時(shí)間段都做相同的重復(fù)工作,為了簡(jiǎn)化重復(fù)的工作,我寫(xiě)了基于liunx服務(wù)器的自動(dòng)巡檢腳本,在crontab中設(shè)定一個(gè)固定時(shí)間進(jìn)行自動(dòng)執(zhí)行即 可,以減少人工重復(fù)勞動(dòng)的工作。
 
環(huán)境:
 
        我的項(xiàng)目上主要服務(wù)器是LINUX和AIX兩種服務(wù)器,總數(shù)在30臺(tái)左右。現(xiàn)在的工作量是每周巡檢兩次,都是手動(dòng)登錄到每臺(tái)服務(wù)器使用相應(yīng)的命令查看服務(wù)器性能參數(shù)。
 
思路:
 
1、所有的服務(wù)器之間的網(wǎng)絡(luò)都是在同一個(gè)局域網(wǎng)內(nèi),所有網(wǎng)絡(luò)兩兩相通。
 
2、在其中選擇一臺(tái)性能相對(duì)較好或者是服務(wù)器運(yùn)行壓力較小的服務(wù)器,作為巡檢服務(wù)器。
 
3、通過(guò)這一服務(wù)器來(lái)實(shí)現(xiàn)對(duì)其他服務(wù)器的巡檢,然后把巡檢結(jié)果記錄到巡檢服務(wù)器上。
 
4、每臺(tái)服務(wù)器巡檢結(jié)果都以時(shí)間和ip做命名用來(lái)區(qū)分,最后將所有巡檢結(jié)果壓縮打包。
 
5、每次維護(hù)人員只需要定時(shí)去取這個(gè)壓縮包查看最后結(jié)果即可,免去了對(duì)每臺(tái)服務(wù)器都需要登錄和輸入相同的命令進(jìn)行查看。
 
具體實(shí)現(xiàn)腳本:  cat check.sh 

#! /bin/bash
echo "start running" | tee -a 
LANG=en
set `date`
path="/home/check"
echo "start running" | tee -a  $path/log/$1-$2-$3.log
if [ -d /home/check/result/$1-$2-$3 ];
 then
   echo ''
else
mkdir -p /home/check/result/$1-$2-$3
echo `date +"%Y/%m/%d-%H:%M:%S"` "create " "$1-$2-$3" "directory success "|tee -a $path/log/$1-$2-$3.log
fi
echo `date +"%Y/%m/%d-%H:%M:%S"` "starting reading linuxconfig.txt " |tee -a $path/log/$1-$2-$3.log
cat "$path"/config/linuxconfig.txt| while read line;
do
ip=`echo $line |cut -d '=' -f2`
echo `date +"%Y/%m/%d-%H:%M:%S"` "check LINUX " $ip " starting " |tee -a $path/log/$1-$2-$3.log
(
sleep 1
#echo account
 echo root

sleep 1
#echo password
 echo root

sleep 3
echo "free -k"
echo ""
echo "df -k"
echo ""

#memory_used_rate
echo "ps -ef| grep java"
echo ""
echo "netstat -an|egrep -n '80|22|21|23|9043|9044|45331|45332|39194|19195'"
echo ""
#echo "ifconfig -a "
echo  "/sbin/ip ad"
echo ""

echo " tail -2000  /var/log/messages | grep -v snmp |grep  -i  error "
echo ""
echo "/bin/dmesg  |grep -i error"
echo ""

echo "top -n1|sed -n '1,5p'"
echo "exit"
echo "/usr/bin/vmstat  1 3"
echo ""

sleep 5
)|telnet $ip >/home/check/result/$1-$2-$3/$ip-$1-$2-$3-$4.txt
echo `date +"%Y/%m/%d-%H:%M:%S"` "check LINUX " $ip " end" |tee -a $path/log/$1-$2-$3.log
echo "" | tee -a $path/log/$1-$2-$3.log
done
echo `date +"%Y/%m/%d-%H:%M:%S"` "end reading linuxconfig.txt  " |tee -a $path/log/$1-$2-$3.log
 
echo `date +"%Y/%m/%d-%H:%M:%S"` "starting reading AIXconfig.txt " | tee -a $path/log/$1-$2-$3.log
cat "$path"/config/AIXconfig.txt| while read line;
do
ip=`echo $line |cut -d '=' -f2`
echo `date +"%Y/%m/%d-%H:%M:%S"` "check IBM AIX " $ip " starting " |tee -a $path/log/$1-$2-$3.log
(
sleep 1
#echo account
 echo root

sleep 1
#echo password
 echo root
sleep 5
echo ""
#echo "df -k"
 echo "df -g"
echo ""

#memory_used_rate
echo "ps -ef| grep java"
echo ""
echo "netstat -an|egrep -n '80|22|21|23|9043|9044|45331|45332|39194|19195'"
echo ""
echo "ifconfig -a"
echo ""
echo "topas"
echo "exit"
sleep 5
)|telnet $ip >/home/check/result/$1-$2-$3/$ip-$1-$2-$3-$4.txt
echo `date +"%Y/%m/%d-%H:%M:%S"` "check IBM AIX " $ip " end " |tee -a $path/log/$1-$2-$3.log
echo "" | tee -a $path/log/$1-$2-$3.log
done
echo `date +"%Y/%m/%d-%H:%M:%S"` "end reading AIXconfig.txt " | tee -a $path/log/$1-$2-$3.log
zip -r /home/check/result/$1-$2-$3/$1-$2-$3.zip /home/check/result/$1-$2-$3/*
echo "End running " 注意:
 
該腳本的巡檢是基于TELNET服務(wù)所以被檢服務(wù)器必須開(kāi)啟TELNET服務(wù)

 

轉(zhuǎn)自:http://blog.chinaunix.net/uid-14824714-id-4181103.html


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI