您好,登錄后才能下訂單哦!
距離上一次更新文章已經過去一段時間了,小編在這段時間因為一些瑣事,加上身體生病不能及時更新文章,今天身體逐漸恢復就急忙來更新文章,今天思夢給大家帶來的就是如何自動化監控我們的服務器一些基本的配置來保證我們應用能更好的運行以及做好性能瓶頸的預測!
今天主要內容包含,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:
我們先創建一個simengphp.txt,然后我們想獲取一下simengphp這個字符串這行,我們可以這樣操作
這樣我們就可以獲取到了simengphp這行
4)awk這個命令比較復雜,我們直接講怎么使用,awk '{print $i}' 意思為默認使用空格(不規則的,cut要規則)或者制表符分割,后面配合例子來給大家講解
好了基本的命令給大家講完了,我們現在需要做的就是動手去寫Shell腳本來去實現我們的功能了
首先第一個我們來寫監控內存的腳本,我們還要使用一條命令:free -h
這樣我們就看到了第一行內存使用的狀況了:那我們想要的是free這列值來進行監控,那么我們就一步一步去獲取這行的值
1)先展示出來所有的,然后我們通過管道以此交給下一條命令去處理
2)我們使用grep這個命令獲取到我們想要的這樣
3)通過awk命令我們獲取到第四列然后并打印出來,$后面跟的是我們要打印的那列,print是和awk配合使用的,linux下print是不能單獨使用的
4)后面再通過cut這個命令使用M來切分值,就能獲取到了我們想要的值了
以上我們只是演示一下怎么獲取我們想要的值,后面我們就直接開始寫Shell腳本了:
我們運行一下返回的是else里面的值,因為我們剛才看到的是204,正好大于200因此沒有報警操作!
那監控內存的功能大家看明白了后面監控硬盤空間的功能也是一樣的,我直接給大家上腳本了
以上就是我們通過Shell腳本來實現自動化監控內存和使用硬盤空間的操作,然后我們通過定時任務去執行相應的腳本就可以了
腳本很粗糙,還有一些需要改進的地方,希望小伙伴們研究明白之后可以去優化一下然后去監控你們的服務器吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。