監測系統的情況,你必須知道的兩三事!

2021-08-27 14:32:20 字數 2487 閱讀 5566

你要是系統運維人員,就要實時的監控系統的一些重要引數,不如殭屍程序,cpu的利用率,記憶體的使用情況,磁碟空間的使用情況,系統的均衡負載,根據得到的最新資訊,我們就能判斷系統執行的狀態是否良好。本人接觸linux系統也有一點時間,在網上看看了,經過整理,將一些常用的系統監控的命令shell指令碼拿出來曬曬,希望給新手提供學習的機會,同時也希望經驗豐富者提夠些技術知道,多多**交流!

獲得某個使用者的某個進行的資訊:

function getpid #user #name

'` echo $pid

}pid=`getpid lgy cat`

echo $pid

#the process does not exist.

if [ "-$pid" == "-" ]

then

fi

這裡面

涉及一些最基本的程序監控命令,在linux中你只要man ps就會得到很多使用說明,grep按照一定的匹配規則進行字串分割匹配,還有一些簡單的控制語句,這些基本的shell語法應該是我們的基本技能,在晚上會有很多的學習資料。

獲得cpu的使用率:

function getcpu

' | awk -f. ''`

echo $cpuvalue

}function checkcpu

else

fi}checkcpu $pid

這個程式和上乙個**片段是一脈相承,本段**的執行結果一會會有相應的展示!

這段指令碼的主要目的是用來進行對某個程序的記憶體使用情況的檢測:

function getmem

mem=`getmem $pid`

if [ $mem -gt 1600 ]

then

else

fi

這是用來進行獲得此程序的控制代碼使用量:

function getdes

des=`getdes $pid`

if [ $des -gt 900 ]

then

else

fi

進行對某個埠的繫結的查詢:

function listening

' | wc -l`

udplistennum=`netstat -an | grep ":$1 " | awk '$1 == "udp" && $nf == "0.0.0.0:*" ' | wc -l`

((listeningnum = tcplisteningnum + udplistennum ))

if [ $listeningnum == 0 ]

then

else

fi}islisten=`listening 8080`

if [ $islisten -eq 1 ]

then

else

fi

系統cpu

的使用情況:

function getsyscpu

end ' | awk -f. ''`

cpunum=`echo "100-$cpuidle" | bc`

echo $cpunum

}cpu=`getsyscpu`

echo "the system cpu is $cpu"

if [ $cpu -gt 90 ]

then

else

fi

獲得某制定的磁碟空間:

function getdiskspc

' | awk -f% ''`

echo $diskspace

}folder="/dev"

diskspace=`getdiskspc $folder`

echo "the system $folder disk space is $diskspace%"

if [ $diskspace -gt 90 ]

then

else

fi

在本機上**檢測的結果

如下:

lgy@lgy-hp:~$ ./monitorcpu.sh 

2388

the usage of cpu is normal

the usage of memory is normal

the number of des is normal

the port is not listening

the system cpu is 1

the usage of system cpu is normal

the system /dev disk space is 1%

the usage of system disk(/dev) is normal

Linux世界你必須知道的

突然從windows世界轉向linux世界,也許剛開始或多或少都有點不太適應,慢慢地,也許你會發現linux的博大精深,最重要的是linux世界的很多東西都是free license,下面列舉一下linux世界你需要或必須知道的二三事。unix like 叫做 類unix 系統,主要指各種各樣的li...

你必須知道的關於tcp keepalive 設定

1.引數設定 檢視相關的引數 sysctl a grep tcp keepalive net.ipv4.tcp keepalive intvl 30 net.ipv4.tcp keepalive probes 2 net.ipv4.tcp keepalive time 160 設定相關的引數 sys...

關於 Linux shell 你必須知道的

我個人很喜歡使用 linux 系統,雖然說 windows 的圖形化介面做的確實比 linux 好,但是對指令碼的支援太差了。一開始有點不習慣命令列操作,但是熟悉了之後反而發現移動滑鼠點點點才是浪費時間的罪魁禍首。那麼對於 linux 命令列,本文不是介紹某些命令的用法,而是說明一些簡單卻特別容易讓...