閱讀813 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Linux下自動化監控內存、存儲空間!

距離上一次更新文章已經過去一段時間了,小編在這段時間因為一些瑣事,加上身體生病不能及時更新文章,今天身體逐漸恢複就急忙來更新文章,今天思夢給大家帶來的就是如何自動化監控我們的服務器一些基本的配置來保證我們應用能更好的運行以及做好性能瓶頸的預測!

今天主要內容包含,Linux的基礎Shell編程的流程控製語句、cut的使用、grep的使用、以及awk的使用就可以實現我們所說的事情了!

以下所講命令配合不同的參數有不同的用處,思夢給大家講的都是一些為了實現所說功能的基礎使用,小夥伴們如果想更好的使用以下命令可以參考文檔去嚐試配合不同參數來實驗!

1)首先講一下Shell的流程控製語句if,格式為

if command;then

邏輯處理

else

邏輯處理

fi

以上需要注意的就是if最後的結尾要有一個fi

2)cut的基本使用,它可以用一些規律性的分隔符去獲取某一行

for example : a:b 這樣一行字符串,我們想獲取a,那麼我們可以這樣寫:cut -d ":" -f 1 它的意思為:使用:分割然後獲取第一行,-d後麵接的就是用什麼符號分割,題目上是" ",當然也能是" ;"等等,再後麵的-f是我要打印輸出的第幾列

3)grep這個命令是強大的文本搜索工具,比如我們在一個文本裏麵想搜

for example:

Linux下自動化監控內存、存儲空間!

我們先創建一個simengphp.txt,然後我們想獲取一下simengphp這個字符串這行,我們可以這樣操作

Linux下自動化監控內存、存儲空間!

這樣我們就可以獲取到了simengphp這行

4)awk這個命令比較複雜,我們直接講怎麼使用,awk '{print $i}' 意思為默認使用空格(不規則的,cut要規則)或者製表符分割,後麵配合例子來給大家講解

好了基本的命令給大家講完了,我們現在需要做的就是動手去寫Shell腳本來去實現我們的功能了

首先第一個我們來寫監控內存的腳本,我們還要使用一條命令:free -h

這樣我們就看到了第一行內存使用的狀況了:那我們想要的是free這列值來進行監控,那麼我們就一步一步去獲取這行的值

1)先展示出來所有的,然後我們通過管道以此交給下一條命令去處理

Linux下自動化監控內存、存儲空間!

2)我們使用grep這個命令獲取到我們想要的這樣

Linux下自動化監控內存、存儲空間!

3)通過awk命令我們獲取到第四列然後並打印出來,$後麵跟的是我們要打印的那列,print是和awk配合使用的,linux下print是不能單獨使用的

Linux下自動化監控內存、存儲空間!

4)後麵再通過cut這個命令使用M來切分值,就能獲取到了我們想要的值了

Linux下自動化監控內存、存儲空間!

以上我們隻是演示一下怎麼獲取我們想要的值,後麵我們就直接開始寫Shell腳本了:

Linux下自動化監控內存、存儲空間!

我們運行一下返回的是else裏麵的值,因為我們剛才看到的是204,正好大於200因此沒有報警操作!

Linux下自動化監控內存、存儲空間!

那監控內存的功能大家看明白了後麵監控硬盤空間的功能也是一樣的,我直接給大家上腳本了

Linux下自動化監控內存、存儲空間!

以上就是我們通過Shell腳本來實現自動化監控內存和使用硬盤空間的操作,然後我們通過定時任務去執行相應的腳本就可以了

腳本很粗糙,還有一些需要改進的地方,希望小夥伴們研究明白之後可以去優化一下然後去監控你們的服務器吧!

最後更新:2017-11-19 20:04:02

  上一篇:go  想要成為Linux大神,你應該和我一樣這樣做!
  下一篇:go  微信企業付款到個人錢包引發的坑之反思~